Skip to content

Commit 41fb355

Browse files
authored
Add files via upload
1 parent d578faa commit 41fb355

23 files changed

+1498
-0
lines changed

build.gradle

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
plugins {
2+
id 'java'
3+
}
4+
5+
group = 'com.plaidmrdeer'
6+
version = '1.0.0'
7+
8+
repositories {
9+
mavenCentral()
10+
maven {
11+
name = "spigotmc-repo"
12+
url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/"
13+
}
14+
maven {
15+
name = "sonatype"
16+
url = "https://oss.sonatype.org/content/groups/public/"
17+
}
18+
}
19+
20+
dependencies {
21+
compileOnly "org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT"
22+
}
23+
24+
def targetJavaVersion = 17
25+
java {
26+
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
27+
sourceCompatibility = javaVersion
28+
targetCompatibility = javaVersion
29+
if (JavaVersion.current() < javaVersion) {
30+
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
31+
}
32+
}
33+
34+
tasks.withType(JavaCompile).configureEach {
35+
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
36+
options.release = targetJavaVersion
37+
}
38+
}
39+
40+
processResources {
41+
def props = [version: version]
42+
inputs.properties props
43+
filteringCharset 'UTF-8'
44+
filesMatching('plugin.yml') {
45+
expand props
46+
}
47+
}

