Upload Plugin
This commit is contained in:
139
src/main/java/de/marc/advancedKill/AdvancedKill.java
Normal file
139
src/main/java/de/marc/advancedKill/AdvancedKill.java
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
package de.marc.advancedKill;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
import de.marc.advancedKill.commands.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public final class AdvancedKill extends JavaPlugin {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEnable() {
|
||||||
|
// Plugin startup logic
|
||||||
|
getCommand("akill").setExecutor(this);
|
||||||
|
getLogger().info("AdvancedKill was loaded!");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDisable() {
|
||||||
|
// Plugin shutdown logic
|
||||||
|
getLogger().info("AdvancedKill was disabled");
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
//Check Permission
|
||||||
|
if(!sender.hasPermission("akill.use")) {
|
||||||
|
sender.sendMessage("§cPermission denied!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Check Args
|
||||||
|
if (args.length == 0) {
|
||||||
|
sender.sendMessage("§aMethods:\nlightning\nanvil\nzombie\nvoid\nhalf\nexplosion\nfall\nlava");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length == 1) {
|
||||||
|
sender.sendMessage("§cNo player defined!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//Define mode et player
|
||||||
|
String mode = args[0].toLowerCase();
|
||||||
|
Player target = Bukkit.getPlayer(args[1]);
|
||||||
|
|
||||||
|
if (target == null) {
|
||||||
|
sender.sendMessage("§cPlayer does not exists!");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Filtering 470Hacker
|
||||||
|
//if (target.getName().equals("470Hacker")) {
|
||||||
|
// if (!sender.hasPermission("akill.admin")) {
|
||||||
|
// sender.sendMessage("§c470Hacker darf nicht gefoltert werden!");
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
|
|
||||||
|
//Run Commands
|
||||||
|
switch (mode) {
|
||||||
|
case "lightning":
|
||||||
|
new LightningCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "void":
|
||||||
|
new VoidCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "zombie":
|
||||||
|
new ZombieCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "half":
|
||||||
|
new HalfCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "anvil":
|
||||||
|
new AnvilCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "explosion":
|
||||||
|
new ExplosionCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "fall":
|
||||||
|
new FallCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "lava":
|
||||||
|
new LavaCmd(this).execute(sender, target);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
sender.sendMessage("§cThis method does not exists.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Completions
|
||||||
|
@Override
|
||||||
|
public @Nullable List<String> onTabComplete(@NotNull CommandSender sender,
|
||||||
|
@NotNull Command command,
|
||||||
|
@NotNull String alias,
|
||||||
|
String[] args) {
|
||||||
|
List<String> completions = new ArrayList<>();
|
||||||
|
if (sender.hasPermission("akill.use")) {
|
||||||
|
if (args.length == 1) {
|
||||||
|
completions.add("lightning");
|
||||||
|
completions.add("void");
|
||||||
|
completions.add("zombie");
|
||||||
|
completions.add("half");
|
||||||
|
completions.add("anvil");
|
||||||
|
completions.add("explosion");
|
||||||
|
completions.add("fall");
|
||||||
|
completions.add("lava");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.length == 2) {
|
||||||
|
for (Player player : Bukkit.getOnlinePlayers()) {
|
||||||
|
completions.add(player.getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return completions;
|
||||||
|
}
|
||||||
|
}
|
||||||
28
src/main/java/de/marc/advancedKill/commands/AnvilCmd.java
Normal file
28
src/main/java/de/marc/advancedKill/commands/AnvilCmd.java
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class AnvilCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public AnvilCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
Location anvil_loc = new Location(
|
||||||
|
target.getWorld(),
|
||||||
|
target.getLocation().getX(),
|
||||||
|
target.getLocation().getY() + 2,
|
||||||
|
target.getLocation().getZ()
|
||||||
|
);
|
||||||
|
anvil_loc.getBlock().setType(Material.ANVIL);
|
||||||
|
sender.sendMessage("§aSuccess!");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class ExplosionCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public ExplosionCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
target.getWorld().createExplosion(
|
||||||
|
target.getLocation(),
|
||||||
|
6.0f,
|
||||||
|
false,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
sender.sendMessage("§aSuccess!");
|
||||||
|
}
|
||||||
|
}
|
||||||
29
src/main/java/de/marc/advancedKill/commands/FallCmd.java
Normal file
29
src/main/java/de/marc/advancedKill/commands/FallCmd.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class FallCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public FallCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
Location fall_loc = new Location(
|
||||||
|
target.getLocation().getWorld(),
|
||||||
|
target.getLocation().getX(),
|
||||||
|
300,
|
||||||
|
target.getLocation().getZ()
|
||||||
|
);
|
||||||
|
|
||||||
|
target.teleport(fall_loc);
|
||||||
|
|
||||||
|
sender.sendMessage("§aSuccess!");
|
||||||
|
}
|
||||||
|
}
|
||||||
19
src/main/java/de/marc/advancedKill/commands/HalfCmd.java
Normal file
19
src/main/java/de/marc/advancedKill/commands/HalfCmd.java
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class HalfCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public HalfCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
target.setHealth(1.0);
|
||||||
|
sender.sendMessage("§aSuccess!");
|
||||||
|
}
|
||||||
|
}
|
||||||
39
src/main/java/de/marc/advancedKill/commands/LavaCmd.java
Normal file
39
src/main/java/de/marc/advancedKill/commands/LavaCmd.java
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.block.Block;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class LavaCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public LavaCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
Location lava_loc = new Location(
|
||||||
|
target.getLocation().getWorld(),
|
||||||
|
target.getLocation().getX(),
|
||||||
|
target.getLocation().getY() - 1,
|
||||||
|
target.getLocation().getZ()
|
||||||
|
);
|
||||||
|
|
||||||
|
Block block = lava_loc.getBlock();
|
||||||
|
Material old_block = block.getType();
|
||||||
|
|
||||||
|
block.setType(Material.LAVA);
|
||||||
|
|
||||||
|
Bukkit.getScheduler().runTaskLater(plugin, () -> {
|
||||||
|
block.setType(old_block);
|
||||||
|
}, 60L);
|
||||||
|
|
||||||
|
sender.sendMessage("§aSuccess!");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class LightningCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public LightningCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
target.getWorld().strikeLightning(target.getLocation());
|
||||||
|
sender.sendMessage("§aSuccess!");
|
||||||
|
}
|
||||||
|
}
|
||||||
26
src/main/java/de/marc/advancedKill/commands/VoidCmd.java
Normal file
26
src/main/java/de/marc/advancedKill/commands/VoidCmd.java
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
import org.bukkit.Location;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class VoidCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public VoidCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
Location loc = new Location(
|
||||||
|
target.getWorld(),
|
||||||
|
0,
|
||||||
|
-100,
|
||||||
|
0
|
||||||
|
);
|
||||||
|
target.teleport(loc);
|
||||||
|
sender.sendMessage("§aErfolg!");
|
||||||
|
}
|
||||||
|
}
|
||||||
29
src/main/java/de/marc/advancedKill/commands/ZombieCmd.java
Normal file
29
src/main/java/de/marc/advancedKill/commands/ZombieCmd.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
package de.marc.advancedKill.commands;
|
||||||
|
|
||||||
|
import de.marc.advancedKill.AdvancedKill;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.entity.Zombie;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
public class ZombieCmd {
|
||||||
|
private final AdvancedKill plugin;
|
||||||
|
|
||||||
|
public ZombieCmd(AdvancedKill plugin) {
|
||||||
|
this.plugin = plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void execute(CommandSender sender, Player target) {
|
||||||
|
Zombie zombie = target.getWorld().spawn(
|
||||||
|
target.getLocation(),
|
||||||
|
Zombie.class
|
||||||
|
);
|
||||||
|
|
||||||
|
zombie.getEquipment().setItemInMainHand(
|
||||||
|
new ItemStack(Material.DIAMOND_SWORD)
|
||||||
|
);
|
||||||
|
sender.sendMessage("§aErfolg!");
|
||||||
|
}
|
||||||
|
}
|
||||||
17
src/main/resources/plugin.yml
Normal file
17
src/main/resources/plugin.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
name: AdvancedKill
|
||||||
|
version: '1.0-SNAPSHOT'
|
||||||
|
main: de.marc.advancedKill.AdvancedKill
|
||||||
|
api-version: '1.21'
|
||||||
|
|
||||||
|
commands:
|
||||||
|
akill:
|
||||||
|
description: aKill Befehl
|
||||||
|
usage: /akill <mode> <player>
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
akill.use:
|
||||||
|
description: Darf /akill benutzen
|
||||||
|
default: op
|
||||||
|
akill.admin:
|
||||||
|
description: Darf 470Hacker töten
|
||||||
|
default: op
|
||||||
Reference in New Issue
Block a user