Game api additions, Refactoring, Translation api edits
This commit is contained in:
@ -23,7 +23,6 @@ public class Countdown {
|
||||
CountdownModifier countdownModifier = new CountdownModifier(count.getAndDecrement());
|
||||
modifier.accept(countdownModifier);
|
||||
countdownModifier.message.send(targets);
|
||||
System.out.println("SEND TITLE" + System.currentTimeMillis());
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ public abstract class TranslatableMessage implements Sendable {
|
||||
}
|
||||
|
||||
public TranslatableMessage appendTranslated(String mapId) {
|
||||
chain.add(new TranslatedComponent(mapId));
|
||||
chain.add(TranslatedComponent.raw(mapId));
|
||||
return this;
|
||||
}
|
||||
|
||||
@ -67,7 +67,7 @@ public abstract class TranslatableMessage implements Sendable {
|
||||
public Component build(Player p) {
|
||||
ComponentBuilder out = Component.text();
|
||||
chain.forEach(componentLike -> {
|
||||
if(componentLike instanceof Translatable t) t.compute(p);
|
||||
if(componentLike instanceof Translatable t) t.assemble(p);
|
||||
|
||||
out.append(componentLike);
|
||||
});
|
||||
|
@ -0,0 +1,14 @@
|
||||
package eu.mhsl.minenet.minigames.message.component;
|
||||
|
||||
|
||||
public class NamespacedTranslatable {
|
||||
private String namespace;
|
||||
|
||||
public NamespacedTranslatable(String namespace) {
|
||||
this.namespace = namespace;
|
||||
}
|
||||
|
||||
public TranslatedComponent get(String mapId) {
|
||||
return TranslatedComponent.raw(namespace + mapId);
|
||||
}
|
||||
}
|
@ -3,5 +3,5 @@ package eu.mhsl.minenet.minigames.message.component;
|
||||
import net.minestom.server.entity.Player;
|
||||
|
||||
public interface Translatable {
|
||||
void compute(Player p);
|
||||
void assemble(Player p);
|
||||
}
|
||||
|
@ -10,16 +10,30 @@ public class TranslatedComponent implements ComponentLike, Translatable {
|
||||
private String mapId;
|
||||
private String result;
|
||||
|
||||
public TranslatedComponent(String mapId) {
|
||||
public static TranslatedComponent raw(String mapId) {
|
||||
return new TranslatedComponent(mapId);
|
||||
}
|
||||
|
||||
private TranslatedComponent(String mapId) {
|
||||
this.mapId = mapId;
|
||||
}
|
||||
|
||||
public void compute(Player p) {
|
||||
public void assemble(Player p) {
|
||||
result = Languages.getInstance().getLanguage(p).getEntry(mapId);
|
||||
}
|
||||
|
||||
public void assemble(String language) {
|
||||
result = Languages.getInstance().getLanguage(language).getEntry(mapId);
|
||||
}
|
||||
|
||||
public Component getAssembled(Player p) {
|
||||
this.assemble(p);
|
||||
return asComponent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @NotNull Component asComponent() {
|
||||
assemble(Languages.getInstance().getLanguage(Languages.defaultLanguage).getEntry(mapId));
|
||||
return Component.text(result);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user