gradle.properties

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
rootProject.name = 'AdminTools'
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
package com.plaidmrdeer.at;
2+
3+
import com.plaidmrdeer.at.commands.InventoryCommand;
4+
import com.plaidmrdeer.at.commands.InvisibleCommand;
5+
import com.plaidmrdeer.at.commands.ProCommand;
6+
import com.plaidmrdeer.at.commands.ReloadCommand;
7+
import com.plaidmrdeer.at.commands.tabs.InventoryCommandTab;
8+
import com.plaidmrdeer.at.config.language_config.LanguageManager;
9+
import com.plaidmrdeer.at.events.InventoryListener;
10+
import com.plaidmrdeer.at.events.ProListener;
11+
import com.plaidmrdeer.at.task.TaskManager;
12+
import org.bukkit.Bukkit;
13+
import org.bukkit.ChatColor;
14+
import org.bukkit.command.CommandSender;
15+
import org.bukkit.plugin.java.JavaPlugin;
16+
17+
import java.util.HashMap;
18+
import java.util.Map;
19+
20+
/**
21+
* @author PlaidMrdeer
22+
*/
23+
public final class AdminTools extends JavaPlugin {
24+
private TaskManager taskManager;
25+
26+
private LanguageManager languageManager;
27+
28+
private final Map<String, String> placeholder = new HashMap<>();
29+
30+
private Map<String, String> language;
31+
32+
public void addPlaceholder(String key, String value) {
33+
placeholder.put(key, value);
34+
}
35+
36+
public void removePlaceholder(String key) {
37+
placeholder.remove(key);
38+
}
39+
40+
public TaskManager getTaskManager() {
41+
return taskManager;
42+
}
43+
44+
private void registerCommands() {
45+
getCommand("invisible").setExecutor(new InvisibleCommand(this));
46+
getCommand("inventory").setExecutor(new InventoryCommand(this));
47+
getCommand("atreload").setExecutor(new ReloadCommand(this));
48+
getCommand("pro").setExecutor(new ProCommand(this));
49+
50+
getCommand("inventory").setTabCompleter(new InventoryCommandTab());
51+
}
52+
53+
private void registerEvents() {
54+
getServer().getPluginManager().registerEvents(new InventoryListener(), this);
55+
getServer().getPluginManager().registerEvents(new ProListener(), this);
56+
}
57+
58+
private String setStyle(String message) {
59+
return setColor(setPlaceholder(message));
60+
}
61+
62+
private String setColor(String message) {
63+
return ChatColor.translateAlternateColorCodes('&', message);
64+
}
65+
66+
private String setPlaceholder(String message) {
67+
for (Map.Entry<String, String> place : placeholder.entrySet()) {
68+
message = message.replace(place.getKey(), place.getValue());
69+
}
70+
71+
return message;
72+
}
73+
74+
public void sendMessage(String path, CommandSender sender) {
75+
String message = setStyle(language.get(path));
76+
77+
sender.sendMessage(message);
78+
}
79+
80+
public String getLanuage(String path) {
81+
return setStyle(language.get(path));
82+
}
83+
84+
private void logo() {
85+
String logo1 = "&b _ _ _ _____ _ ";
86+
String logo2 = "&b / \\ __| |_ __ ___ (_)_ _|_ _|__ ___ | |___ ";
87+
String logo3 = "&b / _ \\ / _` | '_ ` _ \\| | '_ \\| |/ _ \\ / _ \\| / __|";
88+
String logo4 = "&b / ___ \\ (_| | | | | | | | | | | | (_) | (_) | \\__ \\";
89+
String logo5 = "&b /_/ \\_\\__,_|_| |_| |_|_|_| |_|_|\\___/ \\___/|_|___/";
90+
String logo6 = "&b ";
91+
CommandSender sender = Bukkit.getConsoleSender();
92+
93+
sender.sendMessage(setColor(logo1));
94+
sender.sendMessage(setColor(logo2));
95+
sender.sendMessage(setColor(logo3));
96+
sender.sendMessage(setColor(logo4));
97+
sender.sendMessage(setColor(logo5));
98+
sender.sendMessage(setColor(logo6));
99+
}
100+
101+
public void reload() {
102+
reloadConfig();
103+
104+
languageManager.loadLang();
105+
language = languageManager.getLanuageMap();
106+
107+
placeholder.clear();
108+
}
109+
110+
@Override
111+
public void onLoad() {
112+
taskManager = new TaskManager(this);
113+
languageManager = new LanguageManager(this);
114+
}
115+
116+
@Override
117+
public void onEnable() {
118+
logo();
119+
120+
saveDefaultConfig();
121+
122+
registerCommands();
123+
registerEvents();
124+
125+
languageManager.loadLang();
126+
language = languageManager.getLanuageMap();
127+
128+
}
129+
130+
@Override
131+
public void onDisable() {
132+
taskManager.stopAllTask();
133+
}
134+
}
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
package com.plaidmrdeer.at.commands;
2+
3+
import com.plaidmrdeer.at.AdminTools;
4+
import com.plaidmrdeer.at.events.InventoryListener;
5+
import org.bukkit.Bukkit;
6+
import org.bukkit.command.Command;
7+
import org.bukkit.command.CommandExecutor;
8+
import org.bukkit.command.CommandSender;
9+
import org.bukkit.entity.Player;
10+
import org.bukkit.event.inventory.InventoryType;
11+
import org.bukkit.inventory.Inventory;
12+
import org.bukkit.inventory.ItemStack;
13+
import org.bukkit.plugin.Plugin;
14+
15+
/**
16+
* @author PlaidMrdeer
17+
*/
18+
public class InventoryCommand implements CommandExecutor {
19+
private final Plugin plugin;
20+
private static Player tarPlayer;
21+
public InventoryCommand(Plugin plugin) {
22+
this.plugin = plugin;
23+
}
24+
25+
@Override
26+
public boolean onCommand(CommandSender sender,
27+
Command command,
28+
String label,
29+
String[] args) {
30+
31+
if (!(sender instanceof Player player)) {
32+
return true;
33+
}
34+
35+
if (!sender.hasPermission("admintools.command.inventory")) {
36+
((AdminTools) plugin).sendMessage("no_permission", player);
37+
return true;
38+
}
39+
40+
if (args.length != 2) {
41+
((AdminTools) plugin).sendMessage("command_error", player);
42+
return true;
43+
}
44+
45+
tarPlayer = Bukkit.getPlayerExact(args[1]);
46+
47+
if (tarPlayer == null) {
48+
((AdminTools) plugin).sendMessage("cannot_found_player", player);
49+
return true;
50+
}
51+
52+
((AdminTools) plugin).addPlaceholder("%player%", tarPlayer.getName());
53+
Inventory inventory = Bukkit.createInventory(new InventoryListener(), (5 * 9), ((AdminTools) plugin).getLanuage("player_inventory"));
54+
55+
switch (args[0]) {
56+
case "end" -> {
57+
inventory = Bukkit.createInventory(new InventoryListener(), InventoryType.ENDER_CHEST, ((AdminTools) plugin).getLanuage("player_end_inventory"));
58+
ItemStack[] endItemStacks = tarPlayer.getEnderChest().getContents();
59+
60+
for (int i = 0; i < endItemStacks.length; i++) {
61+
inventory.setItem(i, endItemStacks[i]);
62+
}
63+
}
64+
case "inv" -> {
65+
ItemStack[] itemStacks = tarPlayer.getInventory().getContents();
66+
67+
for (int i = 0; i < itemStacks.length; i++) {
68+
inventory.setItem(i, itemStacks[i]);
69+
}
70+
}
71+
default -> {
72+
((AdminTools) plugin).sendMessage("command_error", player);
73+
return true;
74+
}
75+
}
76+
77+
player.openInventory(inventory);
78+
((AdminTools) plugin).removePlaceholder("%player%");
79+
80+
return true;
81+
}
82+
83+
public static void updateInventory(Inventory inventory) {
84+
for (int i = 0; i < inventory.getSize() - 4; i++) {
85+
tarPlayer.getInventory().setItem(i, inventory.getItem(i));
86+
}
87+
}
88+
89+
public static void updateEndInventory(Inventory inventory) {
90+
for (int i = 0; i < inventory.getSize(); i++) {
91+
tarPlayer.getEnderChest().setItem(i, inventory.getItem(i));
92+
}
93+
}
94+
}
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
package com.plaidmrdeer.at.commands;
2+
3+
import com.plaidmrdeer.at.AdminTools;
4+
import com.plaidmrdeer.at.commands.enums.VisibilityStatus;
5+
import net.md_5.bungee.api.ChatMessageType;
6+
import net.md_5.bungee.api.chat.TextComponent;
7+
import org.bukkit.Bukkit;
8+
import org.bukkit.command.Command;
9+
import org.bukkit.command.CommandExecutor;
10+
import org.bukkit.command.CommandSender;
11+
import org.bukkit.entity.Player;
12+
import org.bukkit.plugin.Plugin;
13+
import org.bukkit.scheduler.BukkitRunnable;
14+
15+
import java.util.ArrayList;
16+
import java.util.HashMap;
17+
import java.util.List;
18+
import java.util.Map;
19+
20+
/**
21+
* @author PlaidMrdeer
22+
*/
23+
public class InvisibleCommand implements CommandExecutor {
24+
private final Plugin plugin;
25+
26+
private final Map<Player, VisibilityStatus> invisibleSwitch = new HashMap<>();
27+
28+
public InvisibleCommand(Plugin plugin) {
29+
this.plugin = plugin;
30+
}
31+
@Override
32+
public boolean onCommand(CommandSender sender,
33+
Command command,
34+
String label,
35+
String[] args) {
36+
37+
if (!(sender instanceof Player invisiblePlayer)) {
38+
return true;
39+
}
40+
41+
if (!sender.hasPermission("admintools.command.invisible")) {
42+
((AdminTools) plugin).sendMessage("no_permission", invisiblePlayer);
43+
return true;
44+
}
45+
46+
List<Player> onlinePlayers = new ArrayList<>(Bukkit.getOnlinePlayers());
47+
48+
if ((VisibilityStatus.VISIBLE).equals(invisibleSwitch.get(invisiblePlayer))
49+
|| (!invisibleSwitch.containsKey(invisiblePlayer))) {
50+
51+
52+
for (Player player : onlinePlayers) {
53+
player.hidePlayer(plugin, invisiblePlayer);
54+
}
55+
invisibleSwitch.put(invisiblePlayer, VisibilityStatus.INVISIBLE);
56+
57+
((AdminTools) plugin).getTaskManager()
58+
.startTask("invisible_" + invisiblePlayer.getName(), new BukkitRunnable() {
59+
60+
@Override
61+
public void run() {
62+
invisiblePlayer.spigot().sendMessage(
63+
64+
ChatMessageType.ACTION_BAR,
65+
TextComponent.fromLegacyText(
66+
((AdminTools) plugin).getLanuage("invisible")
67+
)
68+
69+
);
70+
}
71+
72+
}, 0L, 40L);
73+
return true;
74+
}
75+
76+
for (Player player : onlinePlayers) {
77+
player.showPlayer(plugin, invisiblePlayer);
78+
}
79+
invisibleSwitch.put(invisiblePlayer, VisibilityStatus.VISIBLE);
80+
((AdminTools) plugin).getTaskManager().stopTask("invisible_" + invisiblePlayer.getName());
81+
82+
return true;
83+
}
84+
}

0 commit comments

Comments
 (0)