Started work on Dungeon code
This commit is contained in:
parent
8940793094
commit
61aaec1ef6
3 changed files with 104 additions and 0 deletions
|
@ -0,0 +1,16 @@
|
|||
package buttondevteam.presents.dungeon;
|
||||
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
import buttondevteam.presents.architecture.Component;
|
||||
|
||||
public class DungeonComponent extends Component{
|
||||
|
||||
@Override
|
||||
public void register(JavaPlugin plugin) {
|
||||
this.registerCommand(plugin, new DungeonCreate());
|
||||
this.registerCommand(plugin, new DungeonDelete());
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
package buttondevteam.presents.dungeon;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import buttondevteam.lib.chat.CommandClass;
|
||||
import buttondevteam.presents.architecture.commands.ModCommand;
|
||||
|
||||
@CommandClass(path="dungeon create")
|
||||
public class DungeonCreate extends ModCommand{
|
||||
|
||||
@Override
|
||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
||||
|
||||
if(args.length < 1) return false;
|
||||
|
||||
String dungeonName = args[0];
|
||||
FileConfiguration config = this.getPlugin().getConfig();
|
||||
|
||||
if (config.contains("dungeons." + dungeonName)){
|
||||
player.sendMessage("There already exists a dungeon named " + dungeonName);
|
||||
player.sendMessage("Type /dungeon info [dungeonname] to get more information");
|
||||
}
|
||||
else{
|
||||
config.set("dungeon." + dungeonName, true);
|
||||
config.set("dungeon." + dungeonName + ".owner", player.getName());
|
||||
config.set("dungeon." + dungeonName + ".spawn", player.getLocation().toString());
|
||||
config.set("dungeon." + dungeonName + ".created", System.currentTimeMillis());
|
||||
this.getPlugin().saveConfig();
|
||||
|
||||
assert(dungeonName ==
|
||||
this.getPlugin()
|
||||
.getConfig()
|
||||
.getString("dungeon." + dungeonName));
|
||||
|
||||
player.sendMessage("New dungeon named " + dungeonName + " created.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public String[] GetHelpText(String alias){
|
||||
return new String[] {
|
||||
"/dungeon create [dungeonName]",
|
||||
"instantiates a new dungeon, setting the dungeon spawn to the player location"
|
||||
};
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package buttondevteam.presents.dungeon;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import buttondevteam.lib.chat.CommandClass;
|
||||
import buttondevteam.presents.architecture.commands.ModCommand;
|
||||
|
||||
@CommandClass(path="dungeon delete")
|
||||
public class DungeonDelete extends ModCommand{
|
||||
|
||||
@Override
|
||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
||||
|
||||
if (args.length < 1) return false;
|
||||
|
||||
String dungeonName = args[0];
|
||||
FileConfiguration config = this.getPlugin().getConfig();
|
||||
|
||||
if(!config.contains("dungeon." + dungeonName)){
|
||||
player.sendMessage("This dungeon does not exist!");
|
||||
String output = "Valid dungeons are:";
|
||||
for(String key : config.getConfigurationSection("dungeon").getKeys(false)){
|
||||
output += key;
|
||||
output += ", ";
|
||||
}
|
||||
player.sendMessage(output);
|
||||
}else{
|
||||
for(String key : config.getConfigurationSection("dungeon." + dungeonName).getKeys(true)){
|
||||
config.set("dungeon." + dungeonName + "." + key, null);
|
||||
}
|
||||
player.sendMessage("Dungeon " + dungeonName + " deleted.");
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in a new issue