Added console commands

This commit is contained in:
Grafe 2013-01-24 03:23:46 +01:00
parent 3dd7c0fcb2
commit 6e47010e26
20 changed files with 199 additions and 124 deletions

View File

@ -6,8 +6,6 @@ import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import java.util.logging.Level;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.ConfigurationSection;
@ -189,7 +187,7 @@ public class DMobType {
itemMeta.addEnchant(Enchantment.getByName(splittedEnchantment[0].toUpperCase()), 1, true); itemMeta.addEnchant(Enchantment.getByName(splittedEnchantment[0].toUpperCase()), 1, true);
} }
} else { } else {
P.p.log(Level.WARNING, P.p.language.get("Log_Error_MobEnchantment",splittedEnchantment[0])); P.p.log(P.p.language.get("Log_Error_MobEnchantment",splittedEnchantment[0]));
} }
} }
} }
@ -221,7 +219,7 @@ public class DMobType {
mobType.spoutSkinURL = configFile.getString(mobName+".spoutSkinURL"); mobType.spoutSkinURL = configFile.getString(mobName+".spoutSkinURL");
} }
} else { } else {
P.p.log(Level.WARNING, P.p.language.get("Log_Error_MobType",configFile.getString(mobName+".Type"))); P.p.log(P.p.language.get("Log_Error_MobType",configFile.getString(mobName+".Type")));
} }
} }
} }

View File

