Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eaaa961

Browse files
committed
Changes to CommandKill
moved the function "CommandKillPlayer" for killing a specific player to CommandKill under "killSpecificUser"
1 parent c44cb01 commit eaaa961

File tree

2 files changed

+52
-113
lines changed

2 files changed

+52
-113
lines changed

ModularMSMF-Basics/src/main/java/io/github/davidmc971/modularmsmf/basics/commands/CommandKill.java

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,74 @@
11
package io.github.davidmc971.modularmsmf.basics.commands;
22

3+
import org.bukkit.Bukkit;
34
import org.bukkit.command.Command;
45
import org.bukkit.command.CommandSender;
6+
import org.bukkit.entity.Player;
7+
import org.bukkit.event.Listener;
58
import org.jetbrains.annotations.NotNull;
69

710
import io.github.davidmc971.modularmsmf.api.IModularMSMFCommand;
11+
import io.github.davidmc971.modularmsmf.basics.ModularMSMFBasics;
812
import io.github.davidmc971.modularmsmf.basics.PermissionManager;
13+
import io.github.davidmc971.modularmsmf.basics.listeners.BasicEvents;
914
import io.github.davidmc971.modularmsmf.basics.util.ChatUtil;
15+
import io.github.davidmc971.modularmsmf.basics.util.CommandUtil;
16+
import io.github.davidmc971.modularmsmf.basics.util.KillType;
17+
import io.github.davidmc971.modularmsmf.basics.util.ChatUtil.ChatFormat;
18+
import io.github.davidmc971.modularmsmf.basics.util.Util;
1019

