Skip to content

Commit

Permalink
perf: Improved performance of Formatter class
Browse files Browse the repository at this point in the history
  • Loading branch information
4drian3d committed Apr 25, 2022
1 parent 9cf53f2 commit 4e7dc0a
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 29 deletions.
@@ -1,15 +1,30 @@
package me.dreamerzero.chatregulator.placeholders.formatter;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;

public interface IFormatter {
Component parse(String string);
Component parse(
final @NotNull String string
);

Component parse(String string, TagResolver extraResolver);
Component parse(
final @NotNull String string,
final @NotNull TagResolver extraResolver
);

Component parse(String string, Audience audience);
Component parse(
final @NotNull String string,
final @Nullable Audience audience
);

Component parse(String string, Audience audience, TagResolver extraResolver);
Component parse(
final @NotNull String string,
final @Nullable Audience audience,
final @NotNull TagResolver extraResolver
);
}
@@ -1,5 +1,8 @@
package me.dreamerzero.chatregulator.placeholders.formatter;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import me.dreamerzero.miniplaceholders.api.MiniPlaceholders;
import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component;
Expand All @@ -9,38 +12,54 @@
public final class MiniPlaceholderFormatter implements IFormatter {

@Override
public Component parse(String string) {
TagResolver global = MiniPlaceholders.getGlobalPlaceholders();
return MiniMessage.miniMessage().deserialize(string, global);
public Component parse(
final @NotNull String string
) {
return MiniMessage.miniMessage().deserialize(
string,
MiniPlaceholders.getGlobalPlaceholders()
);
}

@Override
public Component parse(String string, Audience audience) {
public Component parse(
final @NotNull String string,
final @Nullable Audience audience
) {
if(audience == null){
return parse(string);
}
TagResolver resolver = TagResolver.resolver(
MiniPlaceholders.getAudiencePlaceholders(audience),
MiniPlaceholders.getGlobalPlaceholders());
return MiniMessage.miniMessage().deserialize(string, resolver);
return MiniMessage.miniMessage().deserialize(
string,
MiniPlaceholders.getAudienceGlobalPlaceholders(audience)
);
}

@Override
public Component parse(String string, Audience audience, TagResolver extraResolver) {
public Component parse(
final @NotNull String string,
final @Nullable Audience audience,
final @NotNull TagResolver extraResolver
) {
if(audience == null){
return parse(string, extraResolver);
}
TagResolver resolver = TagResolver.resolver(
MiniPlaceholders.getGlobalPlaceholders(),
MiniPlaceholders.getAudiencePlaceholders(audience),
extraResolver);
return MiniMessage.miniMessage().deserialize(string, resolver);
return MiniMessage.miniMessage().deserialize(
string,
MiniPlaceholders.getAudienceGlobalPlaceholders(audience),
extraResolver
);
}

@Override
public Component parse(String string, TagResolver extraResolver) {
TagResolver global = TagResolver.resolver(MiniPlaceholders.getGlobalPlaceholders(), extraResolver);
return MiniMessage.miniMessage().deserialize(string, global);
public Component parse(
final @NotNull String string,
final @NotNull TagResolver extraResolver
) {
return MiniMessage.miniMessage().deserialize(
string,
MiniPlaceholders.getGlobalPlaceholders(),
extraResolver
);
}

}
@@ -1,5 +1,8 @@
package me.dreamerzero.chatregulator.placeholders.formatter;

import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
Expand All @@ -8,23 +11,34 @@
public final class NormalFormatter implements IFormatter {

@Override
public Component parse(String string) {
public Component parse(
final @NotNull String string
) {
return MiniMessage.miniMessage().deserialize(string);
}

@Override
public Component parse(String string, Audience audience) {
return MiniMessage.miniMessage().deserialize(string);
public Component parse(
final @NotNull String string,
final @Nullable Audience audience
) {
return this.parse(string);
}

@Override
public Component parse(String string, Audience audience, TagResolver extraResolver) {
return MiniMessage.miniMessage().deserialize(string, extraResolver);
public Component parse(
final @NotNull String string,
final @Nullable Audience audience,
final @NotNull TagResolver extraResolver
) {
return this.parse(string, extraResolver);
}

@Override
public Component parse(String string, TagResolver extraResolver) {
public Component parse(
final @NotNull String string,
final @NotNull TagResolver extraResolver
) {
return MiniMessage.miniMessage().deserialize(string, extraResolver);
}

}

0 comments on commit 4e7dc0a

Please sign in to comment.