Skip to content

Commit

Permalink
合并
Browse files Browse the repository at this point in the history
  • Loading branch information
MineSunshineone committed Jan 18, 2025
1 parent 688e8f1 commit dfef9a7
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 65 deletions.
2 changes: 1 addition & 1 deletion dependency-reduced-pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>ict.MineSunshineone</groupId>
<artifactId>SimpleChat</artifactId>
<version>1.4</version>
<version>1.5</version>
<build>
<resources>
<resource>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<groupId>ict.MineSunshineone</groupId>
<artifactId>SimpleChat</artifactId>
<version>1.4</version>
<version>1.5</version>

<repositories>
<repository>
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/ict/minesunshineone/chat/SimpleChat.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
import org.bukkit.plugin.java.JavaPlugin;

import ict.minesunshineone.chat.commands.MuteCommand;
import ict.minesunshineone.chat.commands.MuteCommandTabCompleter;
import ict.minesunshineone.chat.listeners.AnvilListener;
import ict.minesunshineone.chat.listeners.PingListener;
import ict.minesunshineone.chat.listeners.PlayerChatListener;
Expand All @@ -27,10 +26,11 @@ public void onEnable() {
getServer().getPluginManager().registerEvents(new PingListener(this), this);

// 注册命令
getCommand("mute").setExecutor(new MuteCommand(muteManager));
getCommand("unmute").setExecutor(new MuteCommand(muteManager));
getCommand("mute").setTabCompleter(new MuteCommandTabCompleter());
getCommand("unmute").setTabCompleter(new MuteCommandTabCompleter());
MuteCommand muteCommand = new MuteCommand(muteManager);
getCommand("mute").setExecutor(muteCommand);
getCommand("unmute").setExecutor(muteCommand);
getCommand("mute").setTabCompleter(muteCommand);
getCommand("unmute").setTabCompleter(muteCommand);

getLogger().info("SimpleChat插件已启用");
}
Expand Down
42 changes: 41 additions & 1 deletion src/main/java/ict/minesunshineone/chat/commands/MuteCommand.java
Original file line number Diff line number Diff line change
@@ -1,24 +1,64 @@
package ict.minesunshineone.chat.commands;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.TabCompleter;
import org.bukkit.entity.Player;

import ict.minesunshineone.chat.managers.MuteManager;
import ict.minesunshineone.chat.utils.TimeUtils;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.TextColor;

public class MuteCommand implements CommandExecutor {
public class MuteCommand implements CommandExecutor, TabCompleter {

private final MuteManager muteManager;

public MuteCommand(MuteManager muteManager) {
this.muteManager = muteManager;
}

@Override
public List<String> onTabComplete(CommandSender sender, Command command, String alias, String[] args) {
List<String> completions = new ArrayList<>();

if (command.getName().equalsIgnoreCase("mute")) {
if (args.length == 1) {
String partialPlayerName = args[0].toLowerCase();
completions.addAll(Bukkit.getOnlinePlayers().stream()
.map(Player::getName)
.filter(name -> name.toLowerCase().startsWith(partialPlayerName))
.collect(Collectors.toList()));
} else if (args.length == 2) {
String partialTime = args[1].toLowerCase();
for (String timeUnit : TimeUtils.getTimeUnits()) {
if (timeUnit.startsWith(partialTime)) {
completions.add(timeUnit);
}
}
} else if (args.length == 3) {
completions.add("违规发言");
completions.add("刷屏");
completions.add("辱骂他人");
completions.add("广告");
}
} else if (command.getName().equalsIgnoreCase("unmute") && args.length == 1) {
String partialPlayerName = args[0].toLowerCase();
completions.addAll(Bukkit.getOnlinePlayers().stream()
.map(Player::getName)
.filter(name -> name.toLowerCase().startsWith(partialPlayerName))
.collect(Collectors.toList()));
}

return completions;
}

@Override
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (command.getName().equalsIgnoreCase("mute")) {
Expand Down

This file was deleted.

0 comments on commit dfef9a7

Please sign in to comment.