mirror of
https://github.com/LeavesMC/Leaves.git
synced 2025-12-29 11:59:17 +00:00
refactor: format & refactor code
This commit is contained in:
@@ -14,6 +14,8 @@ import org.bukkit.permissions.PermissionDefault;
|
||||
import org.bukkit.plugin.PluginManager;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.leavesmc.leaves.bot.ServerBot;
|
||||
import org.leavesmc.leaves.command.bot.BotCommand;
|
||||
import org.leavesmc.leaves.command.leaves.LeavesCommand;
|
||||
import org.leavesmc.leaves.config.GlobalConfigManager;
|
||||
import org.leavesmc.leaves.config.annotations.GlobalConfig;
|
||||
import org.leavesmc.leaves.config.annotations.GlobalConfigCategory;
|
||||
@@ -27,8 +29,6 @@ import org.leavesmc.leaves.config.api.impl.ConfigValidatorImpl.IntConfigValidato
|
||||
import org.leavesmc.leaves.config.api.impl.ConfigValidatorImpl.ListConfigValidator;
|
||||
import org.leavesmc.leaves.config.api.impl.ConfigValidatorImpl.LongConfigValidator;
|
||||
import org.leavesmc.leaves.config.api.impl.ConfigValidatorImpl.StringConfigValidator;
|
||||
import org.leavesmc.leaves.command.bot.BotCommand;
|
||||
import org.leavesmc.leaves.command.leaves.LeavesCommand;
|
||||
import org.leavesmc.leaves.profile.LeavesMinecraftSessionService;
|
||||
import org.leavesmc.leaves.protocol.CarpetServerProtocol.CarpetRule;
|
||||
import org.leavesmc.leaves.protocol.CarpetServerProtocol.CarpetRules;
|
||||
@@ -135,13 +135,12 @@ public final class LeavesConfig {
|
||||
private static class FakeplayerValidator extends BooleanConfigValidator {
|
||||
@Override
|
||||
public void verify(Boolean old, Boolean value) throws IllegalArgumentException {
|
||||
if (value.equals(old)) {
|
||||
return;
|
||||
}
|
||||
if (value) {
|
||||
BotCommand.INSTANCE.register();
|
||||
} else {
|
||||
BotCommand.INSTANCE.unregister();
|
||||
if (!value.equals(old)) {
|
||||
if (value) {
|
||||
BotCommand.INSTANCE.register();
|
||||
} else {
|
||||
BotCommand.INSTANCE.unregister();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -177,46 +176,46 @@ public final class LeavesConfig {
|
||||
@GlobalConfig("open-fakeplayer-inventory")
|
||||
public boolean canOpenInventory = false;
|
||||
|
||||
@GlobalConfig(value = "use-action", validator = CanUseActionValidator.class)
|
||||
@GlobalConfig(value = "use-action", validator = CanUseConfigValidator.class)
|
||||
public boolean canUseAction = true;
|
||||
|
||||
private static class CanUseActionValidator extends BooleanConfigValidator {
|
||||
@Override
|
||||
public void verify(Boolean old, Boolean value) throws IllegalArgumentException {
|
||||
if (old != null && !old.equals(value)) {
|
||||
Bukkit.getOnlinePlayers().stream()
|
||||
.filter(sender -> BotCommand.hasPermission(sender, "action"))
|
||||
.forEach(org.bukkit.entity.Player::updateCommands);
|
||||
}
|
||||
private static class CanUseConfigValidator extends BotSubcommandValidator {
|
||||
private CanUseConfigValidator() {
|
||||
super("use");
|
||||
}
|
||||
}
|
||||
|
||||
@GlobalConfig(value = "modify-config", validator = CanModifyConfigValidator.class)
|
||||
public boolean canModifyConfig = false;
|
||||
|
||||
private static class CanModifyConfigValidator extends BooleanConfigValidator {
|
||||
@Override
|
||||
public void verify(Boolean old, Boolean value) throws IllegalArgumentException {
|
||||
if (old != null && !old.equals(value)) {
|
||||
Bukkit.getOnlinePlayers().stream()
|
||||
.filter(sender ->
|
||||
BotCommand.hasPermission(sender, "config")
|
||||
).forEach(org.bukkit.entity.Player::updateCommands);
|
||||
}
|
||||
private static class CanModifyConfigValidator extends BotSubcommandValidator {
|
||||
private CanModifyConfigValidator() {
|
||||
super("config");
|
||||
}
|
||||
}
|
||||
|
||||
@GlobalConfig(value = "manual-save-and-load", validator = CanManualSaveAndLoadValidator.class)
|
||||
public boolean canManualSaveAndLoad = false;
|
||||
|
||||
private static class CanManualSaveAndLoadValidator extends BooleanConfigValidator {
|
||||
private static class CanManualSaveAndLoadValidator extends BotSubcommandValidator {
|
||||
private CanManualSaveAndLoadValidator() {
|
||||
super("save", "load");
|
||||
}
|
||||
}
|
||||
|
||||
private static class BotSubcommandValidator extends BooleanConfigValidator {
|
||||
private final List<String> subcommands;
|
||||
|
||||
private BotSubcommandValidator(String... subcommand) {
|
||||
this.subcommands = List.of(subcommand);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void verify(Boolean old, Boolean value) throws IllegalArgumentException {
|
||||
if (old != null && !old.equals(value)) {
|
||||
Bukkit.getOnlinePlayers().stream()
|
||||
.filter(sender ->
|
||||
BotCommand.hasPermission(sender, "save") || BotCommand.hasPermission(sender, "load")
|
||||
).forEach(org.bukkit.entity.Player::updateCommands);
|
||||
.filter(sender -> subcommands.stream().allMatch(subcommand -> BotCommand.hasPermission(sender, subcommand)))
|
||||
.forEach(org.bukkit.entity.Player::updateCommands);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,12 +6,13 @@ import net.minecraft.core.UUIDUtil;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.leavesmc.leaves.LeavesLogger;
|
||||
import org.leavesmc.leaves.bot.ServerBot;
|
||||
import org.leavesmc.leaves.event.bot.BotActionExecuteEvent;
|
||||
import org.leavesmc.leaves.event.bot.BotActionStopEvent;
|
||||
import org.leavesmc.leaves.command.CommandContext;
|
||||
import org.leavesmc.leaves.command.WrappedArgument;
|
||||
import org.leavesmc.leaves.event.bot.BotActionExecuteEvent;
|
||||
import org.leavesmc.leaves.event.bot.BotActionStopEvent;
|
||||
import org.leavesmc.leaves.util.UpdateSuppressionException;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -59,12 +60,11 @@ public abstract class AbstractBotAction<E extends AbstractBotAction<E>> {
|
||||
|
||||
public abstract Object asCraft();
|
||||
|
||||
public void provideActionData(@NotNull ActionData data) {
|
||||
public String getActionDataString() {
|
||||
return getActionDataString(new ActionData(new ArrayList<>()));
|
||||
}
|
||||
|
||||
public String getActionDataString() {
|
||||
ActionData data = new ActionData(new ArrayList<>());
|
||||
provideActionData(data);
|
||||
public String getActionDataString(@NotNull ActionData data) {
|
||||
return data.raw.stream()
|
||||
.map(pair -> pair.getLeft() + "=" + pair.getRight())
|
||||
.reduce((a, b) -> a + ", " + b)
|
||||
@@ -249,9 +249,7 @@ public abstract class AbstractBotAction<E extends AbstractBotAction<E>> {
|
||||
this.onStop = onStop;
|
||||
}
|
||||
|
||||
public record ActionData(
|
||||
List<Pair<String, String>> raw
|
||||
) {
|
||||
public record ActionData(List<Pair<String, String>> raw) {
|
||||
public void add(String key, String value) {
|
||||
raw.add(Pair.of(key, value));
|
||||
}
|
||||
|
||||
@@ -32,11 +32,11 @@ public abstract class AbstractTimerBotAction<E extends AbstractTimerBotAction<E>
|
||||
}
|
||||
|
||||
@Override
|
||||
public void provideActionData(@NotNull ActionData data) {
|
||||
super.provideActionData(data);
|
||||
public String getActionDataString(@NotNull ActionData data) {
|
||||
data.add("delay", String.valueOf(this.getStartDelayTick()));
|
||||
data.add("interval", String.valueOf(this.getDoIntervalTick()));
|
||||
data.add("do_number", String.valueOf(this.getDoNumber()));
|
||||
data.add("remaining_do_number", String.valueOf(this.getDoNumberRemaining()));
|
||||
return super.getActionDataString(data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -98,10 +98,10 @@ public abstract class AbstractUseBotAction<T extends AbstractUseBotAction<T>> ex
|
||||
}
|
||||
|
||||
@Override
|
||||
public void provideActionData(@NotNull ActionData data) {
|
||||
super.provideActionData(data);
|
||||
public String getActionDataString(@NotNull ActionData data) {
|
||||
data.add("use_timeout", String.valueOf(this.useTickTimeout));
|
||||
data.add("already_used_tick", String.valueOf(this.alreadyUsedTick));
|
||||
return super.getActionDataString(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -98,16 +98,6 @@ public class ServerLookAction extends AbstractBotAction<ServerLookAction> {
|
||||
return target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void provideActionData(@NotNull ActionData data) {
|
||||
super.provideActionData(data);
|
||||
if (target != null) {
|
||||
data.add("target", target.getName().getString());
|
||||
} else {
|
||||
data.add("position", String.format("(%.2f, %.2f, %.2f)", pos.getX(), pos.getY(), pos.getZ()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean doTick(@NotNull ServerBot bot) {
|
||||
if (target != null) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package org.leavesmc.leaves.bot.agent.actions;
|
||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.leavesmc.leaves.bot.ServerBot;
|
||||
import org.leavesmc.leaves.entity.bot.action.MoveAction.MoveDirection;
|
||||
import org.leavesmc.leaves.entity.bot.actions.CraftMoveAction;
|
||||
@@ -65,9 +66,9 @@ public class ServerMoveAction extends AbstractStateBotAction<ServerMoveAction> {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void provideActionData(@NotNull ActionData data) {
|
||||
super.provideActionData(data);
|
||||
public String getActionDataString(@NotNull ActionData data) {
|
||||
data.add("direction", direction.name);
|
||||
return super.getActionDataString(data);
|
||||
}
|
||||
|
||||
public MoveDirection getDirection() {
|
||||
|
||||
@@ -57,10 +57,10 @@ public class ServerRotationAction extends AbstractBotAction<ServerRotationAction
|
||||
}
|
||||
|
||||
@Override
|
||||
public void provideActionData(@NotNull ActionData data) {
|
||||
super.provideActionData(data);
|
||||
public String getActionDataString(@NotNull ActionData data) {
|
||||
data.add("yaw", DF.format(this.yaw));
|
||||
data.add("pitch", DF.format(this.pitch));
|
||||
return super.getActionDataString(data);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user