16 Commits

Author SHA1 Message Date
marc-go
9814a58ea6 Add saveConfig() and filter-config value 2026-01-07 15:05:05 +01:00
marc-go
6b263e0e8b Add filter function 2026-01-06 19:05:54 +01:00
marc-go
fd092a02cc Merge remote-tracking branch 'hacker_marc/master' 2026-01-06 18:23:52 +01:00
marc-go
5a09d7b15c Remove Filter 2026-01-06 18:22:33 +01:00
marc-go
de8244815a Translate to Englisch 2026-01-06 18:21:04 +01:00
f30cb5a4b8 README.md aktualisiert 2026-01-04 20:48:04 +00:00
6bcb3f0e39 README.md aktualisiert 2026-01-04 19:52:23 +00:00
eade17395f README.md aktualisiert 2026-01-04 19:51:42 +00:00
a2f32ba314 README.md aktualisiert 2026-01-04 19:43:51 +00:00
6ba052ec2a README.md aktualisiert 2026-01-04 19:43:26 +00:00
b3add4888b README.md aktualisiert 2026-01-04 17:54:00 +00:00
b781aa22e3 README.md aktualisiert 2026-01-04 17:53:30 +00:00
03ca70ddfa README.md aktualisiert 2026-01-04 17:53:01 +00:00
04048a3d0f README.md aktualisiert 2026-01-04 17:52:20 +00:00
f49fab6174 README.md aktualisiert 2026-01-04 17:50:50 +00:00
989e2accb5 README.md aktualisiert 2026-01-04 17:45:31 +00:00
7 changed files with 133 additions and 34 deletions

View File

@@ -1,3 +1,26 @@
# Advanced Kill # Advanced Kill
Beta Minecraft Plugin to kill players with many possibilities
The /kill Command is a littelbit borring, isn't it? But, there is the AdvancedKill plugin!
You can kill players with many different method, for example with an explosion or a lightning.
## Methods:
- anvil - place an anvil above
- fall - teleports the player to high 300
- explosion - makes an explosion by the player
- lightning - summons a lightning by the player
- half - set the health for the player to a half heart
- lava - places lava for 3 seconds by the player
- void - teleports the player into the void
- zombie - spawns a zombie with a diamond sword for 10 seconds by the player
## Usage
```
/akill <method> <player>
```
## Installation
1. Download **AdvancedKill_Paper_x.xx.jar** and copy it into the *plugins* directory from your server.
2. Restart the server

View File

@@ -5,7 +5,6 @@ import org.bukkit.command.Command;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import de.marc.advancedKill.commands.*; import de.marc.advancedKill.commands.*;
@@ -17,7 +16,14 @@ public final class AdvancedKill extends JavaPlugin {
@Override @Override
public void onEnable() { public void onEnable() {
// Plugin startup logic // Plugin startup logic
saveDefaultConfig();
getCommand("akill").setExecutor(this); getCommand("akill").setExecutor(this);
if (getConfig().getBoolean("filter-player")) {
getCommand("afilter").setExecutor(new AdvancedKillFilter(this));
}
getLogger().info("AdvancedKill was loaded!"); getLogger().info("AdvancedKill was loaded!");
} }
@@ -46,9 +52,7 @@ public final class AdvancedKill extends JavaPlugin {
} }
//Define mode and player
//Define mode et player
String mode = args[0].toLowerCase(); String mode = args[0].toLowerCase();
Player target = Bukkit.getPlayer(args[1]); Player target = Bukkit.getPlayer(args[1]);
@@ -57,15 +61,15 @@ public final class AdvancedKill extends JavaPlugin {
return true; return true;
} }
//Check filter
List<String> filter = getConfig().getStringList("bypass-players");
//Filtering 470Hacker String uuid = target.getUniqueId().toString();
//if (target.getName().equals("470Hacker")) {
// if (!sender.hasPermission("akill.admin")) {
// sender.sendMessage("§c470Hacker darf nicht gefoltert werden!");
// return true;
// }
//}
if (filter.contains(uuid)) {
sender.sendMessage("§cYou can not kill this player!");
return true;
}
//Run Commands //Run Commands
switch (mode) { switch (mode) {
@@ -110,11 +114,10 @@ public final class AdvancedKill extends JavaPlugin {
//Completions //Completions
@Override @Override
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender, public @Nullable List<String> onTabComplete(CommandSender sender, Command command, String label, String[] args) {
@NotNull Command command,
@NotNull String alias,
String[] args) {
List<String> completions = new ArrayList<>(); List<String> completions = new ArrayList<>();
if (label.equals("akill")) {
if (sender.hasPermission("akill.use")) { if (sender.hasPermission("akill.use")) {
if (args.length == 1) { if (args.length == 1) {
completions.add("lightning"); completions.add("lightning");
@@ -133,6 +136,15 @@ public final class AdvancedKill extends JavaPlugin {
} }
} }
} }
}
if (label.equals("afilter")) {
if (args.length == 1) {
for (Player player : Bukkit.getOnlinePlayers()) {
completions.add(player.getName());
}
}
}
return completions; return completions;
} }

View File

@@ -0,0 +1,52 @@
package de.marc.advancedKill;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import java.util.List;
public class AdvancedKillFilter implements CommandExecutor {
private AdvancedKill plugin;
public AdvancedKillFilter(AdvancedKill plugin) {
this.plugin = plugin;
}
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
if (!sender.hasPermission("akill.admin")) {
sender.sendMessage("§cPermission denied!");
return true;
}
Player target = Bukkit.getPlayer(args[0]);
if (target == null) {
sender.sendMessage("§cPlayer not found!");
return true;
}
String uuid = target.getUniqueId().toString();
List<String> players = plugin.getConfig().getStringList("bypass-players");
String msg = "";
if (players.contains(uuid)) {
players.remove(uuid);
msg = "§aPlayer was removed successfully!";
}else{
players.add(uuid);
msg = "§aPlayer was added successfully!";
}
plugin.getConfig().set("bypass-players", players);
plugin.saveConfig();
sender.sendMessage(msg);
return true;
}
}

View File

@@ -21,6 +21,6 @@ public class VoidCmd {
0 0
); );
target.teleport(loc); target.teleport(loc);
sender.sendMessage("§aErfolg!"); sender.sendMessage("§aSuccess!");
} }
} }

View File

@@ -33,6 +33,6 @@ public class ZombieCmd {
zombie.remove(); zombie.remove();
}, 200L); }, 200L);
sender.sendMessage("§aErfolg!"); sender.sendMessage("§aSuccess!");
} }
} }

View File

@@ -0,0 +1,8 @@
# Active Filter Function
filter-player: true
# To filter player, run /afilter <player> to filter players
# Filter List
bypass-players: []

View File

@@ -5,13 +5,17 @@ api-version: '1.21'
commands: commands:
akill: akill:
description: aKill Befehl description: aKill Command
usage: /akill <mode> <player> usage: /akill <mode> <player>
afilter:
description: Filter Players
usage: /afilter <player>
permissions: permissions:
akill.use: akill.use:
description: Darf /akill benutzen description: Can use /akill
default: op default: op
akill.admin: akill.admin:
description: Darf 470Hacker töten description: Can use /afilter
default: op default: op