17 Commits

Author SHA1 Message Date
Steev b05e054bd7 Merge branch 'Testing' into main 2024-12-27 03:07:13 +01:00
Steev 2ef476372f .gitea/workflows/test-release.yml aktualisiert 2024-12-27 03:07:00 +01:00
Steev 385886c7f5 .gitea/workflows/release.yml.off gelöscht 2024-12-27 03:06:21 +01:00
Steev ef5c81d7cc Merge pull request 'testing workflow' (#43) from main into Testing
Reviewed-on: Steev/betterminecraft#43
2024-12-27 03:05:54 +01:00
Steev 5628dfb459 Merge pull request 'Testing workflow' (#42) from Testing into main
Reviewed-on: Steev/betterminecraft#42
2024-12-27 03:05:04 +01:00
Steev dbbb60280b .gitea/workflows/test-release.yml hinzugefügt 2024-12-27 03:03:59 +01:00
Steev 750042d7a9 .gitea/workflows/release.yml aktualisiert 2024-12-27 03:02:42 +01:00
Steev 1bac43b3fe changelog.txt hinzugefügt 2024-12-27 02:42:16 +01:00
Steev 02856bc49a Merge pull request 'fixed bug that prevented plants from resetting age' (#32) from config_support into Testing
Reviewed-on: Steev/betterminecraft#32
2023-10-07 03:28:45 +02:00
Steev d9cfdb218e fixed bug that prevented plants from resetting age 2023-10-07 03:26:54 +02:00
Steev 300a1bf67c Merge pull request 'config_support' (#31) from config_support into Testing
Reviewed-on: Steev/betterminecraft#31
2023-10-07 03:12:49 +02:00
Steev 6ac6455f2d added config support 2023-10-07 03:09:28 +02:00
Steev 0fe5ce24a8 README.md aktualisiert 2023-10-04 19:09:02 +02:00
Steev 137a39e430 README.md aktualisiert 2023-10-04 19:08:46 +02:00
Steev 8c83b7ddb6 README.md aktualisiert 2023-10-04 19:07:10 +02:00
Steev 63ffe0fe2b HOTFIX: changed plugin.yml main class 2023-10-04 18:37:07 +02:00
Steev 6743f297b2 HOTFIX: changed false material from WOOL -> WHITE_WOOL 2023-10-04 18:33:21 +02:00
15 changed files with 88 additions and 26 deletions
@@ -3,7 +3,7 @@ name: Build and Release Minecraft Plugin
on: on:
push: push:
branches: branches:
- main - release
jobs: jobs:
build: build:
@@ -1,9 +1,9 @@
name: Build and Release Minecraft Plugin name: Build and Release Minecraft Plugin
on: on:
push: merge:
branches: branches:
- Release - testing
jobs: jobs:
build: build:
@@ -58,8 +58,8 @@ jobs:
uses: softprops/action-gh-release@v1 uses: softprops/action-gh-release@v1
with: with:
files: | files: |
target/BetterMinecraft-stable.jar target/BetterMinecraft-beta.jar
tag_name: ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }} 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 }} release_name: Release ${{ steps.increment_version.outputs.major }}.${{ steps.increment_version.outputs.minor }}.${{ steps.increment_version.outputs.patch }}
draft: false draft: false
prerelease: false prerelease: true
+24
View File
@@ -1,3 +1,27 @@
# betterminecraft # betterminecraft
sandboxplugin to fix mojang fuckups sandboxplugin to fix mojang fuckups
you can use my code when you link this repo and name the author 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
+2
View File
@@ -0,0 +1,2 @@
+ added system type changelog
+ added custom type changelog
+1
View File
@@ -37,6 +37,7 @@
<directory>${project.basedir}/src/main/resources</directory> <directory>${project.basedir}/src/main/resources</directory>
<includes> <includes>
<include>plugin.yml</include> <include>plugin.yml</include>
<include>config.yml</include>
</includes> </includes>
</resource> </resource>
</resources> </resources>
@@ -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 + "Plugin Startet");
this.getLogger().info(prefix + ChatColor.WHITE + "Initializing Gamemanager"); this.getLogger().info(prefix + ChatColor.WHITE + "Initializing Gamemanager");
gameManager = new GameManager(this); gameManager = new GameManager(this);
this.saveDefaultConfig();
// Registers Events // Registers Events
this.getLogger().info(prefix + ChatColor.WHITE + "Lade Events"); this.getLogger().info(prefix + ChatColor.WHITE + "Lade Events");
@@ -17,8 +17,14 @@ public class back implements CommandExecutor {
@Override @Override
public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) { 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()); Player player = (Player) commandSender.getServer().getPlayer(commandSender.getName());
Location lastDeath; Location lastDeath;
try { try {
lastDeath = this.gameManager.getPlugin().getPlayerDataConfig().getLocation(player.getUniqueId() + ".death"); lastDeath = this.gameManager.getPlugin().getPlayerDataConfig().getLocation(player.getUniqueId() + ".death");
player.teleport(lastDeath); player.teleport(lastDeath);
@@ -27,6 +33,7 @@ public class back implements CommandExecutor {
} catch (Exception ex) { } catch (Exception ex) {
commandSender.sendMessage("Tot nicht gefunden!"); commandSender.sendMessage("Tot nicht gefunden!");
} }
return false; return false;
} }
} }
@@ -36,9 +36,12 @@ public class replanting {
target.getLocation().getWorld().dropItem(loc, new ItemStack(item[0])); target.getLocation().getWorld().dropItem(loc, new ItemStack(item[0]));
} }
for(int i = 0; i < amount[1]; i++) { if (amount.length > 1) {
for (int i = 0; i < amount[1]; i++) {
target.getLocation().getWorld().dropItem(loc, new ItemStack(item[1])); target.getLocation().getWorld().dropItem(loc, new ItemStack(item[1]));
} }
}
crop.setAge(0); crop.setAge(0);
target.setBlockData(crop); target.setBlockData(crop);
} }
@@ -1,6 +1,5 @@
package de.steev.bm.Listener; package de.steev.bm.Listener;
import de.steev.bm.BetterMinecraft;
import de.steev.bm.Manager.GameManager; import de.steev.bm.Manager.GameManager;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.World; import org.bukkit.World;
@@ -21,7 +20,7 @@ public class BedListener implements Listener {
@EventHandler // Adding to the Player Variable @EventHandler // Adding to the Player Variable
public void onPlayerBedEnter(PlayerBedEnterEvent event) { public void onPlayerBedEnter(PlayerBedEnterEvent event) {
final World world = event.getPlayer().getWorld(); 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++; this.gameManager.getPlugin().playerInBed++;
// Checks if enough Players (currentSleeping >= OnlinePlayerAmount/2) are Sleeping // Checks if enough Players (currentSleeping >= OnlinePlayerAmount/2) are Sleeping
if(this.gameManager.getPlugin().playerInBed >= (int)this.gameManager.getPlugin().getServer().getOnlinePlayers().size()/2) { if(this.gameManager.getPlugin().playerInBed >= (int)this.gameManager.getPlugin().getServer().getOnlinePlayers().size()/2) {
@@ -49,5 +48,4 @@ public class BedListener implements Listener {
this.gameManager.getPlugin().playerInBed = 0; this.gameManager.getPlugin().playerInBed = 0;
} }
} }
} }
@@ -21,7 +21,7 @@ public class InteractListener implements Listener {
@EventHandler @EventHandler
public void onPlayerInteract(PlayerInteractEvent event){ 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 */ /** the clicked block */
Block target = event.getClickedBlock(); Block target = event.getClickedBlock();
@@ -29,12 +29,12 @@ public class KillListener implements Listener {
int[] amounts; int[] amounts;
Material[] drops; 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(); Location death = ((Player) event.getEntity()).getPlayer().getLocation();
UUID uuid = ((Player) event.getEntity()).getPlayer().getUniqueId(); UUID uuid = ((Player) event.getEntity()).getPlayer().getUniqueId();
this.gameManager.getPlugin().getPlayerDataConfig().set("" + uuid + ".death", death); this.gameManager.getPlugin().getPlayerDataConfig().set("" + uuid + ".death", death);
} else if(event.getEntity() instanceof Animals) { } 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 }; amounts = new int[]{ 2,2 };
drops = new Material[]{Material.LEATHER, Material.PORKCHOP}; drops = new Material[]{Material.LEATHER, Material.PORKCHOP};
Death.onAnimalDeath(amounts, drops, this.gameManager.getPlugin(), event); Death.onAnimalDeath(amounts, drops, this.gameManager.getPlugin(), event);
@@ -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);
}
}
@@ -12,6 +12,7 @@ public class GameManager {
private BetterMinecraft plugin; private BetterMinecraft plugin;
private RecipyManager recipyManager; private RecipyManager recipyManager;
private PlayerManager playerManager; private PlayerManager playerManager;
private ConfigManager configManager;
/** /**
* initilizes the Gamemanager and all systems beneath it * initilizes the Gamemanager and all systems beneath it
@@ -26,20 +27,22 @@ public class GameManager {
this.recipyManager = new RecipyManager(this); this.recipyManager = new RecipyManager(this);
this.playerManager = new PlayerManager(this); this.playerManager = new PlayerManager(this);
this.configManager = new ConfigManager(this);
if (this.configManager.GetBool("custom_recipes")) {
this.plugin.getLogger().info("registring Recipies"); this.plugin.getLogger().info("registring Recipies");
this.plugin.getLogger().info("saddle"); this.plugin.getLogger().info("saddle");
char[] s_ing = { 'L', 'S', 'I', 'W' }; char[] s_ing = {'L', 'S', 'I', 'W'};
String[] s_rec = { "LLL", "SWS", "I I" }; 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.recipyManager.RegisterNew(s_ing, s_mat, s_rec, 1, Material.SADDLE, "Saddle");
this.plugin.getLogger().info("String"); this.plugin.getLogger().info("String");
char[] w_ing = { 'W', 'F', }; char[] w_ing = {'W', 'F',};
String[] w_rec = { " W ", "WFW", " W " }; String[] w_rec = {" W ", "WFW", " W "};
Material[] w_mat = { Material.WHITE_WOOL, Material.FLINT }; Material[] w_mat = {Material.WHITE_WOOL, Material.FLINT};
this.recipyManager.RegisterNew(w_ing, w_mat, w_rec, 4, Material.STRING, "String"); this.recipyManager.RegisterNew(w_ing, w_mat, w_rec, 4, Material.STRING, "String");
}
} }
public BetterMinecraft getPlugin(){ public BetterMinecraft getPlugin(){
@@ -53,5 +56,9 @@ public class GameManager {
public PlayerManager getPlayerManager() { public PlayerManager getPlayerManager() {
return playerManager; return playerManager;
} }
public ConfigManager getConfigManager() {
return configManager;
}
} }
+5
View File
@@ -0,0 +1,5 @@
improved_bed: true
custom_drops: true
custom_recipes: true
replanting: true
back_command: true
+1 -1
View File
@@ -1,5 +1,5 @@
name: BetterMinecraft name: BetterMinecraft
main: de.steev.bm.main main: de.steev.bm.BetterMinecraft
version: 1.0 version: 1.0
api-version: 1.17 api-version: 1.17
commands: commands: