diff --git a/pom.xml b/pom.xml
index 07b77c2..5cda833 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
me.niko302
AutoReplant
- 2.4
+ 2.5
jar
AutoReplant
@@ -30,9 +30,17 @@
org.apache.maven.plugins
maven-shade-plugin
- 3.5.3
+ 3.6.2
true
+
+
+ com.tcoded:FoliaLib
+
+ **
+
+
+
org.bstats
@@ -42,6 +50,10 @@
com.jeff_media.updatechecker
me.niko302.autoreplant.updatechecker
+
+ com.tcoded.folialib
+ me.niko302.autoreplant.folialib
+
@@ -65,23 +77,23 @@
- spigotmc-repo
- https://hub.spigotmc.org/nexus/content/repositories/snapshots/
+ papermc
+ https://repo.papermc.io/repository/maven-public/
-
+
- jeff-media-public
- https://hub.jeff-media.com/nexus/repository/jeff-media-public/
+ tcoded-releases
+ https://repo.tcoded.com/releases
- org.spigotmc
- spigot-api
- 1.20.6-R0.1-SNAPSHOT
+ io.papermc.paper
+ paper-api
+ 1.21.11-R0.1-SNAPSHOT
provided
@@ -93,19 +105,11 @@
compile
-
-
- org.projectlombok
- lombok
- 1.18.32
- provided
-
-
-
+
- com.jeff_media
- SpigotUpdateChecker
- 3.0.3
+ com.tcoded
+ FoliaLib
+ 0.5.1
compile
diff --git a/src/main/java/me/niko302/autoreplant/AutoReplant.java b/src/main/java/me/niko302/autoreplant/AutoReplant.java
index 4628962..4a2de2d 100644
--- a/src/main/java/me/niko302/autoreplant/AutoReplant.java
+++ b/src/main/java/me/niko302/autoreplant/AutoReplant.java
@@ -1,13 +1,9 @@
package me.niko302.autoreplant;
-import com.jeff_media.updatechecker.UpdateCheckSource;
-import com.jeff_media.updatechecker.UpdateChecker;
-import com.jeff_media.updatechecker.UserAgentBuilder;
-import lombok.Getter;
+import com.tcoded.folialib.FoliaLib;
import me.niko302.autoreplant.commands.AutoReplantCommand;
import me.niko302.autoreplant.config.ConfigManager;
import org.bstats.bukkit.Metrics;
-import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.block.Block;
@@ -18,7 +14,6 @@
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.inventory.ItemStack;
-import org.bukkit.permissions.ServerOperator;
import org.bukkit.plugin.java.JavaPlugin;
import java.io.File;
@@ -27,16 +22,20 @@
import java.util.List;
import java.util.UUID;
-@Getter
public class AutoReplant extends JavaPlugin implements Listener {
private final List enabledPlayers = new ArrayList<>();
private ConfigManager configManager;
+ private FoliaLib foliaLib;
+
@Override
public void onEnable() {
+ super.onEnable();
+
configManager = new ConfigManager(this);
+ foliaLib = new FoliaLib(this);
getCommand("autoreplant").setExecutor(new AutoReplantCommand(this)); // Registering the command executor
getServer().getPluginManager().registerEvents(this, this);
@@ -45,40 +44,12 @@ public void onEnable() {
// Load autoreplant state from data.yml
loadPlayerStates();
-
- new UpdateChecker(this, UpdateCheckSource.SPIGOT, "117106")
- .setNotifyRequesters(false)
- .setNotifyOpsOnJoin(false)
- .setUserAgent(UserAgentBuilder.getDefaultUserAgent())
- .checkEveryXHours(12)
- .onSuccess((commandSenders, latestVersion) -> {
- String messagePrefix = "&8[&6Auto Replant&8] ";
- String currentVersion = getDescription().getVersion();
-
- if (currentVersion.equalsIgnoreCase(latestVersion)) {
- String updateMessage = color(messagePrefix + "&aYou are using the latest version of AutoReplant!");
-
- Bukkit.getConsoleSender().sendMessage(updateMessage);
- Bukkit.getOnlinePlayers().stream().filter(ServerOperator::isOp).forEach(player -> player.sendMessage(updateMessage));
- return;
- }
-
- List updateMessages = List.of(
- color(messagePrefix + "&cYour version of AutoReplant is outdated!"),
- color(String.format(messagePrefix + "&cYou are using %s, latest is %s!", currentVersion, latestVersion)),
- color(messagePrefix + "&cDownload latest here:"),
- color("&6https://www.spigotmc.org/resources/autoreplant-1-20.117106/")
- );
-
- Bukkit.getConsoleSender().sendMessage(updateMessages.toArray(new String[]{}));
- Bukkit.getOnlinePlayers().stream().filter(ServerOperator::isOp).forEach(player -> player.sendMessage(updateMessages.toArray(new String[]{})));
- })
- .onFail((commandSenders, e) -> {}).checkNow();
}
@Override
public void onDisable() {
-
+ super.onDisable();
+ foliaLib.getScheduler().cancelAllTasks();
}
private String color(String message) {
@@ -117,7 +88,7 @@ public void onBlockBreak(BlockBreakEvent event) {
// Capture the direction of the cocoa block before breaking it
// Schedule the replanting task
- getServer().getScheduler().runTaskLater(this, () -> {
+ foliaLib.getScheduler().runAtLocationLater(block.getLocation(), () -> {
block.setType(blockType);
ageable.setAge(0);
@@ -157,4 +128,8 @@ private void loadPlayerStates() {
}
}
+ public List getEnabledPlayers() {
+ return enabledPlayers;
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/me/niko302/autoreplant/commands/AutoReplantCommand.java b/src/main/java/me/niko302/autoreplant/commands/AutoReplantCommand.java
index 44d90ec..f75e769 100644
--- a/src/main/java/me/niko302/autoreplant/commands/AutoReplantCommand.java
+++ b/src/main/java/me/niko302/autoreplant/commands/AutoReplantCommand.java
@@ -1,7 +1,5 @@
package me.niko302.autoreplant.commands;
-import lombok.AccessLevel;
-import lombok.Getter;
import me.niko302.autoreplant.AutoReplant;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.command.Command;
@@ -16,7 +14,6 @@ public class AutoReplantCommand implements CommandExecutor {
private final AutoReplant plugin;
- @Getter(AccessLevel.NONE)
private final Pattern hexColorExtractor = Pattern.compile("#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})");
public AutoReplantCommand(AutoReplant plugin) {
diff --git a/src/main/java/me/niko302/autoreplant/config/ConfigManager.java b/src/main/java/me/niko302/autoreplant/config/ConfigManager.java
index e8de0c5..c18db6c 100644
--- a/src/main/java/me/niko302/autoreplant/config/ConfigManager.java
+++ b/src/main/java/me/niko302/autoreplant/config/ConfigManager.java
@@ -1,28 +1,24 @@
package me.niko302.autoreplant.config;
-import lombok.AccessLevel;
-import lombok.Getter;
import org.bukkit.Material;
import org.bukkit.configuration.file.FileConfiguration;
+import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.java.JavaPlugin;
import java.util.List;
import java.util.stream.Collectors;
-@Getter
public class ConfigManager {
- @Getter(AccessLevel.NONE)
- private final JavaPlugin plugin;
+ private final Plugin plugin;
- @Getter(AccessLevel.NONE)
private FileConfiguration config;
private boolean useFortune; // Variable to store the use-fortune setting
private boolean autoreplantEnabled; // Variable to store the autoreplant status
private boolean ignoreToolRestrictions; // Variable to store the ignore-tool-restrictions status
- public ConfigManager(JavaPlugin plugin) {
+ public ConfigManager(Plugin plugin) {
this.plugin = plugin;
loadConfig();
}
diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml
index 77b8829..a7f4ded 100644
--- a/src/main/resources/plugin.yml
+++ b/src/main/resources/plugin.yml
@@ -4,12 +4,12 @@ description: Automatically replants crops when harvested with specific tools.
main: me.niko302.autoreplant.AutoReplant
api-version: '1.20'
authors: [ Niko302, BitByLogic ]
+folia-supported: true
commands:
autoreplant:
description: 'Toggle autoreplant feature'
usage: /autoreplant
- permission: autoreplant.use
permissions:
autoreplant.use: