Fix crash, changed some command code
This commit is contained in:
parent
a13b85aa53
commit
40c4f02a72
@ -29,6 +29,7 @@ import javax.annotation.Nullable;
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@ParametersAreNonnullByDefault
|
||||
@ -85,7 +86,7 @@ public class CommandDiscord extends CommandBase {
|
||||
|
||||
@Override
|
||||
public boolean checkPermission(MinecraftServer server, ICommandSender sender) {
|
||||
return sender.canUseCommand(3, getName());
|
||||
return sender.canUseCommand(4, getName());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -104,7 +105,7 @@ public class CommandDiscord extends CommandBase {
|
||||
}
|
||||
}
|
||||
|
||||
return new ArrayList<>();
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -24,8 +24,8 @@ import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class SubCommandOnline {
|
||||
public static void execute(ICommandSender sender) {
|
||||
class SubCommandOnline {
|
||||
static void execute(ICommandSender sender) {
|
||||
boolean isDiscord = sender instanceof DiscordCommandSender;
|
||||
|
||||
List<String> playerNames = new ArrayList<>();
|
||||
|
@ -20,16 +20,17 @@ import com.google.common.base.Joiner;
|
||||
import net.minecraft.command.ICommandSender;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraft.util.text.TextComponentString;
|
||||
import net.minecraft.util.text.TextFormatting;
|
||||
import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.*;
|
||||
|
||||
public class SubCommandTps {
|
||||
class SubCommandTps {
|
||||
private static final DecimalFormat timeFormatter = new DecimalFormat("########0.000");
|
||||
|
||||
public static void execute(ICommandSender sender, ArrayList<String> args) {
|
||||
static void execute(ICommandSender sender, ArrayList<String> args) {
|
||||
boolean isDiscord = sender instanceof DiscordCommandSender;
|
||||
|
||||
boolean colored = args.stream().anyMatch(arg -> arg.equalsIgnoreCase("--color"));
|
||||
@ -48,6 +49,7 @@ public class SubCommandTps {
|
||||
int maxDimensionNameLength = Math.max(CoreUtils.getMinLength(dimensionMap.values()), CoreUtils.getMaxLength(dimensionMap.values()));
|
||||
|
||||
SortedSet<Integer> sortedDimensionIds = new TreeSet<>(dimensionMap.keySet());
|
||||
String color;
|
||||
|
||||
for (Integer dimensionId : sortedDimensionIds) {
|
||||
String dimensionName = dimensionMap.get(dimensionId);
|
||||
@ -55,30 +57,35 @@ public class SubCommandTps {
|
||||
double worldTickTime = CoreUtils.mean(minecraftServer.worldTickTimes.get(dimensionId)) * 1.0E-6D;
|
||||
double worldTPS = Math.min(1000.0 / worldTickTime, 20);
|
||||
|
||||
color = colored && !isDiscord ? CoreUtils.tpsToColorString(worldTPS, false) : "";
|
||||
|
||||
tpsTimes.add(
|
||||
String.format(
|
||||
"%s%s : Mean tick time: %s ms. Mean TPS: %s",
|
||||
colored ? CoreUtils.tpsToColorString(worldTPS, isDiscord) : "",
|
||||
colored && isDiscord ? CoreUtils.tpsToColorString(worldTPS, true) : "",
|
||||
String.format(
|
||||
"Dim %s %s",
|
||||
CoreUtils.padLeft(dimensionId + "", maxDimensionIdLength),
|
||||
CoreUtils.padRight(dimensionName, maxDimensionNameLength)
|
||||
),
|
||||
CoreUtils.padLeft(timeFormatter.format(worldTickTime), 6),
|
||||
CoreUtils.padLeft(timeFormatter.format(worldTPS), 6)
|
||||
CoreUtils.padLeft(color + timeFormatter.format(worldTickTime) + TextFormatting.RESET, 6),
|
||||
CoreUtils.padLeft(color + timeFormatter.format(worldTPS) + TextFormatting.RESET, 6)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
double meanTickTime = CoreUtils.mean(minecraftServer.tickTimeArray) * 1.0E-6D;
|
||||
double meanTPS = Math.min(1000.0 / meanTickTime, 20);
|
||||
|
||||
color = colored && !isDiscord ? CoreUtils.tpsToColorString(meanTPS, false) : "";
|
||||
|
||||
tpsTimes.add(
|
||||
String.format(
|
||||
"%s%s : Mean tick time: %s ms. Mean TPS: %s",
|
||||
colored ? CoreUtils.tpsToColorString(meanTPS, isDiscord) : "",
|
||||
colored && isDiscord ? CoreUtils.tpsToColorString(meanTPS, true) : "",
|
||||
CoreUtils.padRight("Overall", maxDimensionIdLength + maxDimensionNameLength + 5),
|
||||
CoreUtils.padLeft(timeFormatter.format(meanTickTime), 6),
|
||||
CoreUtils.padLeft(timeFormatter.format(meanTPS), 6)
|
||||
CoreUtils.padLeft(color + timeFormatter.format(meanTickTime) + TextFormatting.RESET, 6),
|
||||
CoreUtils.padLeft(color + timeFormatter.format(meanTPS) + TextFormatting.RESET, 6)
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -44,10 +44,6 @@ public class CoreUtils {
|
||||
return Joiner.on(" ").join(words);
|
||||
}
|
||||
|
||||
public static String tpsToColorString(double tps) {
|
||||
return tpsToColorString(tps, true);
|
||||
}
|
||||
|
||||
public static String tpsToColorString(double tps, boolean isDiscord) {
|
||||
if (19 <= tps) {
|
||||
return isDiscord ? "+ " : TextFormatting.GREEN.toString();
|
||||
|
@ -25,6 +25,7 @@ import net.dv8tion.jda.core.entities.TextChannel;
|
||||
import net.dv8tion.jda.core.events.ReadyEvent;
|
||||
import net.dv8tion.jda.core.hooks.ListenerAdapter;
|
||||
|
||||
import javax.security.auth.login.LoginException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@ -100,6 +101,14 @@ public class DiscordClient extends ListenerAdapter {
|
||||
|
||||
this.jda = builder
|
||||
.buildAsync();
|
||||
} catch (LoginException e) {
|
||||
CoreLogger.Log(
|
||||
String.format(
|
||||
"Failed to connect to Discord: %s",
|
||||
e.getMessage()
|
||||
),
|
||||
true
|
||||
);
|
||||
} catch (Exception e) {
|
||||
CoreLogger.Log("Failed to connect to Discord", true);
|
||||
e.printStackTrace();
|
||||
@ -156,8 +165,6 @@ public class DiscordClient extends ListenerAdapter {
|
||||
}
|
||||
|
||||
public void broadcast(MessageConfig message, List<Long> channels) {
|
||||
if (channels == null || channels.size() == 0) return;
|
||||
|
||||
broadcast(new Message(message), channels);
|
||||
}
|
||||
|
||||
@ -166,7 +173,7 @@ public class DiscordClient extends ListenerAdapter {
|
||||
}
|
||||
|
||||
public void broadcast(Message message, List<Long> channels) {
|
||||
if (channels == null || channels.size() == 0) return;
|
||||
if (channels == null || channels.size() == 0 || this.jda == null || this.jda.getStatus() != JDA.Status.CONNECTED) return;
|
||||
|
||||
for (Long channelId : channels) {
|
||||
TextChannel channel = this.jda.getTextChannelById(channelId);
|
||||
|
@ -113,7 +113,7 @@ public class Message {
|
||||
|
||||
private String formatText(String text, Channel channel) {
|
||||
String message = text;
|
||||
|
||||
|
||||
if (this.arguments == null) {
|
||||
this.arguments = new HashMap<>();
|
||||
}
|
||||
|
@ -21,8 +21,8 @@ public class MinecraftMessagesConfig {
|
||||
private transient static final String CHAT_MESSAGE_NORMAL = "**[{USER}]** {MESSAGE}";
|
||||
private transient static final String CHAT_MESSAGE_WEBHOOK = "{MESSAGE}";
|
||||
|
||||
private transient static final String COMMAND_NORMAL = "**[{USER}]** executed **{COMMAND}** with the arguments **{ARGUMENTS}**";
|
||||
private transient static final String COMMAND_WEBHOOK = "*executed **{COMMAND}** with the arguments **{ARGUMENTS}***";
|
||||
private transient static final String COMMAND_NORMAL = "**[{USER}]** executed **{COMMAND} {ARGUMENTS}**";
|
||||
private transient static final String COMMAND_WEBHOOK = "*executed **{COMMAND} {ARGUMENTS}***";
|
||||
|
||||
private transient static final String PLAYER_JOIN_NORMAL = "**{USER}** just joined the server!";
|
||||
private transient static final String PLAYER_JOIN_WEBHOOK = "*Joined the server!*";
|
||||
|
Loading…
x
Reference in New Issue
Block a user