diff --git a/pom.xml b/pom.xml
index 84ef005..1808667 100644
--- a/pom.xml
+++ b/pom.xml
@@ -37,6 +37,7 @@
${project.basedir}/src/main/resources
plugin.yml
+ config.yml
diff --git a/src/main/java/de/steev/bm/BetterMinecraft.java b/src/main/java/de/steev/bm/BetterMinecraft.java
index 7a92030..4d6af9e 100644
--- a/src/main/java/de/steev/bm/BetterMinecraft.java
+++ b/src/main/java/de/steev/bm/BetterMinecraft.java
@@ -41,6 +41,7 @@ public class BetterMinecraft extends JavaPlugin implements Listener {
this.getLogger().info(prefix + ChatColor.WHITE + "Plugin Startet");
this.getLogger().info(prefix + ChatColor.WHITE + "Initializing Gamemanager");
gameManager = new GameManager(this);
+ this.saveDefaultConfig();
// Registers Events
this.getLogger().info(prefix + ChatColor.WHITE + "Lade Events");
diff --git a/src/main/java/de/steev/bm/Commands/back.java b/src/main/java/de/steev/bm/Commands/back.java
index 4a16be8..99d3f93 100644
--- a/src/main/java/de/steev/bm/Commands/back.java
+++ b/src/main/java/de/steev/bm/Commands/back.java
@@ -17,8 +17,14 @@ public class back implements CommandExecutor {
@Override
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
+ if (!this.gameManager.getConfigManager().GetBool("back_command")) {
+ commandSender.sendMessage("back command ist nicht aktiv");
+ return false;
+ }
+
Player player = (Player) commandSender.getServer().getPlayer(commandSender.getName());
Location lastDeath;
+
try {
lastDeath = this.gameManager.getPlugin().getPlayerDataConfig().getLocation(player.getUniqueId() + ".death");
player.teleport(lastDeath);
@@ -27,6 +33,7 @@ public class back implements CommandExecutor {
} catch (Exception ex) {
commandSender.sendMessage("Tot nicht gefunden!");
}
+
return false;
}
}
diff --git a/src/main/java/de/steev/bm/Listener/BedListener.java b/src/main/java/de/steev/bm/Listener/BedListener.java
index adf6d9b..56bee62 100644
--- a/src/main/java/de/steev/bm/Listener/BedListener.java
+++ b/src/main/java/de/steev/bm/Listener/BedListener.java
@@ -21,7 +21,7 @@ public class BedListener implements Listener {
@EventHandler // Adding to the Player Variable
public void onPlayerBedEnter(PlayerBedEnterEvent event) {
final World world = event.getPlayer().getWorld();
- if(world.getTime() >= 13000 || world.getThunderDuration() > 0) {
+ if(world.getTime() >= 13000 || world.getThunderDuration() > 0 && this.gameManager.getConfigManager().GetBool("improved_bed")) {
this.gameManager.getPlugin().playerInBed++;
// Checks if enough Players (currentSleeping >= OnlinePlayerAmount/2) are Sleeping
if(this.gameManager.getPlugin().playerInBed >= (int)this.gameManager.getPlugin().getServer().getOnlinePlayers().size()/2) {
diff --git a/src/main/java/de/steev/bm/Listener/InteractListener.java b/src/main/java/de/steev/bm/Listener/InteractListener.java
index 8054c85..d14808c 100644
--- a/src/main/java/de/steev/bm/Listener/InteractListener.java
+++ b/src/main/java/de/steev/bm/Listener/InteractListener.java
@@ -21,7 +21,7 @@ public class InteractListener implements Listener {
@EventHandler
public void onPlayerInteract(PlayerInteractEvent event){
- if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
+ if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK) && this.gameManager.getConfigManager().GetBool("replanting")){
/** the clicked block */
Block target = event.getClickedBlock();
diff --git a/src/main/java/de/steev/bm/Listener/KillListener.java b/src/main/java/de/steev/bm/Listener/KillListener.java
index ca01c18..cccfe23 100644
--- a/src/main/java/de/steev/bm/Listener/KillListener.java
+++ b/src/main/java/de/steev/bm/Listener/KillListener.java
@@ -29,12 +29,12 @@ public class KillListener implements Listener {
int[] amounts;
Material[] drops;
- if(event.getEntity() instanceof Player){
+ if(event.getEntity() instanceof Player && this.gameManager.getConfigManager().GetBool("back_command")){
Location death = ((Player) event.getEntity()).getPlayer().getLocation();
UUID uuid = ((Player) event.getEntity()).getPlayer().getUniqueId();
this.gameManager.getPlugin().getPlayerDataConfig().set("" + uuid + ".death", death);
} else if(event.getEntity() instanceof Animals) {
- if(event.getEntity().toString() == "CraftPig"){
+ if(event.getEntity().toString() == "CraftPig" && this.gameManager.getConfigManager().GetBool("custom_drops")){
amounts = new int[]{ 2,2 };
drops = new Material[]{Material.LEATHER, Material.PORKCHOP};
Death.onAnimalDeath(amounts, drops, this.gameManager.getPlugin(), event);
diff --git a/src/main/java/de/steev/bm/Manager/ConfigManager.java b/src/main/java/de/steev/bm/Manager/ConfigManager.java
new file mode 100644
index 0000000..1812f37
--- /dev/null
+++ b/src/main/java/de/steev/bm/Manager/ConfigManager.java
@@ -0,0 +1,14 @@
+package de.steev.bm.Manager;
+
+public class ConfigManager {
+
+ private GameManager gameManager;
+
+ public ConfigManager(GameManager gameManager) {
+ this.gameManager = gameManager;
+ }
+
+ public boolean GetBool(String Key){
+ return gameManager.getPlugin().getConfig().getBoolean(Key);
+ }
+}
diff --git a/src/main/java/de/steev/bm/Manager/GameManager.java b/src/main/java/de/steev/bm/Manager/GameManager.java
index 7a22b36..ae43b07 100644
--- a/src/main/java/de/steev/bm/Manager/GameManager.java
+++ b/src/main/java/de/steev/bm/Manager/GameManager.java
@@ -12,6 +12,7 @@ public class GameManager {
private BetterMinecraft plugin;
private RecipyManager recipyManager;
private PlayerManager playerManager;
+ private ConfigManager configManager;
/**
* initilizes the Gamemanager and all systems beneath it
@@ -26,20 +27,22 @@ public class GameManager {
this.recipyManager = new RecipyManager(this);
this.playerManager = new PlayerManager(this);
+ this.configManager = new ConfigManager(this);
- this.plugin.getLogger().info("registring Recipies");
- this.plugin.getLogger().info("saddle");
- char[] s_ing = { 'L', 'S', 'I', 'W' };
- String[] s_rec = { "LLL", "SWS", "I I" };
- Material[] s_mat = { Material.LEATHER, Material.STRING, Material.IRON_INGOT, Material.WHITE_WOOL};
- this.recipyManager.RegisterNew(s_ing, s_mat, s_rec, 1, Material.SADDLE, "Saddle");
-
- this.plugin.getLogger().info("String");
- char[] w_ing = { 'W', 'F', };
- String[] w_rec = { " W ", "WFW", " W " };
- Material[] w_mat = { Material.WHITE_WOOL, Material.FLINT };
- this.recipyManager.RegisterNew(w_ing, w_mat, w_rec, 4, Material.STRING, "String");
+ if (this.configManager.GetBool("custom_recipes")) {
+ this.plugin.getLogger().info("registring Recipies");
+ this.plugin.getLogger().info("saddle");
+ char[] s_ing = {'L', 'S', 'I', 'W'};
+ String[] s_rec = {"LLL", "SWS", "I I"};
+ Material[] s_mat = {Material.LEATHER, Material.STRING, Material.IRON_INGOT, Material.WHITE_WOOL};
+ this.recipyManager.RegisterNew(s_ing, s_mat, s_rec, 1, Material.SADDLE, "Saddle");
+ this.plugin.getLogger().info("String");
+ char[] w_ing = {'W', 'F',};
+ String[] w_rec = {" W ", "WFW", " W "};
+ Material[] w_mat = {Material.WHITE_WOOL, Material.FLINT};
+ this.recipyManager.RegisterNew(w_ing, w_mat, w_rec, 4, Material.STRING, "String");
+ }
}
public BetterMinecraft getPlugin(){
@@ -53,5 +56,9 @@ public class GameManager {
public PlayerManager getPlayerManager() {
return playerManager;
}
+
+ public ConfigManager getConfigManager() {
+ return configManager;
+ }
}
diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml
new file mode 100644
index 0000000..896d463
--- /dev/null
+++ b/src/main/resources/config.yml
@@ -0,0 +1,5 @@
+improved_bed: true
+custom_drops: true
+custom_recipes: true
+replanting: true
+back_command: true
\ No newline at end of file