mirror of
https://github.com/DRE2N/DungeonsXL.git
synced 2024-11-24 19:45:43 +01:00
Started with the new config system
This commit is contained in:
parent
466b7305a7
commit
4693b641b0
@ -1,195 +0,0 @@
|
||||
package com.dre.dungeonsxl;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class ConfigReader {
|
||||
public static P p=P.p;
|
||||
|
||||
public File file;
|
||||
|
||||
private CopyOnWriteArrayList<DClass> dclasses=new CopyOnWriteArrayList<DClass>();
|
||||
public CopyOnWriteArrayList<String> invitedPlayer = new CopyOnWriteArrayList<String>();
|
||||
public Map<Integer,String> msgs=new HashMap<Integer,String>();
|
||||
public CopyOnWriteArrayList<Material> secureobjects=new CopyOnWriteArrayList<Material>();
|
||||
|
||||
public boolean isLobbyDisabled=false;
|
||||
public int timeToNextPlay=0;
|
||||
public int timeToNextLoot=0;
|
||||
|
||||
public ConfigReader(File file){
|
||||
this.file=file;
|
||||
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
|
||||
//Read Classes
|
||||
int id=0;
|
||||
String preString;
|
||||
do{
|
||||
id++;
|
||||
preString="classes."+id+".";
|
||||
if(configFile.contains(preString)){
|
||||
String name=configFile.getString(preString+".name");
|
||||
boolean hasDog=configFile.getBoolean(preString+".hasdog");
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> items=(List<String>) configFile.getList(preString+".items");
|
||||
|
||||
CopyOnWriteArrayList<ItemStack> istacks=new CopyOnWriteArrayList<ItemStack>();
|
||||
|
||||
for(String item:items){
|
||||
String[] itemsplit=item.split(",");
|
||||
if(itemsplit.length>0){
|
||||
int itemId=0,itemData=0,itemSize=1,itemLvlEnchantment=1;
|
||||
Enchantment itemEnchantment=null;
|
||||
|
||||
//Check Id & Data
|
||||
String[] idAndData=itemsplit[0].split("/");
|
||||
|
||||
itemId=Integer.parseInt(idAndData[0]);
|
||||
|
||||
if(idAndData.length>1){
|
||||
itemData=Integer.parseInt(idAndData[1]);
|
||||
}
|
||||
|
||||
//Size
|
||||
if(itemsplit.length>1){
|
||||
itemSize=Integer.parseInt(itemsplit[1]);
|
||||
}
|
||||
|
||||
//Enchantment
|
||||
if(itemsplit.length>2){
|
||||
String[] enchantmentSplit=itemsplit[2].split("/");
|
||||
|
||||
itemEnchantment=Enchantment.getByName(enchantmentSplit[0]);
|
||||
|
||||
if(enchantmentSplit.length>1){
|
||||
itemLvlEnchantment=Integer.parseInt(enchantmentSplit[1]);
|
||||
}
|
||||
}
|
||||
|
||||
//Add Item to Stacks
|
||||
ItemStack istack=new ItemStack(itemId,itemSize,(short) itemData);
|
||||
if(itemEnchantment!=null){
|
||||
istack.addEnchantment(itemEnchantment, itemLvlEnchantment);
|
||||
}
|
||||
|
||||
istacks.add(istack);
|
||||
}
|
||||
}
|
||||
dclasses.add(new DClass(name,istacks,hasDog));
|
||||
}
|
||||
}while(configFile.contains(preString));
|
||||
|
||||
//Read Messages
|
||||
ConfigurationSection configSetion = configFile.getConfigurationSection("message");
|
||||
if(configSetion!=null){
|
||||
Set<String> list=configSetion.getKeys(false);
|
||||
for(String messagePath:list){
|
||||
int messageId=Integer.parseInt(messagePath);
|
||||
this.msgs.put(messageId,configSetion.getString(messagePath));
|
||||
}
|
||||
}
|
||||
|
||||
//Read Secure Objects
|
||||
if(configFile.contains("secureobjects")){
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Integer> secureobjectlist=(List<Integer>) configFile.getList("secureobjects");
|
||||
for(int i:secureobjectlist){
|
||||
this.secureobjects.add(Material.getMaterial(i));
|
||||
}
|
||||
}
|
||||
|
||||
//Read Invited Player
|
||||
if(configFile.contains("invitedplayers")){
|
||||
@SuppressWarnings("unchecked")
|
||||
List<String> invitedplayers=(List<String>) configFile.getList("invitedplayers");
|
||||
for(String i:invitedplayers){
|
||||
this.invitedPlayer.add(i);
|
||||
}
|
||||
}
|
||||
|
||||
//Read Tutorial-Mode
|
||||
if(configFile.contains("tutorialdungeon")){
|
||||
p.tutorialDungeon=configFile.getString("tutorialdungeon");
|
||||
p.tutorialStartGroup=configFile.getString("tutorialstartgroup");
|
||||
p.tutorialEndGroup=configFile.getString("tutorialendgroup");
|
||||
}
|
||||
|
||||
//Read Lobby disabled
|
||||
if(configFile.contains("islobbydisabled")){
|
||||
isLobbyDisabled=configFile.getBoolean("islobbydisabled");
|
||||
}
|
||||
|
||||
if(configFile.contains("timetonextplay")){
|
||||
timeToNextPlay=configFile.getInt("timetonextplay");
|
||||
}
|
||||
|
||||
if(configFile.contains("timetonextloot")){
|
||||
timeToNextLoot=configFile.getInt("timetonextloot");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public String getMsg(int id){
|
||||
return this.msgs.get(id);
|
||||
}
|
||||
|
||||
|
||||
//Save
|
||||
public void save(){
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(this.file);
|
||||
|
||||
//Classes don't save
|
||||
|
||||
//Messages
|
||||
for(Integer msgs:this.msgs.keySet()){
|
||||
configFile.set("message."+msgs, this.msgs.get(msgs));
|
||||
}
|
||||
|
||||
//Secure Objects
|
||||
CopyOnWriteArrayList<Integer> secureobjectsids=new CopyOnWriteArrayList<Integer>();
|
||||
|
||||
for(Material mat:this.secureobjects){
|
||||
secureobjectsids.add(mat.getId());
|
||||
}
|
||||
|
||||
configFile.set("secureobjects", secureobjectsids);
|
||||
|
||||
//Invited Players
|
||||
configFile.set("invitedplayers", this.invitedPlayer);
|
||||
|
||||
try {
|
||||
configFile.save(this.file);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
//Classes
|
||||
|
||||
public CopyOnWriteArrayList<DClass> getClasses(){
|
||||
return dclasses;
|
||||
}
|
||||
|
||||
public DClass getClass(String name){
|
||||
for(DClass dclass:dclasses){
|
||||
if(dclass.name.equals(name)){
|
||||
return dclass;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
188
src/com/dre/dungeonsxl/DConfig.java
Normal file
188
src/com/dre/dungeonsxl/DConfig.java
Normal file
@ -0,0 +1,188 @@
|
||||
package com.dre.dungeonsxl;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
public class DConfig {
|
||||
public File file;
|
||||
|
||||
private CopyOnWriteArrayList<DClass> dClasses = new CopyOnWriteArrayList<DClass>();
|
||||
public Map<Integer,String> msgs = new HashMap<Integer,String>();
|
||||
|
||||
public CopyOnWriteArrayList<String> invitedPlayers = new CopyOnWriteArrayList<String>();
|
||||
public CopyOnWriteArrayList<Material> secureObjects = new CopyOnWriteArrayList<Material>();
|
||||
|
||||
public boolean isLobbyDisabled = false;
|
||||
public int timeToNextPlay = 0;
|
||||
public int timeToNextLoot = 0;
|
||||
|
||||
public DConfig(File file){
|
||||
this.file=file;
|
||||
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
|
||||
load(configFile);
|
||||
}
|
||||
|
||||
public DConfig(ConfigurationSection configFile){
|
||||
load(configFile);
|
||||
}
|
||||
|
||||
//Load & Save
|
||||
public void load(ConfigurationSection configFile){
|
||||
|
||||
/* Classes */
|
||||
ConfigurationSection configSetionClasses = configFile.getConfigurationSection("classes");
|
||||
if(configSetionClasses!=null){
|
||||
Set<String> list = configSetionClasses.getKeys(false);
|
||||
for (String className:list) {
|
||||
String name = className;
|
||||
boolean hasDog = configSetionClasses.getBoolean(className+".hasdog");
|
||||
|
||||
/* Items */
|
||||
List<String> items = configSetionClasses.getStringList(className+".items");
|
||||
CopyOnWriteArrayList<ItemStack> istacks=new CopyOnWriteArrayList<ItemStack>();
|
||||
|
||||
for(String item:items){
|
||||
String[] itemsplit=item.split(",");
|
||||
if(itemsplit.length>0){
|
||||
int itemId=0,itemData=0,itemSize=1,itemLvlEnchantment=1;
|
||||
Enchantment itemEnchantment=null;
|
||||
|
||||
//Check Id & Data
|
||||
String[] idAndData=itemsplit[0].split("/");
|
||||
itemId=Integer.parseInt(idAndData[0]);
|
||||
|
||||
if(idAndData.length>1){
|
||||
itemData=Integer.parseInt(idAndData[1]);
|
||||
}
|
||||
|
||||
//Size
|
||||
if(itemsplit.length>1){
|
||||
itemSize=Integer.parseInt(itemsplit[1]);
|
||||
}
|
||||
|
||||
//Enchantment
|
||||
if(itemsplit.length>2){
|
||||
String[] enchantmentSplit=itemsplit[2].split("/");
|
||||
|
||||
itemEnchantment=Enchantment.getByName(enchantmentSplit[0]);
|
||||
|
||||
if(enchantmentSplit.length>1){
|
||||
itemLvlEnchantment=Integer.parseInt(enchantmentSplit[1]);
|
||||
}
|
||||
}
|
||||
|
||||
//Add Item to Stacks
|
||||
ItemStack istack=new ItemStack(itemId,itemSize,(short) itemData);
|
||||
if(itemEnchantment!=null){
|
||||
istack.addEnchantment(itemEnchantment, itemLvlEnchantment);
|
||||
}
|
||||
|
||||
istacks.add(istack);
|
||||
}
|
||||
}
|
||||
this.dClasses.add(new DClass(name,istacks,hasDog));
|
||||
}
|
||||
}
|
||||
|
||||
/* Messages */
|
||||
ConfigurationSection configSetionMessages = configFile.getConfigurationSection("message");
|
||||
if (configSetionMessages != null) {
|
||||
Set<String> list = configSetionMessages.getKeys(false);
|
||||
for (String messagePath:list) {
|
||||
int messageId = Integer.parseInt(messagePath);
|
||||
this.msgs.put(messageId,configSetionMessages.getString(messagePath));
|
||||
}
|
||||
}
|
||||
|
||||
/* Secure Objects */
|
||||
if(configFile.contains("secureobjects")){
|
||||
List<Integer> secureobjectlist = configFile.getIntegerList("secureobjects");
|
||||
for(int i:secureobjectlist){
|
||||
this.secureObjects.add(Material.getMaterial(i));
|
||||
}
|
||||
}
|
||||
|
||||
/* Invited Players */
|
||||
if(configFile.contains("invitedplayers")){
|
||||
List<String> invitedplayers = configFile.getStringList("invitedplayers");
|
||||
for(String i:invitedplayers){
|
||||
this.invitedPlayers.add(i);
|
||||
}
|
||||
}
|
||||
|
||||
/* Lobby */
|
||||
if(configFile.contains("islobbydisabled")){
|
||||
isLobbyDisabled = configFile.getBoolean("islobbydisabled");
|
||||
}
|
||||
|
||||
/* Times */
|
||||
if(configFile.contains("timetonextplay")){
|
||||
timeToNextPlay = configFile.getInt("timetonextplay");
|
||||
}
|
||||
|
||||
if(configFile.contains("timetonextloot")){
|
||||
timeToNextLoot = configFile.getInt("timetonextloot");
|
||||
}
|
||||
}
|
||||
|
||||
public void save(){
|
||||
if(this.file!=null){
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(this.file);
|
||||
|
||||
//Messages
|
||||
for(Integer msgs:this.msgs.keySet()){
|
||||
configFile.set("message."+msgs, this.msgs.get(msgs));
|
||||
}
|
||||
|
||||
//Secure Objects
|
||||
CopyOnWriteArrayList<Integer> secureobjectsids=new CopyOnWriteArrayList<Integer>();
|
||||
|
||||
for(Material mat:this.secureObjects){
|
||||
secureobjectsids.add(mat.getId());
|
||||
}
|
||||
|
||||
configFile.set("secureobjects", secureobjectsids);
|
||||
|
||||
//Invited Players
|
||||
configFile.set("invitedplayers", this.invitedPlayers);
|
||||
|
||||
try {
|
||||
configFile.save(this.file);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Get
|
||||
public CopyOnWriteArrayList<DClass> getClasses(){
|
||||
return dClasses;
|
||||
}
|
||||
|
||||
public DClass getClass(String name){
|
||||
for(DClass dClass:dClasses){
|
||||
if(dClass.name.equals(name)){
|
||||
return dClass;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getMsg(int id){
|
||||
return this.msgs.get(id);
|
||||
}
|
||||
}
|
@ -246,7 +246,7 @@ public class DGSign {
|
||||
else{
|
||||
File file=new File(P.p.getDataFolder()+"/dungeons/"+dgsign.dungeonName, "config.yml");
|
||||
if(file!=null){
|
||||
ConfigReader confReader=new ConfigReader(file);
|
||||
DConfig confReader=new DConfig(file);
|
||||
if(confReader!=null){
|
||||
P.p.msg(player, P.p.language.get("Error_Cooldown",""+confReader.timeToNextPlay));
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ public class DPlayer {
|
||||
if(isEditing) this.player.setGameMode(GameMode.CREATIVE); else this.player.setGameMode(GameMode.SURVIVAL);
|
||||
|
||||
if(!isEditing){
|
||||
if(GameWorld.get(world).confReader.isLobbyDisabled){
|
||||
if(GameWorld.get(world).config.isLobbyDisabled){
|
||||
this.ready();
|
||||
}
|
||||
}
|
||||
@ -156,8 +156,8 @@ public class DPlayer {
|
||||
|
||||
//Tutorial Permissions
|
||||
if(gworld.isTutorial){
|
||||
p.permission.playerAddGroup(this.player, p.tutorialEndGroup);
|
||||
p.permission.playerRemoveGroup(this.player, p.tutorialStartGroup);
|
||||
p.permission.playerAddGroup(this.player, p.mainConfig.tutorialEndGroup);
|
||||
p.permission.playerRemoveGroup(this.player, p.mainConfig.tutorialStartGroup);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -284,7 +284,7 @@ public class DPlayer {
|
||||
GameWorld gworld=GameWorld.get(this.player.getWorld());
|
||||
if(gworld==null) return;
|
||||
|
||||
DClass dclass=gworld.confReader.getClass(classname);
|
||||
DClass dclass=gworld.config.getClass(classname);
|
||||
if(dclass!=null){
|
||||
if(this.dclass!=dclass){
|
||||
this.dclass=dclass;
|
||||
|
@ -221,9 +221,9 @@ public class EditWorld {
|
||||
eworld.invitedPlayers.add(player.toLowerCase());
|
||||
}else{
|
||||
if(exist(eworldname)){
|
||||
ConfigReader confreader=new ConfigReader(new File(p.getDataFolder()+"/dungeons/"+eworldname, "config.yml"));
|
||||
confreader.invitedPlayer.add(player.toLowerCase());
|
||||
confreader.save();
|
||||
DConfig config=new DConfig(new File(p.getDataFolder()+"/dungeons/"+eworldname, "config.yml"));
|
||||
config.invitedPlayers.add(player.toLowerCase());
|
||||
config.save();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -240,15 +240,14 @@ public class EditWorld {
|
||||
eworld.invitedPlayers.remove(player.toLowerCase());
|
||||
}else{
|
||||
if(exist(eworldname)){
|
||||
ConfigReader confreader=new ConfigReader(new File(p.getDataFolder()+"/dungeons/"+eworldname, "config.yml"));
|
||||
confreader.invitedPlayer.remove(player.toLowerCase());
|
||||
confreader.save();
|
||||
DConfig config=new DConfig(new File(p.getDataFolder()+"/dungeons/"+eworldname, "config.yml"));
|
||||
config.invitedPlayers.remove(player.toLowerCase());
|
||||
config.save();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
public static boolean isInvitedPlayer(String eworldname,String player){
|
||||
@ -259,8 +258,8 @@ public class EditWorld {
|
||||
return eworld.invitedPlayers.contains(player.toLowerCase());
|
||||
}else{
|
||||
if(exist(eworldname)){
|
||||
ConfigReader confreader=new ConfigReader(new File(p.getDataFolder()+"/dungeons/"+eworldname, "config.yml"));
|
||||
return confreader.invitedPlayer.contains(player.toLowerCase());
|
||||
DConfig config=new DConfig(new File(p.getDataFolder()+"/dungeons/"+eworldname, "config.yml"));
|
||||
return config.invitedPlayers.contains(player.toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
|
58
src/com/dre/dungeonsxl/MainConfig.java
Normal file
58
src/com/dre/dungeonsxl/MainConfig.java
Normal file
@ -0,0 +1,58 @@
|
||||
package com.dre.dungeonsxl;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
public class MainConfig {
|
||||
|
||||
public String language = "de";
|
||||
public boolean economyActivated = false;
|
||||
|
||||
/* Tutorial */
|
||||
public boolean tutorialActivated = false;
|
||||
public String tutorialDungeon = "tutorial";
|
||||
public String tutorialStartGroup = "default";
|
||||
public String tutorialEndGroup = "player";
|
||||
|
||||
/* Default Dungeon Settings */
|
||||
public DConfig defaultDungeon;
|
||||
|
||||
public MainConfig(File file){
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
|
||||
/* Main Config */
|
||||
if(configFile.contains("language")){
|
||||
this.language = configFile.getString("language");
|
||||
}
|
||||
|
||||
if(configFile.contains("economyActivated")){
|
||||
this.economyActivated = configFile.getBoolean("economyActivated");
|
||||
}
|
||||
|
||||
if(configFile.contains("tutorial.activated")){
|
||||
this.tutorialActivated = configFile.getBoolean("tutorial.activated");
|
||||
}
|
||||
|
||||
if(configFile.contains("tutorial.dungeon")){
|
||||
this.tutorialDungeon = configFile.getString("tutorial.dungeon");
|
||||
}
|
||||
|
||||
if(configFile.contains("tutorial.startgroup")){
|
||||
this.tutorialStartGroup = configFile.getString("tutorial.startgroup");
|
||||
}
|
||||
|
||||
if(configFile.contains("tutorial.endgroup")){
|
||||
this.tutorialEndGroup = configFile.getString("tutorial.endgroup");
|
||||
}
|
||||
|
||||
/* Default Dungeon Config */
|
||||
ConfigurationSection configSetion = configFile.getConfigurationSection("default");
|
||||
if(configSetion!=null){
|
||||
defaultDungeon = new DConfig(configSetion);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -42,32 +42,27 @@ public class P extends JavaPlugin{
|
||||
private static Listener blocklistener;
|
||||
|
||||
//Main Config Reader
|
||||
public ConfigReader mainConfig;
|
||||
public MainConfig mainConfig;
|
||||
|
||||
//Language Reader
|
||||
public LanguageReader language;
|
||||
|
||||
//Tutorial
|
||||
public String tutorialDungeon;
|
||||
public String tutorialStartGroup;
|
||||
public String tutorialEndGroup;
|
||||
|
||||
//Chatspyer
|
||||
public CopyOnWriteArrayList<Player> chatSpyer=new CopyOnWriteArrayList<Player>();
|
||||
|
||||
|
||||
@Override
|
||||
public void onEnable(){
|
||||
p=this;
|
||||
p = this;
|
||||
|
||||
//Commands
|
||||
getCommand("dungeonsxl").setExecutor(new CommandListener());
|
||||
|
||||
//Load Config
|
||||
mainConfig=new ConfigReader(new File(p.getDataFolder(), "config.yml"));
|
||||
mainConfig=new MainConfig(new File(p.getDataFolder(), "config.yml"));
|
||||
|
||||
//Load Language
|
||||
language = new LanguageReader(new File(p.getDataFolder(), "languages/de.yml"));
|
||||
language = new LanguageReader(new File(p.getDataFolder(), "languages/"+mainConfig.language+".yml"));
|
||||
|
||||
//Init Classes
|
||||
new DCommandRoot();
|
||||
@ -79,9 +74,9 @@ public class P extends JavaPlugin{
|
||||
this.setupPermissions();
|
||||
|
||||
//Listener
|
||||
entitylistener=new EntityListener();
|
||||
playerlistener=new PlayerListener();
|
||||
blocklistener=new BlockListener();
|
||||
entitylistener = new EntityListener();
|
||||
playerlistener = new PlayerListener();
|
||||
blocklistener = new BlockListener();
|
||||
|
||||
Bukkit.getServer().getPluginManager().registerEvents(entitylistener,this);
|
||||
Bukkit.getServer().getPluginManager().registerEvents(playerlistener,this);
|
||||
@ -122,29 +117,31 @@ public class P extends JavaPlugin{
|
||||
DPlayer.update(true);
|
||||
|
||||
//Tutorial Mode
|
||||
for(Player player:p.getServer().getOnlinePlayers()){
|
||||
if(DPlayer.get(player)==null){
|
||||
if(p.tutorialDungeon!=null && p.tutorialStartGroup!=null && p.tutorialEndGroup!=null){
|
||||
for(String group:p.permission.getPlayerGroups(player)){
|
||||
if(p.tutorialStartGroup.equalsIgnoreCase(group)){
|
||||
DGroup dgroup=new DGroup(player, p.tutorialDungeon);
|
||||
if(dgroup.gworld==null){
|
||||
dgroup.gworld=GameWorld.load(DGroup.get(player).dungeonname);
|
||||
dgroup.gworld.isTutorial=true;
|
||||
}
|
||||
if(dgroup.gworld!=null){
|
||||
if(dgroup.gworld.locLobby==null){
|
||||
new DPlayer(player,dgroup.gworld.world,dgroup.gworld.world.getSpawnLocation(), false);
|
||||
}else{
|
||||
new DPlayer(player,dgroup.gworld.world,dgroup.gworld.locLobby, false);
|
||||
}
|
||||
}else{
|
||||
p.msg(player,p.language.get("Error_TutorialNotExist"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if(p.mainConfig.tutorialActivated){
|
||||
for(Player player:p.getServer().getOnlinePlayers()){
|
||||
if(DPlayer.get(player)==null){
|
||||
if(p.mainConfig.tutorialDungeon!=null && p.mainConfig.tutorialStartGroup!=null && p.mainConfig.tutorialEndGroup!=null){
|
||||
for(String group:p.permission.getPlayerGroups(player)){
|
||||
if(p.mainConfig.tutorialStartGroup.equalsIgnoreCase(group)){
|
||||
DGroup dgroup=new DGroup(player, p.mainConfig.tutorialDungeon);
|
||||
if(dgroup.gworld==null){
|
||||
dgroup.gworld=GameWorld.load(DGroup.get(player).dungeonname);
|
||||
dgroup.gworld.isTutorial=true;
|
||||
}
|
||||
if(dgroup.gworld!=null){
|
||||
if(dgroup.gworld.locLobby==null){
|
||||
new DPlayer(player,dgroup.gworld.world,dgroup.gworld.world.getSpawnLocation(), false);
|
||||
}else{
|
||||
new DPlayer(player,dgroup.gworld.world,dgroup.gworld.locLobby, false);
|
||||
}
|
||||
}else{
|
||||
p.msg(player,p.language.get("Error_TutorialNotExist"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}, 0L, 20L);
|
||||
|
@ -4,7 +4,7 @@ import java.io.File;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
import com.dre.dungeonsxl.ConfigReader;
|
||||
import com.dre.dungeonsxl.DConfig;
|
||||
import com.dre.dungeonsxl.EditWorld;
|
||||
|
||||
public class CMDMsg extends DCommand{
|
||||
@ -25,7 +25,7 @@ public class CMDMsg extends DCommand{
|
||||
try{
|
||||
int id=Integer.parseInt(args[1]);
|
||||
|
||||
ConfigReader confreader=new ConfigReader(new File(p.getDataFolder()+"/dungeons/"+eworld.dungeonname, "config.yml"));
|
||||
DConfig confreader = new DConfig(new File(p.getDataFolder()+"/dungeons/"+eworld.dungeonname, "config.yml"));
|
||||
|
||||
if(args.length==2){
|
||||
String msg=confreader.msgs.get(id);
|
||||
|
@ -20,7 +20,7 @@ public class GameMessage {
|
||||
|
||||
public GameMessage(Block block, int msgid,GameWorld gworld,int radius){
|
||||
this.block=block;
|
||||
this.msg=gworld.confReader.getMsg(msgid);
|
||||
this.msg=gworld.config.getMsg(msgid);
|
||||
this.gworld=gworld;
|
||||
this.radius=radius;
|
||||
|
||||
|
@ -22,8 +22,8 @@ import org.bukkit.entity.LivingEntity;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.Spider;
|
||||
|
||||
import com.dre.dungeonsxl.ConfigReader;
|
||||
import com.dre.dungeonsxl.DClass;
|
||||
import com.dre.dungeonsxl.DConfig;
|
||||
import com.dre.dungeonsxl.DGSign;
|
||||
import com.dre.dungeonsxl.DPlayer;
|
||||
import com.dre.dungeonsxl.P;
|
||||
@ -50,7 +50,7 @@ public class GameWorld {
|
||||
public CopyOnWriteArrayList<Sign> signClass=new CopyOnWriteArrayList<Sign>();
|
||||
public CopyOnWriteArrayList<DMob> dmobs = new CopyOnWriteArrayList<DMob>();
|
||||
public CopyOnWriteArrayList<GameChest> gchests = new CopyOnWriteArrayList<GameChest>();
|
||||
public ConfigReader confReader;
|
||||
public DConfig config;
|
||||
|
||||
public GameWorld(){
|
||||
gworlds.add(this);
|
||||
@ -110,13 +110,13 @@ public class GameWorld {
|
||||
sign.update();
|
||||
}
|
||||
if(lines[1].equalsIgnoreCase("classes")){
|
||||
if(!confReader.isLobbyDisabled){
|
||||
if(!config.isLobbyDisabled){
|
||||
int[] direction=DGSign.getDirection(block.getData());
|
||||
int directionX=direction[0];
|
||||
int directionZ=direction[1];
|
||||
|
||||
int xx=0,zz=0;
|
||||
for(DClass dclass:this.confReader.getClasses()){
|
||||
for(DClass dclass:this.config.getClasses()){
|
||||
|
||||
//Check existing signs
|
||||
boolean isContinued=true;
|
||||
@ -279,9 +279,9 @@ public class GameWorld {
|
||||
|
||||
File dungeonFolder=new File(p.getDataFolder()+"/dungeons/"+dungeon);
|
||||
if(dungeonFolder.isDirectory()){
|
||||
ConfigReader confReader=new ConfigReader(new File(p.getDataFolder()+"/dungeons/"+dungeon, "config.yml"));
|
||||
DConfig config=new DConfig(new File(p.getDataFolder()+"/dungeons/"+dungeon, "config.yml"));
|
||||
|
||||
if(confReader.timeToNextPlay!=0){
|
||||
if(config.timeToNextPlay!=0){
|
||||
//read PlayerConfig
|
||||
File file=new File(p.getDataFolder()+"/dungeons/"+dungeon, "players.yml");
|
||||
|
||||
@ -298,7 +298,7 @@ public class GameWorld {
|
||||
|
||||
if(playerConfig.contains(player.getName())){
|
||||
Long time=playerConfig.getLong(player.getName());
|
||||
if(time+(confReader.timeToNextPlay*1000*60*60)>System.currentTimeMillis()){
|
||||
if(time+(config.timeToNextPlay*1000*60*60)>System.currentTimeMillis()){
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -330,10 +330,10 @@ public class GameWorld {
|
||||
|
||||
|
||||
//Config einlesen
|
||||
gworld.confReader=new ConfigReader(new File(p.getDataFolder()+"/dungeons/"+gworld.dungeonname, "config.yml"));
|
||||
gworld.config = new DConfig(new File(p.getDataFolder()+"/dungeons/"+gworld.dungeonname, "config.yml"));
|
||||
|
||||
//Secure Objects
|
||||
gworld.secureobjects=gworld.confReader.secureobjects;
|
||||
gworld.secureobjects=gworld.config.secureObjects;
|
||||
|
||||
//World
|
||||
p.copyDirectory(file,new File("DXL_Game_"+gworld.id));
|
||||
|
@ -194,7 +194,7 @@ public class PlayerListener implements Listener{
|
||||
DPlayer dplayer=DPlayer.get(player);
|
||||
GameWorld gworld=GameWorld.get(dplayer.world);
|
||||
if(dplayer!=null){
|
||||
for(Material material:gworld.confReader.secureobjects){
|
||||
for(Material material:gworld.config.secureObjects){
|
||||
if(material==event.getItemDrop().getItemStack().getType()){
|
||||
event.setCancelled(true);
|
||||
p.msg(player,p.language.get("Error_Drop"));
|
||||
|
Loading…
Reference in New Issue
Block a user