@ -36,13 +36,14 @@ public class LanguageReader {
private void setDefaults(){ private void setDefaults(){
/* Log */ /* Log */
defaults.put("Log_NewDungeon","New Dungeon: "); defaults.put("Log_NewDungeon","&6New Dungeon");
defaults.put("Log_GenerateNewWorld","Generate new world..."); defaults.put("Log_GenerateNewWorld","&6Generate new world...");
defaults.put("Log_WorldGenerationFinished","World generation finished!"); defaults.put("Log_WorldGenerationFinished","&6World generation finished!");
defaults.put("Log_Error_MobEnchantment","Error at loading mob.yml: Enchantmet &v1 doesn't exist!"); defaults.put("Log_Error_MobEnchantment","&4Error at loading mob.yml: Enchantmet &6&v1&4 doesn't exist!");
defaults.put("Log_Error_MobType","Error at loading mob.yml: Mob &v1 doesn't exist!"); defaults.put("Log_Error_MobType","&4Error at loading mob.yml: Mob &6&v1&4 doesn't exist!");
defaults.put("Log_Error_Spout","Spout wurde nicht gefunden!"); defaults.put("Log_Error_Spout","&4Spout wurde nicht gefunden!");
defaults.put("Log_Error_Spout_Skin","Der Spout Skin von &v1 ist kein png!"); defaults.put("Log_Error_Spout_Skin","&4Der Spout Skin von &6&v1&4 ist kein png!");
defaults.put("Log_Error_NoConsoleCommand","&6/dxl &v1&4 kann man nicht als Konsole ausführen!");
/* Player */ /* Player */
defaults.put("Player_CheckpointReached","&6Checkpoint erreicht!"); defaults.put("Player_CheckpointReached","&6Checkpoint erreicht!");
@ -99,6 +100,7 @@ public class LanguageReader {
defaults.put("Error_TutorialNotExist","&4Tutorial Dungeon existiert nicht!"); defaults.put("Error_TutorialNotExist","&4Tutorial Dungeon existiert nicht!");
defaults.put("Error_SpoutCraftOnly","&4Du brauchst SpoutCraft um diesen Dungeon spielen zu können!"); defaults.put("Error_SpoutCraftOnly","&4Du brauchst SpoutCraft um diesen Dungeon spielen zu können!");
defaults.put("Error_NoPortal","&4Du musst ein Portal anschauen!"); defaults.put("Error_NoPortal","&4Du musst ein Portal anschauen!");
defaults.put("Error_NoPlayerCommand","&6/dxl &v1&4 kann man nicht als Spieler ausführen!");
/* Help */ /* Help */
defaults.put("Help_Cmd_Chat","/dxl chat - Ändert den Chat-Modus"); defaults.put("Help_Cmd_Chat","/dxl chat - Ändert den Chat-Modus");

View File

@ -8,9 +8,6 @@ import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.nio.channels.FileChannel; import java.nio.channels.FileChannel;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.milkbowl.vault.permission.Permission; import net.milkbowl.vault.permission.Permission;
import net.minecraft.server.v1_4_6.EntityPlayer; import net.minecraft.server.v1_4_6.EntityPlayer;
import net.minecraft.server.v1_4_6.MinecraftServer; import net.minecraft.server.v1_4_6.MinecraftServer;
@ -19,6 +16,7 @@ import org.apache.commons.lang.math.NumberUtils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.craftbukkit.v1_4_6.CraftServer; import org.bukkit.craftbukkit.v1_4_6.CraftServer;
@ -365,17 +363,17 @@ public class P extends JavaPlugin{
} }
//Msg //Msg
public void msg(Player player,String msg){ public void msg(CommandSender sender,String msg){
msg = replaceColors(msg); msg = replaceColors(msg);
player.sendMessage(ChatColor.DARK_GREEN+"[DXL] "+ChatColor.WHITE+msg); sender.sendMessage(ChatColor.DARK_GREEN+"[DXL] "+ChatColor.WHITE+msg);
} }
public void msg(Player player,String msg, boolean zusatz){ public void msg(CommandSender sender,String msg, boolean zusatz){
msg = replaceColors(msg); msg = replaceColors(msg);
if(zusatz){ if(zusatz){
player.sendMessage(ChatColor.DARK_GREEN+"[DXL]"+ChatColor.WHITE+msg); sender.sendMessage(ChatColor.DARK_GREEN+"[DXL]"+ChatColor.WHITE+msg);
}else{ }else{
player.sendMessage(ChatColor.WHITE+msg); sender.sendMessage(ChatColor.WHITE+msg);
} }
} }
@ -490,14 +488,8 @@ public class P extends JavaPlugin{
// -------------------------------------------- // // -------------------------------------------- //
// LOGGING // LOGGING
// -------------------------------------------- // // -------------------------------------------- //
public void log(Object msg) public void log(String msg)
{ {
log(Level.INFO, msg); this.msg(Bukkit.getConsoleSender(), msg);
} }
public void log(Level level, Object msg)
{
Logger.getLogger("Minecraft").log(level, "["+this.getDescription().getFullName()+"] "+msg);
}
} }

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.DPlayer; import com.dre.dungeonsxl.DPlayer;
@ -10,12 +11,15 @@ public class CMDChat extends DCommand{
this.command="chat"; this.command="chat";
this.args=0; this.args=0;
this.help=p.language.get("Help_Cmd_Chat"); this.help=p.language.get("Help_Cmd_Chat");
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
DPlayer dplayer=DPlayer.get(player); DPlayer dplayer=DPlayer.get(player);
if(dplayer!=null){ if(dplayer!=null){
if(dplayer.isInDungeonChat) { if(dplayer.isInDungeonChat) {
dplayer.isInDungeonChat=false; dplayer.isInDungeonChat=false;

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class CMDChatSpy extends DCommand{ public class CMDChatSpy extends DCommand{
@ -8,16 +9,17 @@ public class CMDChatSpy extends DCommand{
this.args=0; this.args=0;
this.help=p.language.get("Help_Cmd_Chatspy"); this.help=p.language.get("Help_Cmd_Chatspy");
this.permissions="dxl.chatspy"; this.permissions="dxl.chatspy";
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
if(p.chatSpyer.contains(player)){ if(p.chatSpyer.contains(player)){
p.chatSpyer.remove(player); p.chatSpyer.remove(player);
p.msg(player, p.language.get("Cmd_Chatspy_Stopped")); p.msg(player, p.language.get("Cmd_Chatspy_Stopped"));
} } else {
else{
p.chatSpyer.add(player); p.chatSpyer.add(player);
p.msg(player, p.language.get("Cmd_Chatspy_Start")); p.msg(player, p.language.get("Cmd_Chatspy_Start"));
} }

View File

@ -1,5 +1,7 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.DPlayer; import com.dre.dungeonsxl.DPlayer;
@ -12,15 +14,16 @@ public class CMDCreate extends DCommand {
this.command="create"; this.command="create";
this.help=p.language.get("Help_Cmd_Create"); this.help=p.language.get("Help_Cmd_Create");
this.permissions="dxl.create"; this.permissions="dxl.create";
this.isPlayerCommand = true;
this.isConsoleCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
String name=args[1]; String name=args[1];
if(DPlayer.get(player)==null){ if(sender instanceof ConsoleCommandSender){
if(name.length()<=15){ if(name.length()<=15){
//Msg create //Msg create
p.log(p.language.get("Log_NewDungeon")); p.log(p.language.get("Log_NewDungeon"));
p.log(p.language.get("Log_GenerateNewWorld")); p.log(p.language.get("Log_GenerateNewWorld"));
@ -29,23 +32,44 @@ public class CMDCreate extends DCommand {
EditWorld eworld=new EditWorld(); EditWorld eworld=new EditWorld();
eworld.generate(); eworld.generate();
eworld.dungeonname=name; eworld.dungeonname=name;
eworld.save();
eworld.delete();
//MSG Done //MSG Done
p.log(p.language.get("Log_WorldGenerationFinished")); p.log(p.language.get("Log_WorldGenerationFinished"));
}else{
p.msg(sender, p.language.get("Error_NameToLong"));
}
} else if(sender instanceof Player){
Player player = (Player) sender;
if(DPlayer.get(player)==null){
if(name.length()<=15){
//Msg create
p.log(p.language.get("Log_NewDungeon"));
p.log(p.language.get("Log_GenerateNewWorld"));
//Tp Player //Create World
if(eworld.lobby==null){ EditWorld eworld=new EditWorld();
new DPlayer(player,eworld.world,eworld.world.getSpawnLocation(), true); eworld.generate();
eworld.dungeonname=name;
//MSG Done
p.log(p.language.get("Log_WorldGenerationFinished"));
//Tp Player
if(eworld.lobby==null){
new DPlayer(player,eworld.world,eworld.world.getSpawnLocation(), true);
}else{
new DPlayer(player,eworld.world,eworld.lobby, true);
}
}else{ }else{
new DPlayer(player,eworld.world,eworld.lobby, true); p.msg(player, p.language.get("Error_NameToLong"));
} }
}else{ }else{
p.msg(player, p.language.get("Error_NameToLong")); p.msg(player, p.language.get("Error_LeaveDungeon"));
} }
}else{
p.msg(player, p.language.get("Error_LeaveDungeon"));
} }
} }

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.DPortal; import com.dre.dungeonsxl.DPortal;
@ -10,11 +11,14 @@ public class CMDDeletePortal extends DCommand{
this.args = 0; this.args = 0;
this.help = p.language.get("Help_Cmd_DeletePortal"); this.help = p.language.get("Help_Cmd_DeletePortal");
this.permissions = "dxl.deleteportal"; this.permissions = "dxl.deleteportal";
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
DPortal dPortal = DPortal.get(player.getTargetBlock(null, 20).getLocation()); DPortal dPortal = DPortal.get(player.getTargetBlock(null, 20).getLocation());
if(dPortal!=null){ if(dPortal!=null){
dPortal.delete(); dPortal.delete();
p.msg(player, p.language.get("Player_PortalDeleted")); p.msg(player, p.language.get("Player_PortalDeleted"));

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.DGroup; import com.dre.dungeonsxl.DGroup;
@ -12,19 +13,19 @@ public class CMDEdit extends DCommand{
this.command="edit"; this.command="edit";
this.args=1; this.args=1;
this.help=p.language.get("Help_Cmd_Edit"); this.help=p.language.get("Help_Cmd_Edit");
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
String dungeonname=args[1]; Player player = (Player) sender;
EditWorld eworld=EditWorld.load(dungeonname); String dungeonName=args[1];
EditWorld eworld=EditWorld.load(dungeonName);
DGroup dgroup=DGroup.get(player); DGroup dgroup=DGroup.get(player);
DPlayer dplayer=DPlayer.get(player); DPlayer dplayer=DPlayer.get(player);
if(EditWorld.isInvitedPlayer(dungeonname,player.getName())||p.permission.has(player, "dxl.edit")||player.isOp()){ if(EditWorld.isInvitedPlayer(dungeonName,player.getName())||p.permission.has(player, "dxl.edit")||player.isOp()){
if(dplayer==null){ if(dplayer==null){
if(dgroup==null){ if(dgroup==null){
if(eworld!=null){ if(eworld!=null){
@ -34,7 +35,7 @@ public class CMDEdit extends DCommand{
new DPlayer(player,eworld.world,eworld.lobby, true); new DPlayer(player,eworld.world,eworld.lobby, true);
} }
}else{ }else{
p.msg(player,p.language.get("Error_DungeonNotExist",dungeonname)); p.msg(player,p.language.get("Error_DungeonNotExist",dungeonName));
} }
}else{ }else{
p.msg(player,p.language.get("Error_LeaveGroup")); p.msg(player,p.language.get("Error_LeaveGroup"));

View File

@ -1,6 +1,8 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
public class CMDHelp extends DCommand{ public class CMDHelp extends DCommand{
@ -9,10 +11,20 @@ public class CMDHelp extends DCommand{
this.command="help"; this.command="help";
this.args=-1; this.args=-1;
this.help=p.language.get("Help_Cmd_Help"); this.help=p.language.get("Help_Cmd_Help");
this.isPlayerCommand = true;
this.isConsoleCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
boolean isConsole = false, isPlayer = false;
if(sender instanceof ConsoleCommandSender){
isConsole = true;
}else if(sender instanceof Player){
isPlayer = true;
}
int page=1; int page=1;
int pages=(int)(DCommandRoot.root.commands.size()/6); int pages=(int)(DCommandRoot.root.commands.size()/6);
@ -26,22 +38,24 @@ public class CMDHelp extends DCommand{
if(page>pages) page=pages; if(page>pages) page=pages;
} }
p.msg(player, ChatColor.GREEN+"============[ "+ChatColor.GOLD+"Help DungeonsXL - "+page+"/"+pages+ChatColor.GREEN+" ]============",false); p.msg(sender, ChatColor.GREEN+"============[ "+ChatColor.GOLD+"Help DungeonsXL - "+page+"/"+pages+ChatColor.GREEN+" ]============",false);
int i=0; int i=0;
int ipage=1; int ipage=1;
for(DCommand command:DCommandRoot.root.commands){ for(DCommand command:DCommandRoot.root.commands){
i++; if((command.isConsoleCommand && isConsole) || (command.isPlayerCommand && isPlayer)){
if(i>6){ i++;
i=0; if(i>6){
ipage++; i=0;
} ipage++;
if(ipage==page){ }
p.msg(player, ChatColor.YELLOW+command.help,false); if(ipage==page){
p.msg(sender, ChatColor.YELLOW+command.help,false);
}
} }
} }
p.msg(player, ChatColor.GREEN+"==============[ "+ChatColor.GOLD+"By Frank Baumann"+ChatColor.GREEN+" ]==============",false); p.msg(sender, ChatColor.GREEN+"==============[ "+ChatColor.GOLD+"By Frank Baumann"+ChatColor.GREEN+" ]==============",false);
} }
} }

View File

@ -1,24 +1,25 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.entity.Player; import org.bukkit.command.CommandSender;
import com.dre.dungeonsxl.EditWorld; import com.dre.dungeonsxl.EditWorld;
public class CMDInvite extends DCommand{ public class CMDInvite extends DCommand{
public CMDInvite(){ public CMDInvite(){
this.args=2; this.args=2;
this.command="invite"; this.command="invite";
this.help=p.language.get("Help_Cmd_Invite"); this.help=p.language.get("Help_Cmd_Invite");
this.permissions="dxl.invite"; this.permissions="dxl.invite";
this.isPlayerCommand = true;
this.isConsoleCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
if(EditWorld.addInvitedPlayer(args[2], args[1])){ if(EditWorld.addInvitedPlayer(args[2], args[1])){
p.msg(player, p.language.get("Cmd_Invite_Success",args[1],args[2])); p.msg(sender, p.language.get("Cmd_Invite_Success",args[1],args[2]));
}else{ }else{
p.msg(player, p.language.get("Error_DungeonNotExist",args[2])); p.msg(sender, p.language.get("Error_DungeonNotExist",args[2]));
} }
} }
} }

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.DGroup; import com.dre.dungeonsxl.DGroup;
@ -12,10 +13,12 @@ public class CMDLeave extends DCommand {
this.command="leave"; this.command="leave";
this.args=0; this.args=0;
this.help=p.language.get("Help_Cmd_Leave"); this.help=p.language.get("Help_Cmd_Leave");
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
DPlayer dplayer=DPlayer.get(player); DPlayer dplayer=DPlayer.get(player);
if(GameWorld.get(player.getWorld())!=null){ if(GameWorld.get(player.getWorld())!=null){

View File

@ -3,7 +3,7 @@ package com.dre.dungeonsxl.commands;
import java.io.File; import java.io.File;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.entity.Player; import org.bukkit.command.CommandSender;
public class CMDList extends DCommand{ public class CMDList extends DCommand{
@ -11,18 +11,20 @@ public class CMDList extends DCommand{
this.command="list"; this.command="list";
this.args=0; this.args=0;
this.help=p.language.get("Help_Cmd_List"); this.help=p.language.get("Help_Cmd_List");
this.isPlayerCommand = true;
this.isConsoleCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
File dungeonsfolder=new File(p.getDataFolder()+"/dungeons"); File dungeonsfolder=new File(p.getDataFolder()+"/dungeons");
if(dungeonsfolder.exists()){ if(dungeonsfolder.exists()){
p.msg(player, ChatColor.DARK_GREEN+"-----[ "+ChatColor.GOLD+"Dungeons "+ChatColor.RED+dungeonsfolder.list().length+ChatColor.DARK_GREEN+"]-----"); p.msg(sender, ChatColor.DARK_GREEN+"-----[ "+ChatColor.GOLD+"Dungeons "+ChatColor.RED+dungeonsfolder.list().length+ChatColor.DARK_GREEN+"]-----");
for(String dungeon:dungeonsfolder.list()){ for(String dungeon:dungeonsfolder.list()){
p.msg(player, dungeon); p.msg(sender, dungeon);
} }
} }
} }

View File

@ -2,6 +2,7 @@ package com.dre.dungeonsxl.commands;
import java.io.File; import java.io.File;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.DConfig; import com.dre.dungeonsxl.DConfig;
@ -14,10 +15,12 @@ public class CMDMsg extends DCommand{
this.command="msg"; this.command="msg";
this.help=p.language.get("Help_Cmd_Msg"); this.help=p.language.get("Help_Cmd_Msg");
this.permissions="dxl.msg"; this.permissions="dxl.msg";
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
EditWorld eworld=EditWorld.get(player.getWorld()); EditWorld eworld=EditWorld.get(player.getWorld());
if(eworld!=null){ if(eworld!=null){
@ -66,7 +69,7 @@ public class CMDMsg extends DCommand{
} }
}else{ }else{
this.displayhelp(player); this.displayHelp(player);
} }
}else{ }else{
p.msg(player, p.language.get("Error_NotInDungeon")); p.msg(player, p.language.get("Error_NotInDungeon"));

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -13,10 +14,12 @@ public class CMDPortal extends DCommand{
this.args = 0; this.args = 0;
this.help = p.language.get("Help_Cmd_Portal"); this.help = p.language.get("Help_Cmd_Portal");
this.permissions = "dxl.portal"; this.permissions = "dxl.portal";
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
DPlayer dplayer = DPlayer.get(player); DPlayer dplayer = DPlayer.get(player);
if(dplayer == null){ if(dplayer == null){
DPortal dportal = DPortal.get(player); DPortal dportal = DPortal.get(player);

View File

@ -3,8 +3,7 @@ package com.dre.dungeonsxl.commands;
import java.io.File; import java.io.File;
import org.bukkit.entity.Player; import org.bukkit.command.CommandSender;
import com.dre.dungeonsxl.DMobType; import com.dre.dungeonsxl.DMobType;
import com.dre.dungeonsxl.LanguageReader; import com.dre.dungeonsxl.LanguageReader;
import com.dre.dungeonsxl.MainConfig; import com.dre.dungeonsxl.MainConfig;
@ -16,11 +15,13 @@ public class CMDReload extends DCommand{
this.args=0; this.args=0;
this.help=p.language.get("Help_Cmd_Reload"); this.help=p.language.get("Help_Cmd_Reload");
this.permissions="dxl.reload"; this.permissions="dxl.reload";
this.isPlayerCommand = true;
this.isConsoleCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
p.msg(player, p.language.get("Cmd_Reload_Start")); p.msg(sender, p.language.get("Cmd_Reload_Start"));
//Save //Save
p.saveData(); p.saveData();
@ -36,6 +37,6 @@ public class CMDReload extends DCommand{
DMobType.clear(); DMobType.clear();
DMobType.load(new File(p.getDataFolder(), "mobs.yml")); DMobType.load(new File(p.getDataFolder(), "mobs.yml"));
p.msg(player, p.language.get("Cmd_Reload_Done")); p.msg(sender, p.language.get("Cmd_Reload_Done"));
} }
} }

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.EditWorld; import com.dre.dungeonsxl.EditWorld;
@ -11,11 +12,12 @@ public class CMDSave extends DCommand{
this.args=0; this.args=0;
this.help=p.language.get("Help_Cmd_Save"); this.help=p.language.get("Help_Cmd_Save");
this.permissions="dxl.save"; this.permissions="dxl.save";
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
EditWorld eworld=EditWorld.get(player.getWorld()); EditWorld eworld=EditWorld.get(player.getWorld());
if(eworld!=null){ if(eworld!=null){
eworld.save(); eworld.save();

View File

@ -1,5 +1,6 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.DGroup; import com.dre.dungeonsxl.DGroup;
@ -14,10 +15,12 @@ public class CMDTest extends DCommand {
this.args=-1; this.args=-1;
this.help=p.language.get("Help_Cmd_Test"); this.help=p.language.get("Help_Cmd_Test");
this.permissions="dxl.test"; this.permissions="dxl.test";
this.isPlayerCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
Player player = (Player) sender;
DPlayer dplayer=DPlayer.get(player); DPlayer dplayer=DPlayer.get(player);
String dungeonname; String dungeonname;
@ -45,7 +48,7 @@ public class CMDTest extends DCommand {
p.msg(player, p.language.get("Error_DungeonNotExist",dungeonname)); p.msg(player, p.language.get("Error_DungeonNotExist",dungeonname));
} }
}else{ }else{
this.displayhelp(player); this.displayHelp(player);
} }
}else{ }else{
p.msg(player, p.language.get("Error_LeaveDungeon")); p.msg(player, p.language.get("Error_LeaveDungeon"));

View File

@ -1,23 +1,25 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.entity.Player; import org.bukkit.command.CommandSender;
import com.dre.dungeonsxl.EditWorld; import com.dre.dungeonsxl.EditWorld;
public class CMDUninvite extends DCommand{ public class CMDUninvite extends DCommand{
public CMDUninvite(){ public CMDUninvite(){
this.args=2; this.args = 2;
this.command="uninvite"; this.command = "uninvite";
this.help=p.language.get("Help_Cmd_Uninvite"); this.help = p.language.get("Help_Cmd_Uninvite");
this.permissions="dxl.uninvite"; this.permissions = "dxl.uninvite";
this.isPlayerCommand = true;
this.isConsoleCommand = true;
} }
@Override @Override
public void onExecute(String[] args, Player player) { public void onExecute(String[] args, CommandSender sender) {
if(EditWorld.removeInvitedPlayer(args[2], args[1])){ if(EditWorld.removeInvitedPlayer(args[2], args[1])){
p.msg(player, p.language.get("Cmd_Uninvite_Success",args[1],args[2])); p.msg(sender, p.language.get("Cmd_Uninvite_Success",args[1],args[2]));
}else{ }else{
p.msg(player, p.language.get("Error_DungeonNotExist",args[2])); p.msg(sender, p.language.get("Error_DungeonNotExist",args[2]));
} }
} }
} }

View File

@ -1,6 +1,7 @@
package com.dre.dungeonsxl.commands; package com.dre.dungeonsxl.commands;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.P; import com.dre.dungeonsxl.P;
@ -8,12 +9,13 @@ import com.dre.dungeonsxl.P;
public abstract class DCommand { public abstract class DCommand {
public P p=P.p; public P p=P.p;
public Player player;
public boolean costsMoney; public boolean costsMoney;
public String command; public String command;
public int args; public int args;
public String help; public String help;
public String permissions; public String permissions;
public boolean isPlayerCommand = false;
public boolean isConsoleCommand = false;
// TODO : Add Aliases // TODO : Add Aliases
@ -21,8 +23,8 @@ public abstract class DCommand {
costsMoney = false; costsMoney = false;
} }
public void displayhelp(Player player){ public void displayHelp(CommandSender sender){
p.msg(player,ChatColor.RED+this.help); p.msg(sender,ChatColor.RED+this.help);
} }
public boolean playerHasPermissions(Player player){ public boolean playerHasPermissions(Player player){
@ -37,7 +39,7 @@ public abstract class DCommand {
} }
//Abstracts //Abstracts
public abstract void onExecute(String[] args, Player player); public abstract void onExecute(String[] args, CommandSender sender);
} }

View File

@ -3,6 +3,7 @@ package com.dre.dungeonsxl.listener;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import com.dre.dungeonsxl.P; import com.dre.dungeonsxl.P;
@ -13,35 +14,46 @@ public class CommandListener implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender sender, Command cmd_notused, String arg, String[] args) { public boolean onCommand(CommandSender sender, Command cmd_notused, String arg, String[] args) {
if(args.length > 0){
String cmd = args[0];
//Only Playercommands for(DCommand command:DCommandRoot.root.commands){
if(sender instanceof Player){ if(cmd.equals(command.command)){
Player player = (Player) sender; if(sender instanceof ConsoleCommandSender){
if(args.length > 0){ if(!command.isConsoleCommand){
String cmd = args[0]; P.p.msg(sender, P.p.language.get("Log_Error_NoConsoleCommand", command.command));
return false;
}
}
if(sender instanceof Player){
Player player = (Player) sender;
if(!command.isPlayerCommand){
P.p.msg(player, P.p.language.get("Error_NoPlayerCommand", command.command));
return false;
} else {
if(!command.playerHasPermissions(player)){
P.p.msg(player, P.p.language.get("Error_NoPermissions"));
return false;
}
}
}
if(command.args == args.length-1 || command.args == -1){
command.onExecute(args,sender);
return true;
} else {
command.displayHelp(sender);
}
}
}
for(DCommand command:DCommandRoot.root.commands){ P.p.msg(sender, P.p.language.get("Error_CmdNotExist1",cmd));
if(cmd.equals(command.command)){ P.p.msg(sender, P.p.language.get("Error_CmdNotExist2"));
if(command.playerHasPermissions(player)){ }else{
if(command.args==args.length-1||command.args==-1){ DCommandRoot.root.cmdHelp.onExecute(args,sender);
command.onExecute(args,player);
}else{
command.displayhelp(player);
}
}
else{
P.p.msg(player, P.p.language.get("Error_NoPermissions"));
}
return true;
}
}
P.p.msg(player, P.p.language.get("Error_CmdNotExist1",cmd));
P.p.msg(player, P.p.language.get("Error_CmdNotExist2"));
}else{
DCommandRoot.root.cmdHelp.onExecute(args,player);
}
} }
return false; return false;
} }