11-
public class CommandKill implements IModularMSMFCommand {
20+
public class CommandKill implements IModularMSMFCommand, Listener {
21+
22+
private BasicEvents basicEvents;
23+
24+
public CommandKill(){
25+
basicEvents = ModularMSMFBasics.Instance().getBasicEvents();
26+
}
1227

1328
@Override
14-
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
29+
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label,
30+
@NotNull String[] args) {
1531

16-
if(!PermissionManager.checkPermission(sender, "kill")){
32+
if (!PermissionManager.checkPermission(sender, "kill")) {
1733
ChatUtil.sendMsgNoPerm(sender);
1834
return true;
1935
}
20-
switch(args.length){
36+
switch (args.length) {
2137
case 0:
38+
// This will open a GUI where you can select specific types of kills or users.
39+
return killOpenGUI(sender, command, label, args);
2240
case 1:
23-
case 2:
41+
// This will only kill the specified user
42+
return killSpecificUser(sender, command, label, args);
2443
default:
44+
Util.sendMessageWithConfiguredLanguage(sender, ChatFormat.ERROR, "general.toomanyargs");
45+
return true;
46+
}
47+
}
48+
49+
private boolean killOpenGUI(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label,
50+
@NotNull String[] args) {
51+
52+
if (!CommandUtil.isSenderEligible(sender, command, label)) {
53+
return true;
54+
}
55+
return true;
56+
}
57+
58+
private boolean killSpecificUser(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label,
59+
@NotNull String[] args) {
60+
for (Player player : Bukkit.getOnlinePlayers()) {
61+
if (args[0].toLowerCase().equals(player.getName().toLowerCase())) {
62+
basicEvents.registerKilledPlayer(player, KillType.KILL);
63+
Util.broadcastWithConfiguredLanguageEach(ChatFormat.DEATH, "events.killed",
64+
"_player", player.getName());
65+
player.setHealth(0);
66+
return true;
67+
}
2568
}
69+
Util.sendMessageWithConfiguredLanguage(sender, ChatFormat.ERROR, "player.nonexistant");
70+
return true;
2671

27-
return true;
2872
}
2973

3074
@Override
@@ -41,5 +85,5 @@ public String[] Aliases() {
4185
public boolean Enabled() {
4286
return false;
4387
}
44-
88+
4589
}
Lines changed: 1 addition & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,9 @@
11
package io.github.davidmc971.modularmsmf.basics.commands;
22

3-
import org.bukkit.Bukkit;
4-
import org.bukkit.Material;
53
import org.bukkit.command.Command;
64
import org.bukkit.command.CommandSender;
7-
// import org.bukkit.command.ConsoleCommandSender;
8-
import org.bukkit.entity.Player;
9-
import org.bukkit.event.EventHandler;
10-
import org.bukkit.event.Listener;
11-
import org.bukkit.event.inventory.InventoryClickEvent;
12-
import org.bukkit.event.inventory.InventoryDragEvent;
13-
import org.bukkit.inventory.Inventory;
14-
import org.bukkit.inventory.InventoryHolder;
15-
import org.bukkit.inventory.ItemStack;
16-
import org.jetbrains.annotations.NotNull;
17-
185
import io.github.davidmc971.modularmsmf.basics.PermissionManager;
19-
import io.github.davidmc971.modularmsmf.basics.listeners.BasicEvents;
206
import io.github.davidmc971.modularmsmf.api.IModularMSMFCommand;
21-
import io.github.davidmc971.modularmsmf.basics.ModularMSMFBasics;
22-
import io.github.davidmc971.modularmsmf.basics.util.KillType;
237
import io.github.davidmc971.modularmsmf.basics.util.Util;
248
import io.github.davidmc971.modularmsmf.basics.util.ChatUtil.ChatFormat;
259
import io.github.davidmc971.modularmsmf.basics.util.ChatUtil;
@@ -32,12 +16,6 @@
3216

3317
public class CommandKillPlayer implements IModularMSMFCommand/* , Listener, InventoryHolder */ {
3418

35-
private BasicEvents basicEvents;
36-
37-
public CommandKillPlayer() {
38-
basicEvents = ModularMSMFBasics.Instance().getBasicEvents();
39-
}
40-
4119
@Override
4220
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
4321
if (!PermissionManager.checkPermission(sender, "kill")) {
@@ -46,24 +24,8 @@ public boolean onCommand(CommandSender sender, Command command, String label, St
4624
}
4725
if (args.length == 0) {
4826
return killHelp(sender, command, label, args); // will be changed with a usable GUI
49-
//return killGUI(sender, command, label, args); //opening a GUI to choose options (like down below)
50-
}
51-
if (args.length == 1) {
52-
for (Player player : Bukkit.getOnlinePlayers()) {
53-
// if (args[0].toLowerCase().equals(sender.getName().toLowerCase())) {
54-
// return killMeSub(sender, command, label, args);
55-
// }
56-
if (args[0].toLowerCase().equals(player.getName().toLowerCase())) {
57-
basicEvents.registerKilledPlayer(player, KillType.KILL);
58-
Util.broadcastWithConfiguredLanguageEach(ChatFormat.DEATH, "events.killed",
59-
"_player", player.getName());
60-
player.setHealth(0);
61-
return true;
62-
}
63-
}
64-
Util.sendMessageWithConfiguredLanguage(sender, ChatFormat.ERROR, "player.nonexistant");
65-
return true;
6627
}
28+
6729
if (args.length <= 2) {
6830
Util.sendMessageWithConfiguredLanguage(sender, ChatFormat.ERROR, "arguments.toomany");
6931
return true;
@@ -79,67 +41,6 @@ private boolean killHelp(CommandSender sender, Command command, String label, St
7941
return true;
8042
}
8143

82-
// private boolean killMeSub(CommandSender sender, Command command, String label, String[] args) {
83-
// if (sender instanceof ConsoleCommandSender || !PermissionManager.checkPermission(sender, "kill_me")) {
84-
// ChatUtil.sendMsgNoPerm(sender);
85-
// return true;
86-
// }
87-
// basicEvents.registerKilledPlayer(((Player) sender), KillType.SUICIDE);
88-
// Util.broadcastWithConfiguredLanguageEach(ChatFormat.DEATH, "events.suicide", "_player",
89-
// sender.getName());
90-
// ((Player) sender).setHealth(0);
91-
// return true;
92-
// }
93-
94-
/* private boolean killGUI(CommandSender sender, Command command, String label, String[] args){
95-
final Inventory inv;
96-
97-
public Kill_GUI(){
98-
//Create a new ownerless inventory (not a real inv)
99-
inv = Bukkit.createInventory(null, 9, "Kill GUI");
100-
101-
//Put items into inv
102-
initializeItems();
103-
}
104-
105-
public void initializeItems(){
106-
inv.addItem(createGuiItem(Material.PLAYER_HEAD, "Option to kill yourself", "§4KILL YOURSELF"));
107-
inv.addItem(createGuiItem(Material.TNT, "Cast a spell to kill all at once", "§4KILL ALL USERS AT ONCE"));
108-
}
109-
110-
protected ItemStack createGuiItem(final Material material, final String name, final String... lore){
111-
final ItemStack item = new ItemStack(material, 1);
112-
final ItemMeta meta = item.getItemMeta();
113-
114-
meta.setDisplayName(name);
115-
meta.setLore(Arrays.asList(lore));
116-
117-
return item;
118-
}
119-
120-
@EventHandler
121-
public void onInventoryClick(final InventoryClickEvent e){
122-
if (!e.getInventory().equals(inv)) return;
123-
124-
e.setCancelled(true);
125-
final ItemStack clickedItem = e.getCurrentItem();
126-
127-
if(clickedItem == null || clickedItem.getType().isAir()) return;
128-
129-
final Player p = (Player) e.getWhoClicked();
130-
131-
p.sendMessage("You clicked at slot "+e.getRawSlot());
132-
}
133-
134-
@EventHandler
135-
public void onInventoryClick(final InventoryDragEvent e){
136-
if(e.getInventory().equals(inv)){
137-
e.setCancelled(true);
138-
}
139-
}
140-
return true;
141-
} */
142-
14344
@Override
14445
public String Label() {
14546
return "kill";
@@ -154,10 +55,4 @@ public String[] Aliases() {
15455
public boolean Enabled() {
15556
return true;
15657
}
157-
158-
/* @Override
159-
public @NotNull Inventory getInventory() {
160-
// TODO Auto-generated method stub
161-
throw new UnsupportedOperationException("Unimplemented method 'getInventory'");
162-
} */
16358
}

0 commit comments

Comments
 (0)