From 08488b813e8ec968d7b4ef8d8a8fd0fa7700499b Mon Sep 17 00:00:00 2001 From: Steev Date: Tue, 3 Oct 2023 23:01:06 +0200 Subject: [PATCH 01/19] .gitea/workflows/release.yml aktualisiert --- .gitea/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 2f68c81..186b39f 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -3,7 +3,7 @@ name: Build and Release Minecraft Plugin on: push: branches: - - Release + - main jobs: build: From 3ea10a825d3f6a7bdcd65ea16be2c1bc20ab9066 Mon Sep 17 00:00:00 2001 From: Steev Date: Tue, 3 Oct 2023 23:11:58 +0200 Subject: [PATCH 02/19] .gitea/workflows/release.yml aktualisiert --- .gitea/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 186b39f..d9ea60e 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -30,7 +30,7 @@ jobs: run: mvn clean install - name: Upload Artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: plugin-jar path: target/BetterMinecraft-stable.jar From 2c433163467e9e125aef26e6b855a90cb5fde089 Mon Sep 17 00:00:00 2001 From: Steev Date: Tue, 3 Oct 2023 23:15:54 +0200 Subject: [PATCH 03/19] .gitea/workflows/release.yml aktualisiert --- .gitea/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index d9ea60e..45f96d7 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -32,7 +32,7 @@ jobs: - name: Upload Artifact uses: actions/upload-artifact@v3 with: - name: plugin-jar + name: target/BetterMinecraft-stable.jar path: target/BetterMinecraft-stable.jar release: From b469378cd32e18cfba6455f737ed8cea7030e98d Mon Sep 17 00:00:00 2001 From: Steev Date: Tue, 3 Oct 2023 23:19:02 +0200 Subject: [PATCH 04/19] .gitea/workflows/release.yml aktualisiert --- .gitea/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 45f96d7..8cd4df3 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -32,7 +32,7 @@ jobs: - name: Upload Artifact uses: actions/upload-artifact@v3 with: - name: target/BetterMinecraft-stable.jar + name: BetterMinecraft-stable.jar path: target/BetterMinecraft-stable.jar release: @@ -62,7 +62,7 @@ jobs: uses: softprops/action-gh-release@v1 with: files: | - target/BetterMinecraft-stable.jar + BetterMinecraft-stable.jar tag_name: ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }} release_name: Release ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }} draft: false From 9e70ee87f55079529e48744404007d8a774b832a Mon Sep 17 00:00:00 2001 From: Steev Date: Tue, 3 Oct 2023 23:24:39 +0200 Subject: [PATCH 05/19] .gitea/workflows/release.yml aktualisiert --- .gitea/workflows/release.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 8cd4df3..1365488 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -34,11 +34,7 @@ jobs: with: name: BetterMinecraft-stable.jar path: target/BetterMinecraft-stable.jar - - release: - needs: build - - steps: + steps: - name: Checkout Repository uses: actions/checkout@v2 @@ -62,7 +58,7 @@ jobs: uses: softprops/action-gh-release@v1 with: files: | - BetterMinecraft-stable.jar + target/BetterMinecraft-stable.jar tag_name: ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }} release_name: Release ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }} draft: false From 30002d348a3e10b1fc9576e66f3048387d2e8581 Mon Sep 17 00:00:00 2001 From: Steev Date: Tue, 3 Oct 2023 23:30:15 +0200 Subject: [PATCH 06/19] .gitea/workflows/release.yml.disabled aktualisiert --- .gitea/workflows/{release.yml => release.yml.disabled} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .gitea/workflows/{release.yml => release.yml.disabled} (100%) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml.disabled similarity index 100% rename from .gitea/workflows/release.yml rename to .gitea/workflows/release.yml.disabled From 9468552fdc444d6513013703d182a43e80232234 Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 11:10:39 +0200 Subject: [PATCH 07/19] added death event --- .gitea/workflows/release.yml.off | 65 +++++++++++++++++++ .../java/de/steev/bm/events/DeathEvent.java | 26 ++++++++ src/main/java/de/steev/bm/main.java | 2 + 3 files changed, 93 insertions(+) create mode 100644 .gitea/workflows/release.yml.off create mode 100644 src/main/java/de/steev/bm/events/DeathEvent.java diff --git a/.gitea/workflows/release.yml.off b/.gitea/workflows/release.yml.off new file mode 100644 index 0000000..dbed1db --- /dev/null +++ b/.gitea/workflows/release.yml.off @@ -0,0 +1,65 @@ +name: Build and Release Minecraft Plugin + +on: + push: + branches: + - Release + +jobs: + build: + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Set up Java 17 + uses: actions/setup-java@v2 + with: + java-version: '17' + distribution: 'adopt' # Verwenden Sie 'adopt' für Java 17 + + - name: Update Apt + run: apt update -y + + - name: Update CA certificates + run: apt-get install --reinstall ca-certificates -y + + - name: Install Maven + run: apt install maven -y + + - name: Build with Maven + run: mvn clean install + + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: BetterMinecraft-stable.jar + path: target/BetterMinecraft-stable.jar + steps: + - name: Checkout Repository + uses: actions/checkout@v2 + + - name: Get letzte Release-Version + id: get_version + run: echo "::set-output name=version::$(git describe --tags --abbrev=0 || echo '0.0.0')" + + - name: Incrementiere Version + id: increment_version + run: | + IFS='.' read -ra VERSION <<< "${{ steps.get_version.outputs.version }}" + MAJOR="${VERSION[0]}" + MINOR="${VERSION[1]}" + PATCH="${VERSION[2]}" + echo "::set-output name=major::$(($MAJOR + 1))" + echo "::set-output name=minor::$(($MINOR + 1))" + echo "::set-output name=patch::$(($PATCH + 1))" + + - name: Create Release + id: create_release + uses: softprops/action-gh-release@v1 + with: + files: | + target/BetterMinecraft-stable.jar + tag_name: ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }} + release_name: Release ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }} + draft: false + prerelease: false \ No newline at end of file diff --git a/src/main/java/de/steev/bm/events/DeathEvent.java b/src/main/java/de/steev/bm/events/DeathEvent.java new file mode 100644 index 0000000..3d31820 --- /dev/null +++ b/src/main/java/de/steev/bm/events/DeathEvent.java @@ -0,0 +1,26 @@ +package de.steev.bm.events; + +import de.steev.bm.main; +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.PlayerDeathEvent; + +public class DeathEvent implements Listener { + + private main plugin; + + public DeathEvent(main plugin) { + plugin.getLogger().info("Death events Registered"); + this.plugin = plugin; + } + + @EventHandler + public void OnPlayerDeath(PlayerDeathEvent e) { + Player player = (Player) e.getEntity(); + + Location loc = player.getLocation(); + this.plugin.playerDataConfig.set(player.getUniqueId() + ".death", loc); + } +} diff --git a/src/main/java/de/steev/bm/main.java b/src/main/java/de/steev/bm/main.java index 7439dda..4f8f11c 100644 --- a/src/main/java/de/steev/bm/main.java +++ b/src/main/java/de/steev/bm/main.java @@ -2,6 +2,7 @@ package de.steev.bm; import de.steev.bm.changes.interaction.Item_Recipy_Override; import de.steev.bm.events.BedEvent; +import de.steev.bm.events.DeathEvent; import de.steev.bm.events.InteractEvent; import de.steev.bm.events.KillEvent; @@ -42,6 +43,7 @@ public class main extends JavaPlugin implements Listener { this.getServer().getPluginManager().registerEvents(new BedEvent(this), this); this.getServer().getPluginManager().registerEvents(new KillEvent(this), this); this.getServer().getPluginManager().registerEvents(new InteractEvent(this), this); + this.getServer().getPluginManager().registerEvents(new DeathEvent(this), this); this.getServer().getPluginManager().registerEvents(this, this); // PlayerData From 60cddc4b509bbcaf3b7a29617af15d0039754c7c Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 11:31:15 +0200 Subject: [PATCH 08/19] added death command --- src/main/java/de/steev/bm/Commands/back.java | 23 ++++++++++++++++---- src/main/java/de/steev/bm/main.java | 4 ++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/steev/bm/Commands/back.java b/src/main/java/de/steev/bm/Commands/back.java index a863540..dac0e67 100644 --- a/src/main/java/de/steev/bm/Commands/back.java +++ b/src/main/java/de/steev/bm/Commands/back.java @@ -1,16 +1,31 @@ package de.steev.bm.Commands; +import de.steev.bm.main; +import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; public class back implements CommandExecutor { - // TODO save death coordinates in playerdata - // TODO grab them - // TODO ensure the position is safe - // TODO teleport player back + main plugin; + + public back(main plugin) { + this.plugin = plugin; + } + @Override public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { + Player player = (Player) commandSender.getServer().getPlayer(commandSender.getName()); + Location lastDeath; + try { + lastDeath = plugin.playerDataConfig.getLocation(player.getUniqueId() + ".death"); + player.teleport(lastDeath); + plugin.playerDataConfig.set(player.getUniqueId() + ".death", null); + commandSender.sendMessage("Du wurdest Teleportiert. Dein todespunkt ist nun entfernt worden."); + } catch (Exception ex) { + commandSender.sendMessage("Tot nicht gefunden!"); + } return false; } } diff --git a/src/main/java/de/steev/bm/main.java b/src/main/java/de/steev/bm/main.java index 4f8f11c..42b9373 100644 --- a/src/main/java/de/steev/bm/main.java +++ b/src/main/java/de/steev/bm/main.java @@ -95,6 +95,10 @@ public class main extends JavaPlugin implements Listener { } } + public FileConfiguration getPlayerDataConfig(){ + return this.playerDataConfig; + } + public void onDisable() { // Even more Messaging this.getLogger().info(ChatColor.AQUA + "Ich geh dann mal :c"); From ea3a60258716ae027f493e7fff1609e17a3d9f3b Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 11:32:48 +0200 Subject: [PATCH 09/19] registered command --- src/main/java/de/steev/bm/main.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/de/steev/bm/main.java b/src/main/java/de/steev/bm/main.java index 42b9373..94afa2d 100644 --- a/src/main/java/de/steev/bm/main.java +++ b/src/main/java/de/steev/bm/main.java @@ -1,5 +1,6 @@ package de.steev.bm; +import de.steev.bm.Commands.back; import de.steev.bm.changes.interaction.Item_Recipy_Override; import de.steev.bm.events.BedEvent; import de.steev.bm.events.DeathEvent; @@ -46,6 +47,8 @@ public class main extends JavaPlugin implements Listener { this.getServer().getPluginManager().registerEvents(new DeathEvent(this), this); this.getServer().getPluginManager().registerEvents(this, this); + this.getCommand("back").setExecutor(new back(this)); + // PlayerData playerdata = new File(this.getDataFolder(), playerdatafilename); playerDataConfig = YamlConfiguration.loadConfiguration(playerdata); From fa719cb6741c69f2e99aee9388fbf2f54cca4d87 Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 14:10:57 +0200 Subject: [PATCH 10/19] moved code to new structure --- Docs/allclasses-index.html | 4 +- Docs/allpackages-index.html | 2 +- .../interaction/Item_Recipy_Override.html | 4 +- .../bm/changes/interaction/Replanting.html | 4 +- .../changes/interaction/package-summary.html | 12 ++-- .../bm/changes/interaction/package-tree.html | 10 ++-- Docs/element-list | 2 +- Docs/index-files/index-10.html | 4 +- Docs/index-files/index-11.html | 10 ++-- Docs/index-files/index-4.html | 2 +- Docs/index-files/index-5.html | 6 +- Docs/index.html | 2 +- Docs/member-search-index.js | 2 +- Docs/overview-tree.html | 6 +- Docs/package-search-index.js | 2 +- Docs/type-search-index.js | 2 +- plugin.yml | 4 -- pom.xml | 6 -- .../bm/{main.java => BetterMinecraft.java} | 54 +++++++----------- src/main/java/de/steev/bm/Commands/back.java | 13 +++-- .../interaction => Interaction}/Death.java | 6 +- .../Item_Recipy_Override.java | 8 +-- .../replanting.java | 9 ++- .../de/steev/bm/Listener/BedListener.java | 53 +++++++++++++++++ .../InteractListener.java} | 17 +++--- .../de/steev/bm/Listener/KillListener.java | 44 ++++++++++++++ .../java/de/steev/bm/Manager/GameManager.java | 57 +++++++++++++++++++ .../de/steev/bm/Manager/PlayerManager.java | 41 +++++++++++++ .../de/steev/bm/Manager/RecipyManager.java | 41 +++++++++++++ .../java/de/steev/bm/changes/env/weather.java | 22 ------- .../java/de/steev/bm/events/BedEvent.java | 52 ----------------- .../java/de/steev/bm/events/DeathEvent.java | 26 --------- .../java/de/steev/bm/events/KillEvent.java | 47 --------------- src/main/resources/plugin.yml | 7 +++ 34 files changed, 329 insertions(+), 252 deletions(-) delete mode 100644 plugin.yml rename src/main/java/de/steev/bm/{main.java => BetterMinecraft.java} (59%) rename src/main/java/de/steev/bm/{changes/interaction => Interaction}/Death.java (89%) rename src/main/java/de/steev/bm/{changes/interaction => Interaction}/Item_Recipy_Override.java (86%) rename src/main/java/de/steev/bm/{changes/interaction => Interaction}/replanting.java (88%) create mode 100644 src/main/java/de/steev/bm/Listener/BedListener.java rename src/main/java/de/steev/bm/{events/InteractEvent.java => Listener/InteractListener.java} (81%) create mode 100644 src/main/java/de/steev/bm/Listener/KillListener.java create mode 100644 src/main/java/de/steev/bm/Manager/GameManager.java create mode 100644 src/main/java/de/steev/bm/Manager/PlayerManager.java create mode 100644 src/main/java/de/steev/bm/Manager/RecipyManager.java delete mode 100644 src/main/java/de/steev/bm/changes/env/weather.java delete mode 100644 src/main/java/de/steev/bm/events/BedEvent.java delete mode 100644 src/main/java/de/steev/bm/events/DeathEvent.java delete mode 100644 src/main/java/de/steev/bm/events/KillEvent.java create mode 100644 src/main/resources/plugin.yml diff --git a/Docs/allclasses-index.html b/Docs/allclasses-index.html index e4f54eb..5b3bf63 100644 --- a/Docs/allclasses-index.html +++ b/Docs/allclasses-index.html @@ -87,7 +87,7 @@ loadScripts(document, 'script');
handles block interactions
- +
handles custom recipes
@@ -107,7 +107,7 @@ loadScripts(document, 'script');
handles block placing
- +
handles the replanting mechanic
diff --git a/Docs/allpackages-index.html b/Docs/allpackages-index.html index 8a4f5fa..b35fb9f 100644 --- a/Docs/allpackages-index.html +++ b/Docs/allpackages-index.html @@ -62,7 +62,7 @@ loadScripts(document, 'script');
 
 
- +
 
 
diff --git a/Docs/de/steev/bm/changes/interaction/Item_Recipy_Override.html b/Docs/de/steev/bm/changes/interaction/Item_Recipy_Override.html index d424404..4af9ac1 100644 --- a/Docs/de/steev/bm/changes/interaction/Item_Recipy_Override.html +++ b/Docs/de/steev/bm/changes/interaction/Item_Recipy_Override.html @@ -7,7 +7,7 @@ - + @@ -72,7 +72,7 @@ loadScripts(document, 'script');
- +

