Skip to content

Commit

Permalink
1.1.5
Browse files Browse the repository at this point in the history
  • Loading branch information
jpenilla committed Jul 29, 2020
1 parent 6556e92 commit 574eca6
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 44 deletions.
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>xyz.jpenilla</groupId>
<artifactId>MiniMOTD</artifactId>
<version>1.1.4</version>
<version>1.1.5</version>
<packaging>jar</packaging>

<name>MiniMOTD</name>
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/xyz/jpenilla/minimotd/bungee/BungeeConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ public void reload() {

getMotds().clear();
getMotds().addAll(config.getStringList(MOTDS));
getMotdsLegacy().clear();
getMotdsLegacy().addAll(config.getStringList(MOTDS_LEGACY));
setMotdEnabled(config.getBoolean(MOTD_ENABLED));
setMaxPlayersEnabled(config.getBoolean(MAX_PLAYERS_ENABLED));
setJustXMoreEnabled(config.getBoolean(JUST_X_MORE_ENABLED));
Expand Down
18 changes: 9 additions & 9 deletions src/main/java/xyz/jpenilla/minimotd/bungee/PingListener.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
import net.md_5.bungee.api.ServerPing;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.event.ProxyPingEvent;
import net.md_5.bungee.api.plugin.Listener;
import net.md_5.bungee.chat.ComponentSerializer;
Expand All @@ -15,6 +15,9 @@

public class PingListener implements Listener {
private final BungeeConfig cfg;
private final MiniMessage miniMessage = MiniMessage.get();
private final LegacyComponentSerializer legacySerializer = LegacyComponentSerializer.builder().build();
private final GsonComponentSerializer gsonSerializer = GsonComponentSerializer.builder().build();

public PingListener(MiniMOTD miniMOTD) {
this.cfg = miniMOTD.getCfg();
Expand Down Expand Up @@ -51,15 +54,12 @@ public void onPing(ProxyPingEvent e) {
players.setMax(maxPlayers);

if (cfg.isMotdEnabled()) {
final String temp;
if (e.getConnection().getVersion() >= 735 || cfg.getMotdsLegacy().size() == 0) {
temp = cfg.getMOTD(onlinePlayers, maxPlayers);
} else {
temp = cfg.getLegacyMOTD(onlinePlayers, maxPlayers);
Component motd = miniMessage.parse(cfg.getMOTD(onlinePlayers, maxPlayers));
if (e.getConnection().getVersion() < 735) {
motd = legacySerializer.deserialize(legacySerializer.serialize(motd));
}
final Component motd = MiniMessage.get().parse(temp);
final BaseComponent component = ComponentSerializer.parse(GsonComponentSerializer.builder().build().serialize(motd))[0];
response.setDescriptionComponent(component);

response.setDescriptionComponent(ComponentSerializer.parse(gsonSerializer.serialize(motd))[0]);
//response.setDescriptionComponent(BungeeCordComponentSerializer.get().serialize(motd)[0]);
}

Expand Down
19 changes: 4 additions & 15 deletions src/main/java/xyz/jpenilla/minimotd/common/MiniMOTDConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@
import lombok.experimental.FieldNameConstants;

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

@FieldNameConstants
public abstract class MiniMOTDConfig {
public final String MOTDS = "motd." + Fields.motds;
public final String MOTDS_LEGACY = "motd." + Fields.motdsLegacy;
public final String MOTD_ENABLED = "motd." + Fields.motdEnabled;
public final String MAX_PLAYERS_ENABLED = Fields.maxPlayers + "." + Fields.maxPlayersEnabled;
public final String JUST_X_MORE_ENABLED = Fields.maxPlayers + "." + Fields.justXMoreEnabled;
Expand All @@ -20,7 +18,6 @@ public abstract class MiniMOTDConfig {
public final String FAKE_PLAYERS_ENABLED = "bungeeOnly." + Fields.fakePlayersEnabled;
public final String FAKE_PLAYERS = "bungeeOnly." + Fields.fakePlayers;
@Getter private final ArrayList<String> motds = new ArrayList<>();
@Getter private final ArrayList<String> motdsLegacy = new ArrayList<>();
@Getter @Setter private boolean motdEnabled;
@Getter @Setter private boolean maxPlayersEnabled;
@Getter @Setter private boolean justXMoreEnabled;
Expand All @@ -31,27 +28,19 @@ public abstract class MiniMOTDConfig {

public abstract void reload();

private String getMOTD(int onlinePlayers, int maxPlayers, List<String> strings) {
public String getMOTD(int onlinePlayers, int maxPlayers) {
String motd;
if (strings.size() == 1) {
motd = strings.get(0);
if (motds.size() == 1) {
motd = motds.get(0);
} else {
motd = strings.get(new Random().nextInt(strings.size()));
motd = motds.get(new Random().nextInt(motds.size()));
}
return motd
.replace("{onlinePlayers}", String.valueOf(onlinePlayers))
.replace("{maxPlayers}", String.valueOf(maxPlayers))
.replace("{br}", "\n");
}

public String getMOTD(int onlinePlayers, int maxPlayers) {
return getMOTD(onlinePlayers, maxPlayers, motds);
}

public String getLegacyMOTD(int onlinePlayers, int maxPlayers) {
return getMOTD(onlinePlayers, maxPlayers, motdsLegacy);
}

public int getAdjustedMaxPlayers(int onlinePlayers, int actualMaxPlayers) {
if (maxPlayersEnabled) {
return justXMoreEnabled ? onlinePlayers + xValue : maxPlayers;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/xyz/jpenilla/minimotd/spigot/MiniMOTD.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import org.bukkit.plugin.java.JavaPlugin;

public final class MiniMOTD extends JavaPlugin {
@Getter private static MiniMOTD instance;
@Getter private SpigotConfig cfg;
@Getter private PrismaHook prisma;
@Getter private static MiniMOTD instance;

@Override
public void onEnable() {
Expand Down
11 changes: 3 additions & 8 deletions src/main/java/xyz/jpenilla/minimotd/spigot/SpigotConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

public class SpigotConfig extends MiniMOTDConfig {
private final MiniMOTD miniMOTD;
private final LegacyComponentSerializer serializer = LegacyComponentSerializer.builder().hexColors().useUnusualXRepeatedCharacterHexFormat().build();
private final MiniMessage miniMessage = MiniMessage.get();

public SpigotConfig(MiniMOTD miniMOTD) {
this.miniMOTD = miniMOTD;
Expand All @@ -26,19 +28,12 @@ public void reload() {
} else {
temp = motd;
}
getMotds().add(miniMessageToLegacy(temp));
}
for (String motd : config.getStringList(MOTDS_LEGACY)) {
getMotdsLegacy().add(miniMessageToLegacy(motd));
getMotds().add(serializer.serialize(miniMessage.parse(temp)));
}
setMotdEnabled(config.getBoolean(MOTD_ENABLED));
setMaxPlayersEnabled(config.getBoolean(MAX_PLAYERS_ENABLED));
setJustXMoreEnabled(config.getBoolean(JUST_X_MORE_ENABLED));
setMaxPlayers(config.getInt(MAX_PLAYERS));
setXValue(config.getInt(X_VALUE));
}

private String miniMessageToLegacy(String message) {
return LegacyComponentSerializer.builder().hexColors().useUnusualXRepeatedCharacterHexFormat().build().serialize(MiniMessage.get().parse(message));
}
}
8 changes: 0 additions & 8 deletions src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,6 @@ motd:
- "<bold><gradient:black:white>----====[</gradient> <gradient:green:blue>UltraCraft <gradient:red:yellow></bold><italic>Official</gradient></italic><bold> <gradient:white:black>]=====----</gradient></bold>{br}<bold> <gradient:#EEFF4A:#F7FFAE>Custom <italic>Survival</italic></gradient> <color:#0092FF>Discord</bold><gray>:</gray> <gradient:#5FDAFF:#B8A6FF><italic>Ab3d5f"
- "<rainbow>|||||||||||||||||||||||||||||||||||||||||||||||||||||||||</rainbow>{br}<white>Hello <blue>{onlinePlayers} <gray>/</gray> {maxPlayers}</blue> Players Online"

# Only works on bungee. Will be added for Spigot in a future update
# These motds will be shown to pre-1.16 clients
# If this list is empty, the normal motd list above will be used.
motdsLegacy:
- "<red>This server requires version 1.16+</red>{br}<yellow>For you to see our cool RGB messages!"
- "<green>Sample motd displayed on version 1.15.2 and below"
- "<red>This function only works on bungeecord based platforms for now!"

maxPlayers:
# Do you want to enable this feature?
maxPlayersEnabled: true
Expand Down

0 comments on commit 574eca6

Please sign in to comment.