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: