Fix Role enum
This commit is contained in:
parent
7f7e010729
commit
a3c8087ebe
@ -6,6 +6,7 @@ import de.leafbla.meinkraft.roleplay.bomber.BomberListener;
|
||||
import de.leafbla.meinkraft.roleplay.fighter.FighterListener;
|
||||
import de.leafbla.meinkraft.roleplay.ninja.NinjaListener;
|
||||
import de.leafbla.meinkraft.roleplay.thief.ThiefListener;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import java.util.logging.Level;
|
||||
@ -17,18 +18,19 @@ public class Main extends JavaPlugin {
|
||||
|
||||
@Override
|
||||
public void onDisable() {
|
||||
Logger.getLogger("test").log(Level.INFO, "Plugin disabled");
|
||||
Bukkit.getLogger().log(Level.INFO, "Plugin disabled");
|
||||
roleManager.unsetAll();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
this.roleManager = new RoleManager(this);
|
||||
Logger.getLogger("MeinKraft").log(Level.INFO, "Plugin enabled");
|
||||
Bukkit.getLogger().log(Level.INFO, "Plugin enabled");
|
||||
getServer().getPluginManager().registerEvents(new ThiefListener(this), this);
|
||||
getServer().getPluginManager().registerEvents(new NinjaListener(this), this);
|
||||
getServer().getPluginManager().registerEvents(new BomberListener(this), this);
|
||||
getServer().getPluginManager().registerEvents(new FighterListener(this), this);
|
||||
|
||||
|
||||
this.getCommand("role").setExecutor(new RoleCommand(this.roleManager));
|
||||
}
|
||||
}
|
||||
|
26
src/de/leafbla/meinkraft/roleplay/BomberRole.java
Normal file
26
src/de/leafbla/meinkraft/roleplay/BomberRole.java
Normal file
@ -0,0 +1,26 @@
|
||||
package de.leafbla.meinkraft.roleplay;
|
||||
|
||||
import de.leafbla.meinkraft.Main;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class BomberRole extends PlayerRole {
|
||||
|
||||
public BomberRole(Main plugin, Player player) {
|
||||
super(plugin, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
player.setLevel(42);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void end() {
|
||||
player.setLevel(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole() {
|
||||
return Role.BOMBER;
|
||||
}
|
||||
}
|
26
src/de/leafbla/meinkraft/roleplay/NinjaRole.java
Normal file
26
src/de/leafbla/meinkraft/roleplay/NinjaRole.java
Normal file
@ -0,0 +1,26 @@
|
||||
package de.leafbla.meinkraft.roleplay;
|
||||
|
||||
import de.leafbla.meinkraft.Main;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class NinjaRole extends PlayerRole {
|
||||
|
||||
public NinjaRole(Main plugin, Player player) {
|
||||
super(plugin, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void end() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole() {
|
||||
return Role.NINJA;
|
||||
}
|
||||
}
|
@ -13,6 +13,10 @@ public abstract class PlayerRole {
|
||||
this.plugin = plugin;
|
||||
}
|
||||
|
||||
public abstract void start();
|
||||
|
||||
public abstract void end();
|
||||
|
||||
public abstract Role getRole();
|
||||
|
||||
}
|
||||
|
@ -1,17 +1,17 @@
|
||||
package de.leafbla.meinkraft.roleplay;
|
||||
|
||||
import de.leafbla.meinkraft.roleplay.fighter.FighterRole;
|
||||
import de.leafbla.meinkraft.Main;
|
||||
import de.leafbla.meinkraft.roleplay.fighter.FighterRole;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
public enum Role {
|
||||
|
||||
BOMBER(FighterRole.class),
|
||||
BOMBER(BomberRole.class),
|
||||
FIGHTER(FighterRole.class),
|
||||
NINJA(FighterRole.class),
|
||||
WIZARD(FighterRole.class);
|
||||
NINJA(NinjaRole.class),
|
||||
WIZARD(WizardRole.class);
|
||||
|
||||
private final Class<? extends PlayerRole> playerRole;
|
||||
|
||||
|
@ -1,15 +1,15 @@
|
||||
package de.leafbla.meinkraft.roleplay;
|
||||
|
||||
import de.leafbla.meinkraft.roleplay.Role;
|
||||
import de.leafbla.meinkraft.roleplay.RoleManager;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.BlockCommandSender;
|
||||
import org.bukkit.command.Command;
|
||||
import org.bukkit.command.CommandExecutor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class RoleCommand implements CommandExecutor {
|
||||
@ -22,6 +22,7 @@ public class RoleCommand implements CommandExecutor {
|
||||
|
||||
@Override
|
||||
public boolean onCommand(CommandSender commandSender, Command command, String label, String[] args) {
|
||||
|
||||
if (command.getName().equalsIgnoreCase("role")) {
|
||||
if (args.length == 1) {
|
||||
if (args[0].equalsIgnoreCase("list")) {
|
||||
@ -33,6 +34,13 @@ public class RoleCommand implements CommandExecutor {
|
||||
}
|
||||
} else if (args.length == 2) {
|
||||
Player player = Bukkit.getPlayer(args[0]);
|
||||
if (args[0].equalsIgnoreCase("@p")) {
|
||||
if (commandSender instanceof BlockCommandSender) {
|
||||
BlockCommandSender bcs = (BlockCommandSender) commandSender;
|
||||
bcs.getBlock().getLocation();
|
||||
player = Bukkit.getOnlinePlayers().stream().min(Comparator.comparingDouble(p -> p.getLocation().distance(bcs.getBlock().getLocation()))).orElse(null);
|
||||
}
|
||||
}
|
||||
if (player != null && player.isOnline()) {
|
||||
if (args[1].equalsIgnoreCase("clear")) {
|
||||
this.roleManager.unsetClass(player);
|
||||
|
@ -25,6 +25,7 @@ public class RoleManager {
|
||||
return;
|
||||
}
|
||||
this.classes.put(player, thePlayerRole);
|
||||
thePlayerRole.start();
|
||||
player.sendMessage(
|
||||
String.format("§eYou are now a §6%s§e!", StringUtils.capitalize(theclass.name()))
|
||||
);
|
||||
@ -32,14 +33,19 @@ public class RoleManager {
|
||||
|
||||
public void unsetClass(Player player) {
|
||||
if (this.classes.containsKey(player)) {
|
||||
Role oldclass = this.classes.get(player).getRole();
|
||||
PlayerRole playerRole = this.classes.get(player);
|
||||
playerRole.end();
|
||||
player.sendMessage(
|
||||
String.format("§eYou are no longer a §6%s§e!", StringUtils.capitalize(oldclass.name()))
|
||||
String.format("§eYou are no longer a §6%s§e!", StringUtils.capitalize(playerRole.getRole().name()))
|
||||
);
|
||||
this.classes.remove(player);
|
||||
}
|
||||
}
|
||||
|
||||
public void unsetAll() {
|
||||
classes.keySet().forEach(this::unsetClass);
|
||||
}
|
||||
|
||||
public PlayerRole getPlayerRole(Player player) {
|
||||
return this.classes.getOrDefault(player, null);
|
||||
}
|
||||
|
33
src/de/leafbla/meinkraft/roleplay/WizardRole.java
Normal file
33
src/de/leafbla/meinkraft/roleplay/WizardRole.java
Normal file
@ -0,0 +1,33 @@
|
||||
package de.leafbla.meinkraft.roleplay;
|
||||
|
||||
import de.leafbla.meinkraft.Main;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
public class WizardRole extends PlayerRole {
|
||||
|
||||
public WizardRole(Main plugin, Player player) {
|
||||
super(plugin, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
ItemStack wand = new ItemStack(Material.STICK);
|
||||
ItemMeta im = wand.getItemMeta();
|
||||
im.setDisplayName("Wand");
|
||||
wand.setItemMeta(im);
|
||||
player.setItemInHand(wand);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void end() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole() {
|
||||
return Role.WIZARD;
|
||||
}
|
||||
}
|
@ -20,6 +20,17 @@ public class FighterRole extends PlayerRole {
|
||||
super(plugin, player);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void start() {
|
||||
player.setExp(1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void end() {
|
||||
player.setExp(0.5f);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Role getRole() {
|
||||
return Role.FIGHTER;
|
||||
|
@ -9,10 +9,6 @@ import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.inventory.InventoryAction;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.event.inventory.InventoryDragEvent;
|
||||
import org.bukkit.event.inventory.InventoryType;
|
||||
import org.bukkit.event.player.PlayerInteractEntityEvent;
|
||||
import org.bukkit.event.player.PlayerMoveEvent;
|
||||
import org.bukkit.inventory.EquipmentSlot;
|
||||
|
Loading…
Reference in New Issue
Block a user