Class Item_Recipy_Override

java.lang.Object diff --git a/Docs/de/steev/bm/changes/interaction/Replanting.html b/Docs/de/steev/bm/changes/interaction/Replanting.html index a5c809d..1ebe71c 100644 --- a/Docs/de/steev/bm/changes/interaction/Replanting.html +++ b/Docs/de/steev/bm/changes/interaction/Replanting.html @@ -7,7 +7,7 @@ - + @@ -72,7 +72,7 @@ loadScripts(document, 'script');
- +

Class Replanting

java.lang.Object diff --git a/Docs/de/steev/bm/changes/interaction/package-summary.html b/Docs/de/steev/bm/changes/interaction/package-summary.html index ee1a38c..5ccaf5c 100644 --- a/Docs/de/steev/bm/changes/interaction/package-summary.html +++ b/Docs/de/steev/bm/changes/interaction/package-summary.html @@ -3,11 +3,11 @@ -de.steev.bm.changes.interaction +de.steev.bm.Interaction - + @@ -52,10 +52,10 @@ loadScripts(document, 'script');
-

Package de.steev.bm.changes.interaction

+

Package de.steev.bm.Interaction


-
package de.steev.bm.changes.interaction
+
package de.steev.bm.Interaction
  • @@ -63,11 +63,11 @@ loadScripts(document, 'script');
    Class
    Description
    - +
    handles custom recipes
    - +
    handles the replanting mechanic
    diff --git a/Docs/de/steev/bm/changes/interaction/package-tree.html b/Docs/de/steev/bm/changes/interaction/package-tree.html index 2771644..aec8769 100644 --- a/Docs/de/steev/bm/changes/interaction/package-tree.html +++ b/Docs/de/steev/bm/changes/interaction/package-tree.html @@ -3,11 +3,11 @@ -de.steev.bm.changes.interaction Class Hierarchy +de.steev.bm.Interaction Class Hierarchy - + @@ -52,7 +52,7 @@ loadScripts(document, 'script');
    -

    Hierarchy For Package de.steev.bm.changes.interaction

    +

    Hierarchy For Package de.steev.bm.Interaction

    Package Hierarchies:
    • All Packages
    • @@ -63,8 +63,8 @@ loadScripts(document, 'script'); diff --git a/Docs/element-list b/Docs/element-list index 6ee523f..4bc64ef 100644 --- a/Docs/element-list +++ b/Docs/element-list @@ -1,6 +1,6 @@ de.steev.bm de.steev.bm.changes.env -de.steev.bm.changes.interaction +de.steev.bm.Interaction de.steev.bm.Commands de.steev.bm.crafting de.steev.bm.events diff --git a/Docs/index-files/index-10.html b/Docs/index-files/index-10.html index 4573e97..ed45f34 100644 --- a/Docs/index-files/index-10.html +++ b/Docs/index-files/index-10.html @@ -79,11 +79,11 @@ loadScripts(document, 'script');
      Variable for how many player got to bed
      -
      plugin - Variable in class de.steev.bm.changes.interaction.Item_Recipy_Override
      +
      plugin - Variable in class de.steev.bm.Interaction.Item_Recipy_Override
      plugin reference
      -
      plugin - Variable in class de.steev.bm.changes.interaction.Replanting
      +
      plugin - Variable in class de.steev.bm.Interaction.Replanting
      plugin reference
      diff --git a/Docs/index-files/index-11.html b/Docs/index-files/index-11.html index a42a526..b76425f 100644 --- a/Docs/index-files/index-11.html +++ b/Docs/index-files/index-11.html @@ -57,23 +57,23 @@ loadScripts(document, 'script'); A B C D I K L M O P R S V W 
      All Classes|All Packages|Constant Field Values|Deprecated API

      R

      -
      rec_item - Static variable in class de.steev.bm.changes.interaction.Item_Recipy_Override
      +
      rec_item - Static variable in class de.steev.bm.Interaction.Item_Recipy_Override
      the recipe shape
      -
      register_recipy(char[], Material[], String[]) - Static method in class de.steev.bm.changes.interaction.Item_Recipy_Override
      +
      register_recipy(char[], Material[], String[]) - Static method in class de.steev.bm.Interaction.Item_Recipy_Override
      registers custom recipes
      -
      replanting(Block, Location, Material[], int[]) - Static method in class de.steev.bm.changes.interaction.Replanting
      +
      replanting(Block, Location, Material[], int[]) - Static method in class de.steev.bm.Interaction.Replanting
      handles the replanting mechanic in a better way
      -
      Replanting - Class in de.steev.bm.changes.interaction
      +
      Replanting - Class in de.steev.bm.Interaction
      handles the replanting mechanic
      -
      Replanting(main) - Constructor for class de.steev.bm.changes.interaction.Replanting
      +
      Replanting(main) - Constructor for class de.steev.bm.Interaction.Replanting
      constructor
      diff --git a/Docs/index-files/index-4.html b/Docs/index-files/index-4.html index 95dd269..d69710b 100644 --- a/Docs/index-files/index-4.html +++ b/Docs/index-files/index-4.html @@ -61,7 +61,7 @@ loadScripts(document, 'script');
       
      de.steev.bm.changes.env - package de.steev.bm.changes.env
       
      -
      de.steev.bm.changes.interaction - package de.steev.bm.changes.interaction
      +
      de.steev.bm.Interaction - package de.steev.bm.Interaction
       
      de.steev.bm.Commands - package de.steev.bm.Commands
       
      diff --git a/Docs/index-files/index-5.html b/Docs/index-files/index-5.html index 3341a32..f601f63 100644 --- a/Docs/index-files/index-5.html +++ b/Docs/index-files/index-5.html @@ -67,15 +67,15 @@ loadScripts(document, 'script');
      returns if there is a thunderstorm
      -
      item - Variable in class de.steev.bm.changes.interaction.Item_Recipy_Override
      +
      item - Variable in class de.steev.bm.Interaction.Item_Recipy_Override
      the namepsace key
      -
      Item_Recipy_Override - Class in de.steev.bm.changes.interaction
      +
      Item_Recipy_Override - Class in de.steev.bm.Interaction
      handles custom recipes
      -
      Item_Recipy_Override(main, String, Material, int) - Constructor for class de.steev.bm.changes.interaction.Item_Recipy_Override
      +
      Item_Recipy_Override(main, String, Material, int) - Constructor for class de.steev.bm.Interaction.Item_Recipy_Override
      Overrides Vanilla Recipes
      diff --git a/Docs/index.html b/Docs/index.html index 0dffd70..b95c674 100644 --- a/Docs/index.html +++ b/Docs/index.html @@ -60,7 +60,7 @@ loadScripts(document, 'script');
       
       
      - +
       
       
      diff --git a/Docs/member-search-index.js b/Docs/member-search-index.js index 646382e..356fb39 100644 --- a/Docs/member-search-index.js +++ b/Docs/member-search-index.js @@ -1 +1 @@ -memberSearchIndex = [{"p":"de.steev.bm.mechanics.autocrafting","c":"AutoCraftingTable","l":"AutoCraftingTable(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.Commands","c":"back","l":"back(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.events","c":"BedEvent","l":"BedEvent(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.events","c":"BreakEvent","l":"BreakEvent()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.changes.env","c":"weather","l":"changeWeather(World)","u":"changeWeather(org.bukkit.World)"},{"p":"de.steev.bm.mechanics.chunkloading","c":"ChunkLoader","l":"ChunkLoader(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.crafting","c":"CraftItem","l":"CraftItem(String[][], String)","u":"%3Cinit%3E(java.lang.String[][],java.lang.String)"},{"p":"de.steev.bm.changes.env","c":"weather","l":"delay"},{"p":"de.steev.bm.events","c":"InteractEvent","l":"InteractEvent()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.changes.env","c":"weather","l":"isThunder(World)","u":"isThunder(org.bukkit.World)"},{"p":"de.steev.bm.changes.interaction","c":"Item_Recipy_Override","l":"item"},{"p":"de.steev.bm.changes.interaction","c":"Item_Recipy_Override","l":"Item_Recipy_Override(main, String, Material, int)","u":"%3Cinit%3E(de.steev.bm.main,java.lang.String,org.bukkit.Material,int)"},{"p":"de.steev.bm.mechanics.autocrafting","c":"ItemPipe","l":"ItemPipe()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.events","c":"KillEvent","l":"KillEvent(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.changes.env","c":"weather","l":"lastThunder"},{"p":"de.steev.bm","c":"main","l":"main()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.Commands","c":"back","l":"onCommand(CommandSender, Command, String, String[])","u":"onCommand(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String[])"},{"p":"de.steev.bm","c":"main","l":"onDisable()"},{"p":"de.steev.bm","c":"main","l":"onEnable()"},{"p":"de.steev.bm.events","c":"KillEvent","l":"onEntityDeath(EntityDeathEvent)","u":"onEntityDeath(org.bukkit.event.entity.EntityDeathEvent)"},{"p":"de.steev.bm.events","c":"BedEvent","l":"onPlayerBedEnter(PlayerBedEnterEvent)","u":"onPlayerBedEnter(org.bukkit.event.player.PlayerBedEnterEvent)"},{"p":"de.steev.bm.events","c":"BedEvent","l":"onPlayerBedLeave(PlayerBedLeaveEvent)","u":"onPlayerBedLeave(org.bukkit.event.player.PlayerBedLeaveEvent)"},{"p":"de.steev.bm.events","c":"InteractEvent","l":"onPlayerInteract(PlayerInteractEvent)","u":"onPlayerInteract(org.bukkit.event.player.PlayerInteractEvent)"},{"p":"de.steev.bm","c":"main","l":"onPlayerJoin(PlayerJoinEvent)","u":"onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent)"},{"p":"de.steev.bm.events","c":"PlaceEvent","l":"PlaceEvent()","u":"%3Cinit%3E()"},{"p":"de.steev.bm","c":"main","l":"playerdata"},{"p":"de.steev.bm","c":"main","l":"playerDataConfig"},{"p":"de.steev.bm","c":"main","l":"playerdatafilename"},{"p":"de.steev.bm","c":"main","l":"playerInBed"},{"p":"de.steev.bm.changes.interaction","c":"Item_Recipy_Override","l":"plugin"},{"p":"de.steev.bm.changes.interaction","c":"Replanting","l":"plugin"},{"p":"de.steev.bm.Commands","c":"back","l":"plugin"},{"p":"de.steev.bm.events","c":"BedEvent","l":"plugin"},{"p":"de.steev.bm.events","c":"KillEvent","l":"plugin"},{"p":"de.steev.bm.mechanics.autocrafting","c":"AutoCraftingTable","l":"plugin"},{"p":"de.steev.bm.mechanics.chunkloading","c":"ChunkLoader","l":"plugin"},{"p":"de.steev.bm.changes.interaction","c":"Item_Recipy_Override","l":"rec_item"},{"p":"de.steev.bm.changes.interaction","c":"Item_Recipy_Override","l":"register_recipy(char[], Material[], String[])","u":"register_recipy(char[],org.bukkit.Material[],java.lang.String[])"},{"p":"de.steev.bm.changes.interaction","c":"Replanting","l":"replanting(Block, Location, Material[], int[])","u":"replanting(org.bukkit.block.Block,org.bukkit.Location,org.bukkit.Material[],int[])"},{"p":"de.steev.bm.changes.interaction","c":"Replanting","l":"Replanting(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm","c":"main","l":"saveplayerdata()"},{"p":"de.steev.bm","c":"main","l":"version"},{"p":"de.steev.bm.changes.env","c":"weather","l":"weather()","u":"%3Cinit%3E()"},{"p":"de.steev.bm","c":"main","l":"world"}];updateSearchResults(); \ No newline at end of file +memberSearchIndex = [{"p":"de.steev.bm.mechanics.autocrafting","c":"AutoCraftingTable","l":"AutoCraftingTable(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.Commands","c":"back","l":"back(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.events","c":"BedEvent","l":"BedEvent(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.events","c":"BreakEvent","l":"BreakEvent()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.changes.env","c":"weather","l":"changeWeather(World)","u":"changeWeather(org.bukkit.World)"},{"p":"de.steev.bm.mechanics.chunkloading","c":"ChunkLoader","l":"ChunkLoader(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.crafting","c":"CraftItem","l":"CraftItem(String[][], String)","u":"%3Cinit%3E(java.lang.String[][],java.lang.String)"},{"p":"de.steev.bm.changes.env","c":"weather","l":"delay"},{"p":"de.steev.bm.events","c":"InteractEvent","l":"InteractEvent()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.changes.env","c":"weather","l":"isThunder(World)","u":"isThunder(org.bukkit.World)"},{"p":"de.steev.bm.interaction","c":"Item_Recipy_Override","l":"item"},{"p":"de.steev.bm.interaction","c":"Item_Recipy_Override","l":"Item_Recipy_Override(main, String, Material, int)","u":"%3Cinit%3E(de.steev.bm.main,java.lang.String,org.bukkit.Material,int)"},{"p":"de.steev.bm.mechanics.autocrafting","c":"ItemPipe","l":"ItemPipe()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.events","c":"KillEvent","l":"KillEvent(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm.changes.env","c":"weather","l":"lastThunder"},{"p":"de.steev.bm","c":"main","l":"main()","u":"%3Cinit%3E()"},{"p":"de.steev.bm.Commands","c":"back","l":"onCommand(CommandSender, Command, String, String[])","u":"onCommand(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String[])"},{"p":"de.steev.bm","c":"main","l":"onDisable()"},{"p":"de.steev.bm","c":"main","l":"onEnable()"},{"p":"de.steev.bm.events","c":"KillEvent","l":"onEntityDeath(EntityDeathEvent)","u":"onEntityDeath(org.bukkit.event.entity.EntityDeathEvent)"},{"p":"de.steev.bm.events","c":"BedEvent","l":"onPlayerBedEnter(PlayerBedEnterEvent)","u":"onPlayerBedEnter(org.bukkit.event.player.PlayerBedEnterEvent)"},{"p":"de.steev.bm.events","c":"BedEvent","l":"onPlayerBedLeave(PlayerBedLeaveEvent)","u":"onPlayerBedLeave(org.bukkit.event.player.PlayerBedLeaveEvent)"},{"p":"de.steev.bm.events","c":"InteractEvent","l":"onPlayerInteract(PlayerInteractEvent)","u":"onPlayerInteract(org.bukkit.event.player.PlayerInteractEvent)"},{"p":"de.steev.bm","c":"main","l":"onPlayerJoin(PlayerJoinEvent)","u":"onPlayerJoin(org.bukkit.event.player.PlayerJoinEvent)"},{"p":"de.steev.bm.events","c":"PlaceEvent","l":"PlaceEvent()","u":"%3Cinit%3E()"},{"p":"de.steev.bm","c":"main","l":"playerdata"},{"p":"de.steev.bm","c":"main","l":"playerDataConfig"},{"p":"de.steev.bm","c":"main","l":"playerdatafilename"},{"p":"de.steev.bm","c":"main","l":"playerInBed"},{"p":"de.steev.bm.interaction","c":"Item_Recipy_Override","l":"plugin"},{"p":"de.steev.bm.interaction","c":"Replanting","l":"plugin"},{"p":"de.steev.bm.Commands","c":"back","l":"plugin"},{"p":"de.steev.bm.events","c":"BedEvent","l":"plugin"},{"p":"de.steev.bm.events","c":"KillEvent","l":"plugin"},{"p":"de.steev.bm.mechanics.autocrafting","c":"AutoCraftingTable","l":"plugin"},{"p":"de.steev.bm.mechanics.chunkloading","c":"ChunkLoader","l":"plugin"},{"p":"de.steev.bm.interaction","c":"Item_Recipy_Override","l":"rec_item"},{"p":"de.steev.bm.interaction","c":"Item_Recipy_Override","l":"register_recipy(char[], Material[], String[])","u":"register_recipy(char[],org.bukkit.Material[],java.lang.String[])"},{"p":"de.steev.bm.interaction","c":"Replanting","l":"replanting(Block, Location, Material[], int[])","u":"replanting(org.bukkit.block.Block,org.bukkit.Location,org.bukkit.Material[],int[])"},{"p":"de.steev.bm.interaction","c":"Replanting","l":"Replanting(main)","u":"%3Cinit%3E(de.steev.bm.main)"},{"p":"de.steev.bm","c":"main","l":"saveplayerdata()"},{"p":"de.steev.bm","c":"main","l":"version"},{"p":"de.steev.bm.changes.env","c":"weather","l":"weather()","u":"%3Cinit%3E()"},{"p":"de.steev.bm","c":"main","l":"world"}];updateSearchResults(); \ No newline at end of file diff --git a/Docs/overview-tree.html b/Docs/overview-tree.html index 81b395d..93316e2 100644 --- a/Docs/overview-tree.html +++ b/Docs/overview-tree.html @@ -57,7 +57,7 @@ loadScripts(document, 'script'); -
    • de.steev.bm.changes.interaction.Replanting (implements org.bukkit.event.Listener)
    • +
    • de.steev.bm.Interaction.Replanting (implements org.bukkit.event.Listener)
    • de.steev.bm.changes.env.weather
  • diff --git a/Docs/package-search-index.js b/Docs/package-search-index.js index c890dd7..23ee665 100644 --- a/Docs/package-search-index.js +++ b/Docs/package-search-index.js @@ -1 +1 @@ -packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"de.steev.bm"},{"l":"de.steev.bm.changes.env"},{"l":"de.steev.bm.changes.interaction"},{"l":"de.steev.bm.Commands"},{"l":"de.steev.bm.crafting"},{"l":"de.steev.bm.events"},{"l":"de.steev.bm.mechanics.autocrafting"},{"l":"de.steev.bm.mechanics.chunkloading"}];updateSearchResults(); \ No newline at end of file +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"de.steev.bm"},{"l":"de.steev.bm.changes.env"},{"l":"de.steev.bm.interaction"},{"l":"de.steev.bm.Commands"},{"l":"de.steev.bm.crafting"},{"l":"de.steev.bm.events"},{"l":"de.steev.bm.mechanics.autocrafting"},{"l":"de.steev.bm.mechanics.chunkloading"}];updateSearchResults(); \ No newline at end of file diff --git a/Docs/type-search-index.js b/Docs/type-search-index.js index fe4f4c4..1e0500f 100644 --- a/Docs/type-search-index.js +++ b/Docs/type-search-index.js @@ -1 +1 @@ -typeSearchIndex = [{"l":"All Classes","u":"allclasses-index.html"},{"p":"de.steev.bm.mechanics.autocrafting","l":"AutoCraftingTable"},{"p":"de.steev.bm.Commands","l":"back"},{"p":"de.steev.bm.events","l":"BedEvent"},{"p":"de.steev.bm.events","l":"BreakEvent"},{"p":"de.steev.bm.mechanics.chunkloading","l":"ChunkLoader"},{"p":"de.steev.bm.crafting","l":"CraftItem"},{"p":"de.steev.bm.events","l":"InteractEvent"},{"p":"de.steev.bm.changes.interaction","l":"Item_Recipy_Override"},{"p":"de.steev.bm.mechanics.autocrafting","l":"ItemPipe"},{"p":"de.steev.bm.events","l":"KillEvent"},{"p":"de.steev.bm","l":"main"},{"p":"de.steev.bm.events","l":"PlaceEvent"},{"p":"de.steev.bm.changes.interaction","l":"Replanting"},{"p":"de.steev.bm.changes.env","l":"weather"}];updateSearchResults(); \ No newline at end of file +typeSearchIndex = [{"l":"All Classes","u":"allclasses-index.html"},{"p":"de.steev.bm.mechanics.autocrafting","l":"AutoCraftingTable"},{"p":"de.steev.bm.Commands","l":"back"},{"p":"de.steev.bm.events","l":"BedEvent"},{"p":"de.steev.bm.events","l":"BreakEvent"},{"p":"de.steev.bm.mechanics.chunkloading","l":"ChunkLoader"},{"p":"de.steev.bm.crafting","l":"CraftItem"},{"p":"de.steev.bm.events","l":"InteractEvent"},{"p":"de.steev.bm.interaction","l":"Item_Recipy_Override"},{"p":"de.steev.bm.mechanics.autocrafting","l":"ItemPipe"},{"p":"de.steev.bm.events","l":"KillEvent"},{"p":"de.steev.bm","l":"main"},{"p":"de.steev.bm.events","l":"PlaceEvent"},{"p":"de.steev.bm.interaction","l":"Replanting"},{"p":"de.steev.bm.changes.env","l":"weather"}];updateSearchResults(); \ No newline at end of file diff --git a/plugin.yml b/plugin.yml deleted file mode 100644 index 504094c..0000000 --- a/plugin.yml +++ /dev/null @@ -1,4 +0,0 @@ -name: BetterMinecraft -main: de.steev.bm.main -version: 1.0 -api-version: 1.13 \ No newline at end of file diff --git a/pom.xml b/pom.xml index 3a5c5ed..84ef005 100644 --- a/pom.xml +++ b/pom.xml @@ -28,12 +28,6 @@ 1.20.1-R0.1-SNAPSHOT provided - - - org.xerial - sqlite-jdbc - 3.42.0.0 - diff --git a/src/main/java/de/steev/bm/main.java b/src/main/java/de/steev/bm/BetterMinecraft.java similarity index 59% rename from src/main/java/de/steev/bm/main.java rename to src/main/java/de/steev/bm/BetterMinecraft.java index 94afa2d..7a92030 100644 --- a/src/main/java/de/steev/bm/main.java +++ b/src/main/java/de/steev/bm/BetterMinecraft.java @@ -1,14 +1,12 @@ package de.steev.bm; import de.steev.bm.Commands.back; -import de.steev.bm.changes.interaction.Item_Recipy_Override; -import de.steev.bm.events.BedEvent; -import de.steev.bm.events.DeathEvent; -import de.steev.bm.events.InteractEvent; -import de.steev.bm.events.KillEvent; +import de.steev.bm.Listener.BedListener; +import de.steev.bm.Listener.InteractListener; +import de.steev.bm.Listener.KillListener; +import de.steev.bm.Manager.GameManager; import org.bukkit.ChatColor; -import org.bukkit.Material; import org.bukkit.World; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; @@ -22,7 +20,7 @@ import java.io.File; import java.io.IOException; import java.util.UUID; -public class main extends JavaPlugin implements Listener { +public class BetterMinecraft extends JavaPlugin implements Listener { // Global Variables that might come helpfull later public int playerInBed = 0; @@ -30,45 +28,34 @@ public class main extends JavaPlugin implements Listener { String version = "1.2"; // Custom Playerdata File - public File playerdata; - public FileConfiguration playerDataConfig; - public final String playerdatafilename = "playerdata.yml"; + private File playerdata; + private FileConfiguration playerDataConfig; + private final String playerdatafilename = "playerdata.yml"; + private static String prefix = ChatColor.GRAY + "[" + ChatColor.AQUA + "BetterMinecraft" + ChatColor.GRAY + "]"; + + private GameManager gameManager; // Handles initialisation public void onEnable() { // Messaging - this.getLogger().info(ChatColor.AQUA + "Plugin Startet"); + this.getLogger().info(prefix + ChatColor.WHITE + "Plugin Startet"); + this.getLogger().info(prefix + ChatColor.WHITE + "Initializing Gamemanager"); + gameManager = new GameManager(this); // Registers Events - this.getLogger().info(ChatColor.AQUA + "Lade Events"); - this.getServer().getPluginManager().registerEvents(new BedEvent(this), this); - this.getServer().getPluginManager().registerEvents(new KillEvent(this), this); - this.getServer().getPluginManager().registerEvents(new InteractEvent(this), this); - this.getServer().getPluginManager().registerEvents(new DeathEvent(this), this); + this.getLogger().info(prefix + ChatColor.WHITE + "Lade Events"); + this.getServer().getPluginManager().registerEvents(new BedListener(this.gameManager), this); + this.getServer().getPluginManager().registerEvents(new KillListener(this.gameManager), this); + this.getServer().getPluginManager().registerEvents(new InteractListener(this.gameManager), this); this.getServer().getPluginManager().registerEvents(this, this); - this.getCommand("back").setExecutor(new back(this)); + this.getCommand("back").setExecutor(new back(this.gameManager)); // PlayerData playerdata = new File(this.getDataFolder(), playerdatafilename); playerDataConfig = YamlConfiguration.loadConfiguration(playerdata); saveplayerdata(); - // More Messaging - this.getLogger().info(ChatColor.AQUA + "Erstelle Rezepte"); - - Item_Recipy_Override Saddle = new Item_Recipy_Override(this, "Saddle", Material.SADDLE, 1); - char[] s_ing = { 'L', 'S', 'I' }; - String[] s_rec = { "LLL", "LSL", " I " }; - Material[] s_mat = { Material.LEATHER, Material.STRING, Material.IRON_NUGGET }; - Saddle.register_recipy(s_ing, s_mat, s_rec); - - Item_Recipy_Override Wool = new Item_Recipy_Override(this, "String", Material.STRING, 8); - char[] w_ing = { 'W', 'F', }; - String[] w_rec = { " W ", "WFW", " W " }; - Material[] w_mat = { Material.WHITE_WOOL, Material.FLINT }; - Wool.register_recipy(w_ing, w_mat, w_rec); - // More Messaging this.getLogger().info(ChatColor.AQUA + "Ich bin Fertig :D"); } @@ -101,6 +88,9 @@ public class main extends JavaPlugin implements Listener { public FileConfiguration getPlayerDataConfig(){ return this.playerDataConfig; } + public static String LoggerPrefix(){ + return prefix; + } public void onDisable() { // Even more Messaging diff --git a/src/main/java/de/steev/bm/Commands/back.java b/src/main/java/de/steev/bm/Commands/back.java index dac0e67..4a16be8 100644 --- a/src/main/java/de/steev/bm/Commands/back.java +++ b/src/main/java/de/steev/bm/Commands/back.java @@ -1,6 +1,7 @@ package de.steev.bm.Commands; -import de.steev.bm.main; +import de.steev.bm.BetterMinecraft; +import de.steev.bm.Manager.GameManager; import org.bukkit.Location; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -8,10 +9,10 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class back implements CommandExecutor { - main plugin; + private GameManager gameManager; - public back(main plugin) { - this.plugin = plugin; + public back(GameManager gameManager) { + this.gameManager = gameManager; } @Override @@ -19,9 +20,9 @@ public class back implements CommandExecutor { Player player = (Player) commandSender.getServer().getPlayer(commandSender.getName()); Location lastDeath; try { - lastDeath = plugin.playerDataConfig.getLocation(player.getUniqueId() + ".death"); + lastDeath = this.gameManager.getPlugin().getPlayerDataConfig().getLocation(player.getUniqueId() + ".death"); player.teleport(lastDeath); - plugin.playerDataConfig.set(player.getUniqueId() + ".death", null); + this.gameManager.getPlugin().getPlayerDataConfig().set(player.getUniqueId() + ".death", null); commandSender.sendMessage("Du wurdest Teleportiert. Dein todespunkt ist nun entfernt worden."); } catch (Exception ex) { commandSender.sendMessage("Tot nicht gefunden!"); diff --git a/src/main/java/de/steev/bm/changes/interaction/Death.java b/src/main/java/de/steev/bm/Interaction/Death.java similarity index 89% rename from src/main/java/de/steev/bm/changes/interaction/Death.java rename to src/main/java/de/steev/bm/Interaction/Death.java index 80637c3..3e0a257 100644 --- a/src/main/java/de/steev/bm/changes/interaction/Death.java +++ b/src/main/java/de/steev/bm/Interaction/Death.java @@ -1,6 +1,6 @@ -package de.steev.bm.changes.interaction; +package de.steev.bm.Interaction; -import de.steev.bm.main; +import de.steev.bm.BetterMinecraft; import org.bukkit.Material; import org.bukkit.event.entity.EntityDeathEvent; import org.bukkit.inventory.ItemStack; @@ -14,7 +14,7 @@ public class Death { * @param drops the dropping items * @param plugin plugin reference */ - public static void onAnimalDeath(int[] amount, Material[] drops, main plugin, EntityDeathEvent event){ + public static void onAnimalDeath(int[] amount, Material[] drops, BetterMinecraft plugin, EntityDeathEvent event){ // Random Drop amount generation DO NOT TOUCH!!!! int i1_amnt = ThreadLocalRandom.current().nextInt(1, amount[0] + 1); diff --git a/src/main/java/de/steev/bm/changes/interaction/Item_Recipy_Override.java b/src/main/java/de/steev/bm/Interaction/Item_Recipy_Override.java similarity index 86% rename from src/main/java/de/steev/bm/changes/interaction/Item_Recipy_Override.java rename to src/main/java/de/steev/bm/Interaction/Item_Recipy_Override.java index a41d23e..6c0729b 100644 --- a/src/main/java/de/steev/bm/changes/interaction/Item_Recipy_Override.java +++ b/src/main/java/de/steev/bm/Interaction/Item_Recipy_Override.java @@ -1,6 +1,6 @@ -package de.steev.bm.changes.interaction; +package de.steev.bm.Interaction; -import de.steev.bm.main; +import de.steev.bm.BetterMinecraft; import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.NamespacedKey; @@ -9,7 +9,7 @@ import org.bukkit.inventory.ShapedRecipe; public class Item_Recipy_Override { - main plugin; + BetterMinecraft plugin; NamespacedKey item; static ShapedRecipe rec_item; @@ -20,7 +20,7 @@ public class Item_Recipy_Override { * @param result the dropping item * @param amount the droprate */ - public Item_Recipy_Override(main plugin, String Item, Material result, int amount){ + public Item_Recipy_Override(BetterMinecraft plugin, String Item, Material result, int amount){ this.plugin = plugin; item = new NamespacedKey(plugin, Item); ItemStack itemStack = new ItemStack(result); diff --git a/src/main/java/de/steev/bm/changes/interaction/replanting.java b/src/main/java/de/steev/bm/Interaction/replanting.java similarity index 88% rename from src/main/java/de/steev/bm/changes/interaction/replanting.java rename to src/main/java/de/steev/bm/Interaction/replanting.java index 852ad2e..f73acc3 100644 --- a/src/main/java/de/steev/bm/changes/interaction/replanting.java +++ b/src/main/java/de/steev/bm/Interaction/replanting.java @@ -1,22 +1,21 @@ -package de.steev.bm.changes.interaction; +package de.steev.bm.Interaction; -import de.steev.bm.main; +import de.steev.bm.BetterMinecraft; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.data.Ageable; -import org.bukkit.event.Listener; import org.bukkit.inventory.ItemStack; public class replanting { - private main plugin; + private BetterMinecraft plugin; /** * event constructor * @param plugin plugin instance */ - public replanting(main plugin) { + public replanting(BetterMinecraft plugin) { plugin.getLogger().info("replanting handler Registered"); this.plugin = plugin; } diff --git a/src/main/java/de/steev/bm/Listener/BedListener.java b/src/main/java/de/steev/bm/Listener/BedListener.java new file mode 100644 index 0000000..adf6d9b --- /dev/null +++ b/src/main/java/de/steev/bm/Listener/BedListener.java @@ -0,0 +1,53 @@ +package de.steev.bm.Listener; + +import de.steev.bm.BetterMinecraft; +import de.steev.bm.Manager.GameManager; +import org.bukkit.Bukkit; +import org.bukkit.World; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.player.PlayerBedEnterEvent; +import org.bukkit.event.player.PlayerBedLeaveEvent; + +public class BedListener implements Listener { + + private GameManager gameManager; + + public BedListener(GameManager gameManager) { + gameManager.getPlugin().getLogger().info("Bed Listener Registered"); + this.gameManager = gameManager; + } + + @EventHandler // Adding to the Player Variable + public void onPlayerBedEnter(PlayerBedEnterEvent event) { + final World world = event.getPlayer().getWorld(); + if(world.getTime() >= 13000 || world.getThunderDuration() > 0) { + 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) { + // Delayed Task for detecting useless entries + Bukkit.getScheduler().scheduleSyncDelayedTask(this.gameManager.getPlugin(), new Runnable() { + @Override + public void run() { + if(gameManager.getPlugin().playerInBed >= (int)gameManager.getPlugin().getServer().getOnlinePlayers().size()/2) { + world.setTime(0); + world.setWeatherDuration(7 * 24000); + } + } + }, 20L); + } + } + } + + @EventHandler // Subtracting to the Player Variable + public void onPlayerBedLeave(PlayerBedLeaveEvent event) { + // Subtraction from the PlayerInBed variable + if(this.gameManager.getPlugin().playerInBed > 0) { + this.gameManager.getPlugin().playerInBed--; + // Failsafe to prevent integer underflow + }else if(this.gameManager.getPlugin().playerInBed > 0) { + this.gameManager.getPlugin().playerInBed = 0; + } + } + +} diff --git a/src/main/java/de/steev/bm/events/InteractEvent.java b/src/main/java/de/steev/bm/Listener/InteractListener.java similarity index 81% rename from src/main/java/de/steev/bm/events/InteractEvent.java rename to src/main/java/de/steev/bm/Listener/InteractListener.java index 702fa7d..8054c85 100644 --- a/src/main/java/de/steev/bm/events/InteractEvent.java +++ b/src/main/java/de/steev/bm/Listener/InteractListener.java @@ -1,7 +1,8 @@ -package de.steev.bm.events; +package de.steev.bm.Listener; -import de.steev.bm.changes.interaction.replanting; -import de.steev.bm.main; +import de.steev.bm.BetterMinecraft; +import de.steev.bm.Interaction.replanting; +import de.steev.bm.Manager.GameManager; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; @@ -10,12 +11,12 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.player.PlayerInteractEvent; -public class InteractEvent implements Listener { +public class InteractListener implements Listener { + private GameManager gameManager; - private main plugin; - - public InteractEvent(main plugin){ - this.plugin = plugin; + public InteractListener(GameManager gameManager){ + gameManager.getPlugin().getLogger().info("Initializing Interaction Listener"); + this.gameManager = gameManager; } @EventHandler diff --git a/src/main/java/de/steev/bm/Listener/KillListener.java b/src/main/java/de/steev/bm/Listener/KillListener.java new file mode 100644 index 0000000..ca01c18 --- /dev/null +++ b/src/main/java/de/steev/bm/Listener/KillListener.java @@ -0,0 +1,44 @@ +package de.steev.bm.Listener; + +import de.steev.bm.Manager.GameManager; +import de.steev.bm.Interaction.Death; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.entity.Animals; +import org.bukkit.entity.Player; +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; +import org.bukkit.event.entity.EntityDeathEvent; +import java.util.UUID; + +public class KillListener implements Listener { + + private GameManager gameManager; + + public KillListener(GameManager gameManager) { + gameManager.getPlugin().getLogger().info("Mob Death events Registered"); + this.gameManager = gameManager; + } + + /** + * Implements drops on death and can handle other deaths + * @param event the parsed event on any death + */ + @EventHandler + public void onEntityDeath(EntityDeathEvent event) { + int[] amounts; + Material[] drops; + + if(event.getEntity() instanceof Player){ + 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"){ + 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/GameManager.java b/src/main/java/de/steev/bm/Manager/GameManager.java new file mode 100644 index 0000000..2915b29 --- /dev/null +++ b/src/main/java/de/steev/bm/Manager/GameManager.java @@ -0,0 +1,57 @@ +package de.steev.bm.Manager; + +import de.steev.bm.BetterMinecraft; +import org.bukkit.Material; +import org.bukkit.entity.Player; + +/** + * Gamemanager controlls the plugins game logic + */ +public class GameManager { + + private BetterMinecraft plugin; + private RecipyManager recipyManager; + private PlayerManager playerManager; + + /** + * initilizes the Gamemanager and all systems beneath it + * @param plugin the plugin reference + */ + public GameManager(BetterMinecraft plugin) { + plugin.getLogger().info("Initializing Gamemanager"); + this.plugin = plugin; + + this.plugin.getLogger().info("Moving logger to internal plugin reference"); + this.plugin.getLogger().info("Initilizing other managers"); + + this.recipyManager = new RecipyManager(this); + this.playerManager = new PlayerManager(this); + + this.plugin.getLogger().info("registring Recipies"); + this.plugin.getLogger().info("saddle"); + char[] s_ing = { 'L', 'S', 'I' }; + String[] s_rec = { "LLL", "LSL", " I " }; + Material[] s_mat = { Material.LEATHER, Material.STRING, Material.IRON_NUGGET }; + 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, 1, Material.STRING, "String"); + + } + + public BetterMinecraft getPlugin(){ + return plugin; + } + + public RecipyManager getRecipyManager() { + return recipyManager; + } + + public PlayerManager getPlayerManager() { + return playerManager; + } +} + diff --git a/src/main/java/de/steev/bm/Manager/PlayerManager.java b/src/main/java/de/steev/bm/Manager/PlayerManager.java new file mode 100644 index 0000000..0deda7f --- /dev/null +++ b/src/main/java/de/steev/bm/Manager/PlayerManager.java @@ -0,0 +1,41 @@ +package de.steev.bm.Manager; + +import org.bukkit.Location; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; + +import java.awt.*; + +/** + * houses all functions controlling players + */ +public class PlayerManager { + + private GameManager gameManager; + + /** + * initilizes a player manager + * @param gameManager the Gamemanager reference + */ + public PlayerManager(GameManager gameManager) { + this.gameManager = gameManager; + } + + /** + * teleports a player to a location + * @param player the wanted player + * @param loc the wanted location + */ + public void teleportPlayer(Player player, Location loc) { + player.teleport(loc); + } + + /** + * gives a player a given itemstack + * @param player the players reference + * @param itemStack the items the player should receive + */ + public void givePlayerItems(Player player, ItemStack itemStack){ + player.getInventory().addItem(itemStack); + } +} diff --git a/src/main/java/de/steev/bm/Manager/RecipyManager.java b/src/main/java/de/steev/bm/Manager/RecipyManager.java new file mode 100644 index 0000000..4622b28 --- /dev/null +++ b/src/main/java/de/steev/bm/Manager/RecipyManager.java @@ -0,0 +1,41 @@ +package de.steev.bm.Manager; + +import de.steev.bm.BetterMinecraft; +import org.bukkit.Bukkit; +import org.bukkit.Material; +import org.bukkit.NamespacedKey; +import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.ShapedRecipe; + +public class RecipyManager{ + + private GameManager gameManager; + + public RecipyManager(GameManager gameManager) { + this.gameManager = gameManager; + } + + public void RegisterNew(char[] ing, Material[] mat, String[] rec, int amount, Material result, String Item){ + + BetterMinecraft plugin; + NamespacedKey item; + ShapedRecipe rec_item; + + item = new NamespacedKey(this.gameManager.getPlugin(), Item); + ItemStack itemStack = new ItemStack(result); + itemStack.setAmount(amount); + + rec_item = new ShapedRecipe(item, itemStack); + + //Recipe shapes + rec_item.shape(rec[0], rec[1], rec[2]); + + for(int i = 0; i < ing.length; i++) { + // Material Definitions + rec_item.setIngredient(ing[i], mat[i]); + } + + // Add recipes to Server + Bukkit.addRecipe(rec_item); + } +} diff --git a/src/main/java/de/steev/bm/changes/env/weather.java b/src/main/java/de/steev/bm/changes/env/weather.java deleted file mode 100644 index afce37a..0000000 --- a/src/main/java/de/steev/bm/changes/env/weather.java +++ /dev/null @@ -1,22 +0,0 @@ -package de.steev.bm.changes.env; - -import org.bukkit.World; - -public class weather { - - static long lastThunder = 0; - long delay = 24000; - private static boolean isThunder(World world) { - return world.getThunderDuration() > 0; - } - - public static void changeWeather(World world) { - if(isThunder(world)) { - if(lastThunder + 24000 > world.getFullTime()) { - world.setClearWeatherDuration(1000); - }else { - lastThunder = world.getFullTime(); - } - } - } -} diff --git a/src/main/java/de/steev/bm/events/BedEvent.java b/src/main/java/de/steev/bm/events/BedEvent.java deleted file mode 100644 index e52faf0..0000000 --- a/src/main/java/de/steev/bm/events/BedEvent.java +++ /dev/null @@ -1,52 +0,0 @@ -package de.steev.bm.events; - -import org.bukkit.Bukkit; -import org.bukkit.World; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerBedEnterEvent; -import org.bukkit.event.player.PlayerBedLeaveEvent; - -import de.steev.bm.main; - -public class BedEvent implements Listener { - - private main plugin; - - public BedEvent(main plugin) { - plugin.getLogger().info("Bed events Registered"); - this.plugin = plugin; - } - - @EventHandler // Adding to the Player Variable - public void onPlayerBedEnter(PlayerBedEnterEvent event) { - final World world = event.getPlayer().getWorld(); - if(world.getTime() >= 13000 || world.getThunderDuration() > 0) { - plugin.playerInBed++; - // Checks if enough Players (currentSleeping >= OnlinePlayerAmount/2) are Sleeping - if(plugin.playerInBed >= (int)plugin.getServer().getOnlinePlayers().size()/2) { - // Delayed Task for detecting useless entries - Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() { - @Override - public void run() { - if(plugin.playerInBed >= (int)plugin.getServer().getOnlinePlayers().size()/2) { - world.setTime(0); - world.setWeatherDuration(7 * 24000); - } - } - }, 20L); - } - } - } - - @EventHandler // Subtracting to the Player Variable - public void onPlayerBedLeave(PlayerBedLeaveEvent event) { - // Subtraction from the PlayerInBed variable - if(plugin.playerInBed > 0) { - plugin.playerInBed--; - // Failsafe to prevent integer underflow - }else if(plugin.playerInBed > 0) { - plugin.playerInBed = 0; - } - } -} \ No newline at end of file diff --git a/src/main/java/de/steev/bm/events/DeathEvent.java b/src/main/java/de/steev/bm/events/DeathEvent.java deleted file mode 100644 index 3d31820..0000000 --- a/src/main/java/de/steev/bm/events/DeathEvent.java +++ /dev/null @@ -1,26 +0,0 @@ -package de.steev.bm.events; - -import de.steev.bm.main; -import org.bukkit.Location; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; - -public class DeathEvent implements Listener { - - private main plugin; - - public DeathEvent(main plugin) { - plugin.getLogger().info("Death events Registered"); - this.plugin = plugin; - } - - @EventHandler - public void OnPlayerDeath(PlayerDeathEvent e) { - Player player = (Player) e.getEntity(); - - Location loc = player.getLocation(); - this.plugin.playerDataConfig.set(player.getUniqueId() + ".death", loc); - } -} diff --git a/src/main/java/de/steev/bm/events/KillEvent.java b/src/main/java/de/steev/bm/events/KillEvent.java deleted file mode 100644 index 8604d58..0000000 --- a/src/main/java/de/steev/bm/events/KillEvent.java +++ /dev/null @@ -1,47 +0,0 @@ -package de.steev.bm.events; - -import java.util.UUID; - -import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.entity.Animals; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.EntityDeathEvent; - -import de.steev.bm.main; -import de.steev.bm.changes.interaction.Death; - -public class KillEvent implements Listener{ - private main plugin; - - public KillEvent(main plugin) { - plugin.getLogger().info("Mob Death events Registered"); - this.plugin = plugin; - } - - /** - * Implements drops on death and can handle other deaths - * @param event the parsed event on any death - */ - @EventHandler - public void onEntityDeath(EntityDeathEvent event) { - int[] amounts; - Material[] drops; - - if(event.getEntity() instanceof Player){ - Location death = ((Player) event.getEntity()).getPlayer().getLocation(); - UUID uuid = ((Player) event.getEntity()).getPlayer().getUniqueId(); - plugin.playerDataConfig.set("" + uuid + ".death", death); - } else if(event.getEntity() instanceof Animals) { - - - if(event.getEntity().toString() == "CraftPig"){ - amounts = new int[]{ 2,2 }; - drops = new Material[]{Material.LEATHER, Material.PORKCHOP}; - Death.onAnimalDeath(amounts, drops, plugin, event); - } - } - } -} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..6e61eb1 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,7 @@ +name: BetterMinecraft +main: de.steev.bm.main +version: 1.0 +api-version: 1.17 +commands: + back: + description: "teleports players back to their deathpoint" \ No newline at end of file From da7833bb6975b1c46b0eda91898bcf3d0350260a Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 18:25:30 +0200 Subject: [PATCH 11/19] updated recipy --- src/main/java/de/steev/bm/Manager/GameManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/de/steev/bm/Manager/GameManager.java b/src/main/java/de/steev/bm/Manager/GameManager.java index 2915b29..a686f5a 100644 --- a/src/main/java/de/steev/bm/Manager/GameManager.java +++ b/src/main/java/de/steev/bm/Manager/GameManager.java @@ -29,9 +29,9 @@ public class GameManager { this.plugin.getLogger().info("registring Recipies"); this.plugin.getLogger().info("saddle"); - char[] s_ing = { 'L', 'S', 'I' }; - String[] s_rec = { "LLL", "LSL", " I " }; - Material[] s_mat = { Material.LEATHER, Material.STRING, Material.IRON_NUGGET }; + 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.WOOL}; this.recipyManager.RegisterNew(s_ing, s_mat, s_rec, 1, Material.SADDLE, "Saddle"); this.plugin.getLogger().info("String"); From 8b302265bf3f22f6de35074efe3b9b9a63317458 Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 18:26:17 +0200 Subject: [PATCH 12/19] updated recipy drops --- src/main/java/de/steev/bm/Manager/GameManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/steev/bm/Manager/GameManager.java b/src/main/java/de/steev/bm/Manager/GameManager.java index 2915b29..7f10956 100644 --- a/src/main/java/de/steev/bm/Manager/GameManager.java +++ b/src/main/java/de/steev/bm/Manager/GameManager.java @@ -38,7 +38,7 @@ public class GameManager { 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, 1, Material.STRING, "String"); + this.recipyManager.RegisterNew(w_ing, w_mat, w_rec, 4, Material.STRING, "String"); } From 6743f297b28e029a4b6c74c8bdbc03a479f32066 Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 18:33:21 +0200 Subject: [PATCH 13/19] HOTFIX: changed false material from WOOL -> WHITE_WOOL --- src/main/java/de/steev/bm/Manager/GameManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/de/steev/bm/Manager/GameManager.java b/src/main/java/de/steev/bm/Manager/GameManager.java index 916f185..7a22b36 100644 --- a/src/main/java/de/steev/bm/Manager/GameManager.java +++ b/src/main/java/de/steev/bm/Manager/GameManager.java @@ -31,7 +31,7 @@ public class GameManager { 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.WOOL}; + 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"); From 63ffe0fe2b6fc1bae94bf552a0f4aed90305ca19 Mon Sep 17 00:00:00 2001 From: steev Date: Wed, 4 Oct 2023 18:37:07 +0200 Subject: [PATCH 14/19] HOTFIX: changed plugin.yml main class --- src/main/resources/plugin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 6e61eb1..3515651 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: BetterMinecraft -main: de.steev.bm.main +main: de.steev.bm.BetterMinecraft version: 1.0 api-version: 1.17 commands: From 8c83b7ddb6a03fcdfc6a95cdc5cc73b22ce0e666 Mon Sep 17 00:00:00 2001 From: Steev Date: Wed, 4 Oct 2023 19:07:10 +0200 Subject: [PATCH 15/19] README.md aktualisiert --- README.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/README.md b/README.md index b8fbefd..134fb06 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,26 @@ # betterminecraft sandboxplugin to fix mojang fuckups you can use my code when you link this repo and name the author + + +# Contribution +## contribute by code +In order to contribute you need to do the following things +1. Create an issue with the changes you want to add +2. Wait for your feature to be approved +3. Fork the Project and make a branch with the features name +4. make a pull request from your project to the testing branch (pr's to any other branch will be removed) +Now your contribution is in testing where people can start using it as beta on their own servers and report back issues +Once the testing phase is over and now reports come in the feature will be pulled to release from which it then gets its own downloadable release created + +## contribute with requests +if you want a certain feature in my plugin write an issue with the enhancement label +you issue should follow this structure + +### Feature request +**Name:** how should the feature be named +**Version:** when would you like the feature to be implemented (this might differ from actual implementation) +**Description:** get creative and technical what do you want this feature to do. Your description even might contain pseudo code if you want to provide such +---- +Your feature now can be reviewed by the community and be disscussed uppon and maybe changed to fit the plugin +once it is approved it will be given a releaes milestone and its own feature branch from where it then will continue on the development proccess \ No newline at end of file From 137a39e430e7881418631d625ca6717bcf6f19c8 Mon Sep 17 00:00:00 2001 From: Steev Date: Wed, 4 Oct 2023 19:08:46 +0200 Subject: [PATCH 16/19] README.md aktualisiert --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 134fb06..292bc29 100644 --- a/README.md +++ b/README.md @@ -17,10 +17,10 @@ Once the testing phase is over and now reports come in the feature will be pulle if you want a certain feature in my plugin write an issue with the enhancement label you issue should follow this structure -### Feature request -**Name:** how should the feature be named -**Version:** when would you like the feature to be implemented (this might differ from actual implementation) +### Feature request +**Name:** how should the feature be named +**Version:** when would you like the feature to be implemented (this might differ from actual implementation) **Description:** get creative and technical what do you want this feature to do. Your description even might contain pseudo code if you want to provide such ----- + Your feature now can be reviewed by the community and be disscussed uppon and maybe changed to fit the plugin once it is approved it will be given a releaes milestone and its own feature branch from where it then will continue on the development proccess \ No newline at end of file From 0fe5ce24a8ff2fc9953b69b29b8adb115a3aff8b Mon Sep 17 00:00:00 2001 From: Steev Date: Wed, 4 Oct 2023 19:09:02 +0200 Subject: [PATCH 17/19] README.md aktualisiert --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 292bc29..7223d1b 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ In order to contribute you need to do the following things 2. Wait for your feature to be approved 3. Fork the Project and make a branch with the features name 4. make a pull request from your project to the testing branch (pr's to any other branch will be removed) + Now your contribution is in testing where people can start using it as beta on their own servers and report back issues Once the testing phase is over and now reports come in the feature will be pulled to release from which it then gets its own downloadable release created From 6ac6455f2dba05b3e694c451275fff20999cdbe3 Mon Sep 17 00:00:00 2001 From: steev Date: Sat, 7 Oct 2023 03:09:28 +0200 Subject: [PATCH 18/19] added config support --- pom.xml | 1 + .../java/de/steev/bm/BetterMinecraft.java | 1 + src/main/java/de/steev/bm/Commands/back.java | 7 +++++ .../de/steev/bm/Listener/BedListener.java | 2 +- .../steev/bm/Listener/InteractListener.java | 2 +- .../de/steev/bm/Listener/KillListener.java | 4 +-- .../de/steev/bm/Manager/ConfigManager.java | 14 +++++++++ .../java/de/steev/bm/Manager/GameManager.java | 31 ++++++++++++------- src/main/resources/config.yml | 5 +++ 9 files changed, 51 insertions(+), 16 deletions(-) create mode 100644 src/main/java/de/steev/bm/Manager/ConfigManager.java create mode 100644 src/main/resources/config.yml 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 From d9cfdb218ed755872b94c074272d92a373400bc4 Mon Sep 17 00:00:00 2001 From: steev Date: Sat, 7 Oct 2023 03:26:54 +0200 Subject: [PATCH 19/19] fixed bug that prevented plants from resetting age --- src/main/java/de/steev/bm/Interaction/replanting.java | 7 +++++-- src/main/java/de/steev/bm/Listener/BedListener.java | 2 -- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/steev/bm/Interaction/replanting.java b/src/main/java/de/steev/bm/Interaction/replanting.java index f73acc3..9507ff1 100644 --- a/src/main/java/de/steev/bm/Interaction/replanting.java +++ b/src/main/java/de/steev/bm/Interaction/replanting.java @@ -36,9 +36,12 @@ public class replanting { target.getLocation().getWorld().dropItem(loc, new ItemStack(item[0])); } - for(int i = 0; i < amount[1]; i++) { - target.getLocation().getWorld().dropItem(loc, new ItemStack(item[1])); + if (amount.length > 1) { + for (int i = 0; i < amount[1]; i++) { + target.getLocation().getWorld().dropItem(loc, new ItemStack(item[1])); + } } + crop.setAge(0); target.setBlockData(crop); } diff --git a/src/main/java/de/steev/bm/Listener/BedListener.java b/src/main/java/de/steev/bm/Listener/BedListener.java index 56bee62..e30283d 100644 --- a/src/main/java/de/steev/bm/Listener/BedListener.java +++ b/src/main/java/de/steev/bm/Listener/BedListener.java @@ -1,6 +1,5 @@ package de.steev.bm.Listener; -import de.steev.bm.BetterMinecraft; import de.steev.bm.Manager.GameManager; import org.bukkit.Bukkit; import org.bukkit.World; @@ -49,5 +48,4 @@ public class BedListener implements Listener { this.gameManager.getPlugin().playerInBed = 0; } } - }