Unofficial site, not affiliated with modrinth.com.What is this?
Плагины/oaexploits
  • oaexploits 1.4.3

    release26 июля 2024 г.

    Added cross-inventory checks to prevent illegal items

  • oaexploits 1.4.2

    release25 июля 2024 г.

    Fixed a problem with the Oaexploits GUI not being usable on version 1.20.6.

  • oaexploits 1.4.1

    release25 июля 2024 г.

    Changelog

    Version 1.4.1

    New Features:

    • Permission Bypass: Introduced the oaexploits.bypass permission.
      • Players with this permission can bypass illegal item checks, avoiding the removal or notification processes.
      • Configurable via luckperms

    Improvements:

    • Enhanced logging for illegal item interactions.
    • Improved inventory scanning performance.

    Bug Fixes:

    • Fixed issues with handling commands that include subcommands or arguments.
    • Removed the regeneratechunk command and its associated permission oaexploits.regeneratechunk.
  • oaexploits 1.4.0

    release23 июля 2024 г.

    Version 1.4.0

    • Update Notification: Enhanced the update message format when a new version is available on Spigot.
    • Java Version: Updated the plugin to be built on Java 17.
    • Paper Version: Upgraded to Paper version 1.21 (from 1.20.6) to support new items.
    • Discord Webhook: Refined the Discord webhook code for sending embed messages.
  • oaexploits 1.3.95

    release22 июля 2024 г.

    New Features

    • Discord Webhook Integration:
      • Added support for sending alerts to a Discord channel using webhooks.
      • Configurable webhook URL to specify the Discord channel for receiving alerts.
      • Alerts include details about illegal items interactions, such as the player's name, the item involved, and the action taken.
      • Item images are displayed in the alerts using the Minecraft Item API.

    Improvements

    • Configuration File Enhancements:
      • Reorganized and categorized the configuration file for better readability and maintainability.
      • Added comments to the configuration file to provide clarity on each section's purpose.

    Bug Fixes

    • Fixed issues with missing or incorrect item images in Discord alerts.
    • Improved logging for illegal item interactions and enhanced error handling in the Discord alert system.

    Configuration Changes

    • New Configuration Section for Discord Alerts:

      discord-alerts:
        webhook-url: "YOUR_DISCORD_WEBHOOK_URL" # Replace with your actual Discord webhook URL
      
      • Ensure to replace "YOUR_DISCORD_WEBHOOK_URL" with the actual URL of your Discord webhook.
    • Example Configuration for Discord Alerts:

      # Discord alerts configuration
      discord-alerts:
        webhook-url: "YOUR_DISCORD_WEBHOOK_URL" # Replace with your actual Discord webhook URL
      

    How to Upgrade

    1. Backup Your Configuration Files: Before upgrading, make sure to back up your existing configuration files.
    2. Update the Plugin: Replace the old OaExploits plugin JAR file with the new version.
    3. Modify Configuration Files:
      • Add the new discord-alerts section to your configuration file.
      • Review the configuration file for any other new settings or changes.
    4. Restart Your Server: Restart your Minecraft server to apply the changes.

    Known Issues

  • oaexploits 1.3.92

    release22 июля 2024 г.

    New Features

    • Deop on Leave Toggle:
      • Introduced a new option to toggle the deop on leave feature directly from the main settings GUI.
      • This allows administrators to enable or disable the feature without editing the configuration file manually.
      • Access this setting under the "OaExploits Settings" menu.

    Improvements

    • Settings GUI Enhancements:

      • New Option: Added Toggle Deop on Leave to the GUI for easy access and control.
      • Enhanced Feedback: Users now receive chat messages indicating the status of settings when toggled.
      • Sound Effects: Added sound feedback (ENTITY_PLAYER_LEVELUP and BLOCK_NOTE_BLOCK_PLING) for a better user experience when interacting with the GUI.
      • Particle Effects: Added particle effects (HAPPY_VILLAGER) to enhance visual feedback when settings are changed.
    • Configurable Deop on Leave:

      • Added the ability to enable or disable the deop on leave feature through the configuration.
      • Whitelist Feature: Specific players can be whitelisted to avoid being deopped on leave.
      • Teleport Configuration: Players who are deopped can be teleported to a configurable location.
    • Enhanced Admin Alerts and Notifications:

      • Admin Alert Cooldown: Implemented a cooldown period for admin alerts to prevent spam.
      • Clear Notifications: Improved the clarity and detail of notifications for illegal item interactions, movements, and placements.
      • Sound and Particle Effects: Added sound and particle effects to notifications for illegal activities to improve user experience.

    Configuration Changes

    • New Configuration Options:
      • deop-on-leave.enabled: Boolean setting to enable or disable the deop on leave feature.
      • deop-on-leave.whitelist.players: List of player names to be exempted from deop on leave.
      • deop-on-leave.teleport: Configurable location settings for teleporting deopped players.
      • messages section updated for more detailed and customizable messages related to illegal item interactions and admin alerts.

    Code Changes

    • Added New Handler for Deop on Leave Toggle:

      componentHandlers.put(TOGGLE_DEOP_ON_LEAVE, player -> handleConfigOptionClick("deop-on-leave.enabled", "Deop on Leave", player));
      
    • Improved handleBlockPlace Method:

      private void handleBlockPlace(BlockPlaceEvent event) {
          Player player = event.getPlayer();
          ItemStack item = event.getItemInHand();
          Material blockType = event.getBlock().getType();
      
          if (removeIllegalItemsEnabled && (shouldRemoveItem(item) || isIllegalBlock(blockType))) {
              event.setCancelled(true);
              int removedCount = item.getAmount();
              Material itemType = item.getType();
              String itemTypeString = itemType.toString();
              removeItem(item);
              notifyPlayerAndAdmins(player, illegalItemPlacementTitle, illegalItemPlacementSubtitle.replace("%item%", blockType.toString()), itemTypeString);
              plugin.getLogger().info("\u001B[31mRemoved " + removedCount + " illegal items from player " + player.getName());
              checkPlayerInventory(player);
          } else if (isShulkerBox(item) && cleanShulkersOnPlaceEnabled) {
              handleShulkerBoxContents(item);
          }
      }
      
    • Configurable Teleport Location:

      private Optional<Location> getTargetLocation() {
          String worldName = config.getString("deop-on-leave.teleport.world");
          if (worldName == null) {
              plugin.getLogger().warning("World name for deop teleport location is not configured.");
              return Optional.empty();
          }
      
          World world = Bukkit.getWorld(worldName);
          if (world == null) {
              plugin.getLogger().warning("World '" + worldName + "' for deop teleport location does not exist.");
              return Optional.empty();
          }
      
          double x = config.getDouble("deop-on-leave.teleport.x", 0.0);
          double y = config.getDouble("deop-on-leave.teleport.y", 64.0);
          double z = config.getDouble("deop-on-leave.teleport.z", 0.0);
          float yaw = (float) config.getDouble("deop-on-leave.teleport.yaw", 0.0);
          float pitch = (float) config.getDouble("deop-on-leave.teleport.pitch", 0.0);
      
          return Optional.of(new Location(world, x, y, z, yaw, pitch));
      }
      

    Bug Fixes

    • Illegal Block Placement:

      • Resolved an issue where illegal blocks could not be placed even when the remove-illegal-items feature was turned off.
      • The plugin now respects the removal-options.remove-illegal-items configuration setting correctly.
    • Inventory Interaction Handling:

      • Improved the handling and feedback for illegal item interactions and movements.
      • Fixed issues where certain interactions were not properly logged or handled, ensuring comprehensive tracking and management of illegal items.

    Additional Changes

    • General Code Optimization:
      • Improved the overall readability and maintainability of the codebase.
      • Streamlined event handling and configuration loading processes for better performance and ease of use.
  • oaexploits 1.3.90

    release13 июля 2024 г.

    Changelog for OaExploits v1.3.90

    New Features

    • Ban and Unban GUI:
      • Added a new intuitive GUI for banning and unbanning players.
      • Admins can now easily select players to ban or unban from a list of online players.
      • The GUI displays player heads for easy identification.
      • Confirmation messages are shown to admins after banning or unbanning players.
      • Ensures admins cannot ban themselves.

    General Enhancements

    • Improved overall GUI design for better user experience.
    • Added dark gray stained glass panes as placeholders for unused slots in the GUI.
  • oaexploits 1.3.85

    release13 июля 2024 г.

    Added

    • Enhanced Performance: Optimized server performance with improved threading and resource management.
    • New Event Handlers: Added support for new player interaction events and world events.
    • Adventure API Integration: Full integration with Adventure API for modern and flexible message formatting.
    • Async Tasks: Enhanced support for asynchronous tasks using CompletableFuture to improve server responsiveness.

    Changed

    • Configuration Management: Externalized configuration settings to provide better flexibility and ease of updates.
    • Dependency Injection: Refactored code to use dependency injection for better modularity and testability.
    • Event Handling: Updated event handling mechanisms for improved reliability and performance.

    Deprecated

    • Legacy Methods: Deprecated several old methods and replaced them with more efficient alternatives. Refer to the documentation for migration steps.

    Removed

    • Dropped Support for Older Versions: We have dropped support for Minecraft versions older than 1.20. Please update your server to the latest version to continue receiving updates and support.
  • oaexploits 1.3.80

    release11 июля 2024 г.

    OaExploits Plugin Changelog

    Version 1.3.80

    New Features

    • GUI Improvements:
      • Enhanced GUI for settings management.
      • Consolidated multiple toggles into an organized interface.
      • Added aggregated message handling to prevent chat spam for illegal enchantments.

    Enchantment Handling

    • Implemented message aggregation for illegal enchantments.
    • Reverted illegal enchantments to allowed maximum levels.
    • Added player notifications with summarized illegal enchantment messages.
    • Improved logging to summarize illegal enchantments detected.

    Bug Fixes

    • Fixed illegal enchantments reverting issues.
    • Updated deprecated methods for latest Bukkit version compatibility.

    Configuration

    • Added new enchantment settings.
    • Updated default configuration for new GUI settings.

    Installation

    1. Download the latest version from the modrinth versions Page.
    2. Place the file in your server's plugins folder.
    3. Restart the server to apply changes.

    For detailed instructions and support, visit our Discord server.

  • oaexploits 1.3.73

    release11 июля 2024 г.

    Release Update Changelog for OaExploits

    Version 1.3.73 - 2024-07-11

    New Features:

    • Wither Spawn Sound Alert:

      • Introduced a new feature that plays a distinct sound for all players within a configurable radius when a Wither is spawned.
      • Configuration options added to config.yml:
        • wither-sound.radius: Sets the radius within which players will hear the sound.
        • wither-sound.sound: Specifies the sound to be played (default is ENTITY_WITHER_SPAWN).
      • This feature enhances player awareness by providing an audible alert, ensuring players can respond promptly to Wither spawns.
    • Clear Withers in Chunk:

      • Added a new GUI option for admins to clear all Withers in the chunk where they are currently located.
      • This feature can be accessed through the /oaexploitsgui command.
      • Helps maintain server performance by allowing quick removal of multiple Withers, preventing potential lag or disruptions caused by Wither entities.

    Enhancements:

    • Configuration Reload Support:
      • Updated the oaexploits reload command to include reloading the Wither sound configuration.
      • Ensures that any changes made to the Wither sound settings in config.yml are applied immediately without needing a server restart.
      • Provides a smoother and more efficient way to update server settings on-the-fly.

    Fixes and Improvements:

    • Improved performance and efficiency in Wither removal by checking entity types directly, rather than using instanceof.
    • Enhanced the GUI experience by adding visual and audio feedback for actions, ensuring admins have a clear understanding of the changes being made.

    Configuration Example:

    wither-sound:
      radius: 20
      sound: ENTITY_WITHER_SPAWN
    

    Installation and Usage:

    1. Download and Install: Download the plugin and place it in your server's plugins folder.
    2. Configure: Edit the config.yml file to suit your server's needs.
    3. Start Your Server: Restart your server to load the plugin.
    4. Enjoy: Your server is now protected with OaExploits!

    For any issues or support, please visit: OaExploits Discord

    Enhance your server's security and fairness with OaExploits! Download now and keep your server running smoothly. Leave a review of the plugin on Spigot and let us know what you think!

  • oaexploits 1.3.65

    release5 июля 2024 г.

    OaExploits Plugin Update - Version 1.3.65

    Update Summary

    I'm excited to announce the latest update to the OaExploits plugin, packed with new features, improvements, and bug fixes to enhance your server's security and player experience. This update focuses on improved command blocking, illegal item handling, and enhanced configuration options.

    New Features

    1. Dynamic Debug Mode:

      • Added the ability to toggle debug mode on and off without restarting the server.
      • Usage: Call the setDebugEnabled(true) method to enable and setDebugEnabled(false) to disable debug mode dynamically.
    2. Enhanced Illegal Item Handling:

      • Introduced a configuration option to allow placing illegal items when remove-illegal-items is set to false.
      • Players can now place illegal items if this setting is disabled, providing more flexible server management.

    Improvements

    1. Command Blocking:

      • Refactored CommandBlocker to efficiently handle whitelist and blacklist commands.
      • Cached whitelist and blacklist status to avoid repeated method calls.
      • Improved logging and cancellation logic for better performance and clarity.
      • Configurable command whitelist and blacklist with nested configuration support.
    2. Illegal Item Detection and Removal:

      • Refined item interaction handling across various inventory events.
      • Added robust methods to handle item interactions, movements, and placements efficiently.
      • Enhanced handling of Shulker Boxes to ensure illegal items within are detected and removed correctly.
    3. Configuration Reloading:

      • Enhanced the reloadConfigValues method to correctly read nested configuration values.
      • Improved validation and error handling for missing or incorrect configuration entries.
      • Added debug logs for better troubleshooting and visibility into the plugin's operations.
    4. Player Interaction Handling:

      • Added comprehensive checks for player interactions with illegal items across multiple event handlers.
      • Improved messages and notifications to players and admins for illegal item interactions.

    Bug Fixes

    1. Illegal Item Handling:

      • Fixed issues where illegal items were not correctly identified and removed in certain scenarios.
      • Resolved problems with handling illegal items within Shulker Boxes and other nested inventories.
    2. Event Handling:

      • Corrected issues with event handling to ensure smooth and accurate detection of illegal items and command usage.
      • Addressed potential race conditions and concurrency issues in the handling of illegal items.

    Configuration Changes

    Command Whitelist Configuration

    command-whitelist:
      enabled: true
      commands:
        - help
        - vote
        - joindate
        - kill
        - discord
        - togglechat
        - toggleconnectionmsgs
        - toggletells
        - togglewhispering
        - toggleprivatemsgs
        - ignore
        - ignorelist
        - ignorehard
        - toggledeathmsg
        - dmt
        - worldstats
        - playtime
        - stats
        - tps
        - msg
        - whisper
        - w
        - m
        - t
        - pm
        - tell
        - r
        - reply
        - last
        - kill
        - shop
        - skin
    

    Command Blacklist Configuration

    command-blacklist:
      enabled: true
      commands:
        - op
        - deop
        - plugins
        - pl
        - bukkit:plugins
        - bukkit:pl
        - bukkit:?
        - bukkit:help
        - .plugins
    

    Removal Options

    removal-options:
      remove-illegal-items: true
      clean-shulkers-on-place: true
      notify-player-on-illegal-placement: true
    

    Debug Mode Configuration

    debug-enabled: false
    

    Messages for Different Events

    messages:
      illegal-item-placement:
        title: "&cIllegal Block!"
        subtitle: "&cYou cannot place that block!"
      illegal-item-interaction:
        title: "&cIllegal Item!"
        subtitle: "&cYou tried to interact with an illegal item: %item%"
      illegal-item-movement:
        subtitle: "&cContainer tried to move an illegal item: %item%"
      illegal-item-removal:
        title: "&cIllegal Items Removed!"
        subtitle: "&cIllegal items were removed from your inventory."
      admin-alert: "&c%player% tried to interact with an illegal item: %item%"
    

    How to Update:

    1. Download the latest version of the OaExploits plugin.
    2. Replace the old JAR file in your server's plugins directory with the new one.
    3. Restart your server to apply the update.
    4. Review and update your configuration file to take advantage of new settings and improvements.

    I hope you enjoy the new features and improvements in this release. Thank you for using OaExploits to keep your server secure and enjoyable!

  • oaexploits 1.3.61

    release5 июля 2024 г.

    Fixes Implemented

    1. Fixed Bug Where Players Could Not Drop Items or Interact with Them:

      Previously, the plugin's GUI implementation inadvertently prevented players from dropping items or interacting with their inventories outside of the custom GUI. This was likely due to the event handling logic being too restrictive and canceling interactions even when they shouldn't have been.

      How It Was Fixed:

      • The onInventoryClick method was updated to specifically check if the interaction was within the custom GUI.
      • A Set<UUID> named playersWithGuiOpen was used to track which players have the custom GUI open. This ensures that only those players are affected by the interaction restrictions, allowing all other players to interact with their inventories normally.
    2. Fixed GUI Reload Not Working:

      The previous implementation of the GUI's reload functionality did not properly reload the configuration from the config.yml file. This was because the configuration reload command was not being executed correctly from within the GUI.

      How It Was Fixed:

      • A new command ReloadCommand was implemented and registered to handle reloading the plugin configuration.
      • The reloadPluginConfig method in the OaExploitsGUI class was updated to dispatch the oaexploits reload command programmatically. This ensures that when the "Reload Configuration" item in the GUI is clicked, the ReloadCommand is executed, which correctly reloads the configuration and updates any necessary settings.

    Detailed Steps for Each Fix

    1. Fixing Player Interaction with Items:

      In the OaExploitsGUI class:

      @EventHandler
      public void onInventoryClick(InventoryClickEvent event) {
          if (!(event.getWhoClicked() instanceof Player player)) return;
      
          UUID playerId = player.getUniqueId();
          if (!playersWithGuiOpen.contains(playerId)) return; // Only handle events for players with the GUI open
      
          long currentTime = System.currentTimeMillis();
      
          // Prevent rapid toggling by using a cooldown
          if (lastInteractionTimes.containsKey(playerId) && currentTime - lastInteractionTimes.get(playerId) < 500) {
              event.setCancelled(true);
              return;
          }
          lastInteractionTimes.put(playerId, currentTime);
      
          Inventory inventory = event.getClickedInventory();
          if (inventory == null || event.getCurrentItem() == null || !event.getCurrentItem().hasItemMeta()) return;
      
          // Check if the clicked inventory is our custom GUI
          if (event.getView().title().equals(GUI_TITLE)) {
              event.setCancelled(true);
      
              ItemStack clickedItem = event.getCurrentItem();
              Component displayName = clickedItem.getItemMeta().displayName();
      
              if (!player.isOp()) {
                  player.sendMessage(Component.text("You do not have permission to change these settings.").color(NamedTextColor.RED));
                  return;
              }
      
              if (Objects.equals(displayName, TOGGLE_ILLEGAL_ITEMS)) {
                  handleConfigOptionClick(player, "removal-options.remove-illegal-items", "Illegal Items Removal");
              } else if (Objects.equals(displayName, TOGGLE_ADMIN_ALERTS)) {
                  handleConfigOptionClick(player, "admin-alerts.enabled", "Admin Alerts");
              } else if (Objects.equals(displayName, TOGGLE_SHULKER_CLEAN)) {
                  handleConfigOptionClick(player, "removal-options.clean-shulkers-on-place", "Shulker Box Cleaning");
              } else if (Objects.equals(displayName, RELOAD_CONFIGURATION)) {
                  reloadPluginConfig(player);
              }
      
              // Refresh the GUI to update statuses
              Bukkit.getScheduler().runTaskLater(plugin, () -> refreshSettingsGUI(player), 1);
          }
      }
      

      This logic ensures that inventory interactions are only canceled when the player is interacting with the custom GUI, allowing normal interactions elsewhere.

    2. Fixing GUI Reload Functionality:

      In the ReloadCommand class:

      package fanlim.dev.oaexploits.commands;
      
      import fanlim.dev.oaexploits.Oaexploits;
      import fanlim.dev.oaexploits.antiexploits.AntiIllegalItems;
      import fanlim.dev.oaexploits.chunks.ChunkLimiter;
      import fanlim.dev.oaexploits.players.PlayerDeopOnLeave;
      import org.bukkit.command.Command;
      import org.bukkit.command.CommandExecutor;
      import org.bukkit.command.CommandSender;
      import org.jetbrains.annotations.NotNull;
      
      public class ReloadCommand implements CommandExecutor {
      
          private final Oaexploits plugin;
          private final AntiIllegalItems antiIllegalItems;
          private final ChunkLimiter chunkLimiter;
          private final PlayerDeopOnLeave playerDeopOnLeave;
      
          public ReloadCommand(@NotNull Oaexploits plugin,
                               @NotNull AntiIllegalItems antiIllegalItems, @NotNull ChunkLimiter chunkLimiter,
                               @NotNull PlayerDeopOnLeave playerDeopOnLeave) {
              this.plugin = plugin;
              this.antiIllegalItems = antiIllegalItems;
              this.chunkLimiter = chunkLimiter;
              this.playerDeopOnLeave = playerDeopOnLeave;
          }
      
          @Override
          public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command,
                                   @NotNull String label, @NotNull String[] args) {
              if (command.getName().equalsIgnoreCase("oaexploits")) {
                  if (args.length > 0 && args[0].equalsIgnoreCase("reload")) {
                      plugin.reloadConfig();
                      antiIllegalItems.reloadConfigValues();
                      chunkLimiter.reloadChunkLimiterConfig();
                      playerDeopOnLeave.reloadConfigValues();
                      sender.sendMessage("Oaexploits configuration reloaded.");
                      return true;
                  }
              }
              return false;
          }
      }
      

      In the OaExploitsGUI class, the reloadPluginConfig method dispatches the oaexploits reload command:

      private void reloadPluginConfig(Player player) {
          CommandSender sender = Bukkit.getConsoleSender();
          Bukkit.dispatchCommand(sender, "oaexploits reload");
          player.sendMessage(Component.text("Configuration reloaded.").color(NamedTextColor.GREEN));
      }
      

    Certainly! Here's the complete explanation with the code details included:

    Fixes Implemented

    1. Fixed Bug Where Players Could Not Drop Items or Interact with Them:

      Problem: The plugin's GUI implementation inadvertently prevented players from dropping items or interacting with their inventories outside of the custom GUI.

      Solution:

      • The event handling logic was updated to specifically check if the interaction was within the custom GUI.
      • A set was used to track which players have the custom GUI open. This ensures that only those players are affected by the interaction restrictions, allowing all other players to interact with their inventories normally.

      Code Changes:

      In the OaExploitsGUI class:

      @EventHandler
      public void onInventoryClick(InventoryClickEvent event) {
          if (!(event.getWhoClicked() instanceof Player player)) return;
      
          UUID playerId = player.getUniqueId();
          if (!playersWithGuiOpen.contains(playerId)) return; // Only handle events for players with the GUI open
      
          long currentTime = System.currentTimeMillis();
      
          // Prevent rapid toggling by using a cooldown
          if (lastInteractionTimes.containsKey(playerId) && currentTime - lastInteractionTimes.get(playerId) < 500) {
              event.setCancelled(true);
              return;
          }
          lastInteractionTimes.put(playerId, currentTime);
      
          Inventory inventory = event.getClickedInventory();
          if (inventory == null || event.getCurrentItem() == null || !event.getCurrentItem().hasItemMeta()) return;
      
          // Check if the clicked inventory is our custom GUI
          if (event.getView().title().equals(GUI_TITLE)) {
              event.setCancelled(true);
      
              ItemStack clickedItem = event.getCurrentItem();
              Component displayName = clickedItem.getItemMeta().displayName();
      
              if (!player.isOp()) {
                  player.sendMessage(Component.text("You do not have permission to change these settings.").color(NamedTextColor.RED));
                  return;
              }
      
              if (Objects.equals(displayName, TOGGLE_ILLEGAL_ITEMS)) {
                  handleConfigOptionClick(player, "removal-options.remove-illegal-items", "Illegal Items Removal");
              } else if (Objects.equals(displayName, TOGGLE_ADMIN_ALERTS)) {
                  handleConfigOptionClick(player, "admin-alerts.enabled", "Admin Alerts");
              } else if (Objects.equals(displayName, TOGGLE_SHULKER_CLEAN)) {
                  handleConfigOptionClick(player, "removal-options.clean-shulkers-on-place", "Shulker Box Cleaning");
              } else if (Objects.equals(displayName, RELOAD_CONFIGURATION)) {
                  reloadPluginConfig(player);
              }
      
              // Refresh the GUI to update statuses
              Bukkit.getScheduler().runTaskLater(plugin, () -> refreshSettingsGUI(player), 1);
          }
      }
      

      This logic ensures that inventory interactions are only canceled when the player is interacting with the custom GUI, allowing normal interactions elsewhere.

    2. Fixed GUI Reload Not Working:

      Problem: The previous implementation of the GUI's reload functionality did not properly reload the configuration from the config.yml file.

      Solution:

      • A new command ReloadCommand was implemented and registered to handle reloading the plugin configuration.
      • The method in the GUI class that handles the reload was updated to programmatically execute the reload command. This ensures that when the "Reload Configuration" item in the GUI is clicked, the reload command is executed, which correctly reloads the configuration and updates any necessary settings.

      Code Changes:

      In the ReloadCommand class:

      package fanlim.dev.oaexploits.commands;
      
      import fanlim.dev.oaexploits.Oaexploits;
      import fanlim.dev.oaexploits.antiexploits.AntiIllegalItems;
      import fanlim.dev.oaexploits.chunks.ChunkLimiter;
      import fanlim.dev.oaexploits.players.PlayerDeopOnLeave;
      import org.bukkit.command.Command;
      import org.bukkit.command.CommandExecutor;
      import org.bukkit.command.CommandSender;
      import org.jetbrains.annotations.NotNull;
      
      public class ReloadCommand implements CommandExecutor {
      
          private final Oaexploits plugin;
          private final AntiIllegalItems antiIllegalItems;
          private final ChunkLimiter chunkLimiter;
          private final PlayerDeopOnLeave playerDeopOnLeave;
      
          public ReloadCommand(@NotNull Oaexploits plugin,
                               @NotNull AntiIllegalItems antiIllegalItems, @NotNull ChunkLimiter chunkLimiter,
                               @NotNull PlayerDeopOnLeave playerDeopOnLeave) {
              this.plugin = plugin;
              this.antiIllegalItems = antiIllegalItems;
              this.chunkLimiter = chunkLimiter;
              this.playerDeopOnLeave = playerDeopOnLeave;
          }
      
          @Override
          public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command,
                                   @NotNull String label, @NotNull String[] args) {
              if (command.getName().equalsIgnoreCase("oaexploits")) {
                  if (args.length > 0 && args[0].equalsIgnoreCase("reload")) {
                      plugin.reloadConfig();
                      antiIllegalItems.reloadConfigValues();
                      chunkLimiter.reloadChunkLimiterConfig();
                      playerDeopOnLeave.reloadConfigValues();
                      sender.sendMessage("Oaexploits configuration reloaded.");
                      return true;
                  }
              }
              return false;
          }
      }
      

      In the OaExploitsGUI class, the reloadPluginConfig method dispatches the oaexploits reload command:

      private void reloadPluginConfig(Player player) {
          CommandSender sender = Bukkit.getConsoleSender();
          Bukkit.dispatchCommand(sender, "oaexploits reload");
          player.sendMessage(Component.text("Configuration reloaded.").color(NamedTextColor.GREEN));
      }
      

      This setup ensures that when the "Reload Configuration" item is clicked in the GUI, the oaexploits reload command is executed, which reloads the plugin's configuration and updates the settings as needed.

    Additional Feature

    • Reload Command Usable In-Game: The new reload command can also be used in-game by executing /oaexploits reload. This allows administrators to reload the plugin configuration directly from the game without needing to access the server console.

    Benefits of the Fixes

    1. Improved User Experience: Players can now interact with their inventories and drop items normally when not using the custom GUI, improving overall gameplay experience.

    2. Reliable Configuration Reload: The configuration reload functionality now works as expected. Admins can reload the configuration via the GUI, ensuring that any changes to the config.yml file are applied without needing to restart the server.

    3. Convenient In-Game Administration: Administrators can easily reload the plugin configuration while in-game using the /oaexploits reload command, making server management more convenient.

  • oaexploits 1.3.60

    release4 июля 2024 г.

    OaExploits Plugin Update v1.3.60

    Overview

    We are excited to announce the release of OaExploits v1.3.60! This update introduces several new features, visual enhancements, and performance improvements to provide a better user experience. Below is a detailed list of the changes and instructions on how to update your existing installation.

    Changelog

    New Features

    • Detailed Item Descriptions: Each setting item in the GUI now has a detailed description and tooltip to provide more context to the players.
    • Configurable Status Indicators: Added visual indicators to show the current status (Enabled/Disabled) of each setting directly in the GUI.

    Improvements

    • Enhanced GUI Layout: Improved the organization and layout of items in the settings GUI for better readability and user experience.
    • Sound Effects: Added sound effects for opening the GUI and changing settings to provide auditory feedback.
    • Code Optimization: Refactored the code to eliminate redundancies and improve performance.

    Bug Fixes

    • Cooldown Management: Fixed issues related to the cooldown mechanism for toggling settings, ensuring smoother interactions.
    • Permissions Handling: Corrected permission checks to ensure only OP players can access and modify settings through the GUI.

    Instructions for Updating

    1. Backup Your Existing Configuration

      • Before updating the plugin, make sure to back up your existing configuration files to avoid any loss of custom settings.
    2. Download the Latest Version

    3. Replace the Old Plugin File

      • Stop your Minecraft server.
      • Navigate to the plugins directory in your server folder.
      • Replace the old OaExploits.jar file with the new OaExploits-v1.3.60.jar file.
    4. Restart Your Server

      • Start your Minecraft server to load the new version of the plugin. The plugin will automatically update the configuration files if necessary.
    5. Verify the Update

      • Ensure that the plugin has loaded correctly by checking the server console for any errors.
      • Open the OaExploits settings GUI by using the command /oaexploitsgui and verify that the new features and improvements are working as expected.

    How to Use the New Features

    • Accessing the Settings GUI

      • Use the command /oaexploitsgui to open the settings GUI. This command is restricted to OP players.
    • Reading Item Descriptions

      • Hover over the setting items in the GUI to view detailed descriptions and tooltips that explain the functionality of each setting.
    • Changing Settings

      • Click on the items in the GUI to toggle settings on or off. The status indicators will update to reflect the current state of each setting.

    Notes

    This release focuses on enhancing the user experience with new features and improvements. If you encounter any issues or have suggestions for future updates, please create an issue on the GitHub repository.

  • oaexploits 1.3.53

    release2 июля 2024 г.

    Changelog for OaExploits from v1.3.5 to v1.3.53

    v1.3.53

    Important Update:

    • We have made a significant update to the build.gradle file to enhance compatibility with multiple Java versions. This change ensures that the plugin now supports Java 8, 16, 17, and 21. The script dynamically detects the server's Java version and sets the appropriate toolchain for compilation, ensuring broader compatibility and stability across different server environments. This update is crucial for maintaining the flexibility and robustness of the plugin in diverse deployment scenarios.

    v1.3.52

    Bug Fixes:

    • Fixed null pointer exceptions in event handlers.
    • Corrected item type identification and logging in AntiIllegalItems.
    • Resolved issues with illegal item removal in shulker boxes.

    Improvements:

    • Enhanced logging to prevent leaking coordinates.
    • Generalized illegal item removal messages to avoid specifying item types.

    Code Cleanup:

    • Removed the ChunkDataHandler class.
    • Eliminated unnecessary logging of specific items removed from containers.

    v1.3.51

    New Features:

    • Added configuration options for enabling/disabling admin alerts.
    • Introduced customizable messages for illegal item interactions.

    Bug Fixes:

    • Addressed issues with inventory scan depth settings.
    • Improved handling of container inventories to prevent illegal item movements.

    Improvements:

    • Enhanced notification system for players when interacting with illegal items.

    v1.3.5

    Performance Improvements:

    • Optimized asynchronous processing of block state events.
    • Improved efficiency of inventory checks and item removal processes.

    Bug Fixes:

    • Resolved various minor bugs reported by users.
  • oaexploits 1.3.4

    release28 июня 2024 г.

    Here’s an improved and more detailed description of the plugin for its first release on Modrinth:


    OaExploits Plugin - First Release

    Welcome to the first release of the OaExploits plugin on Modrinth! This powerful tool is designed specifically for anarchy servers and other Minecraft servers dealing with illegal items and block limits. OaExploits offers a comprehensive set of features to maintain server integrity and enhance gameplay.

    Key Features:

    1. Illegal Items Management:

      • Automatically detects and removes illegal items from players' inventories and containers.
      • Ensures that the server remains fair and free from game-breaking items.
    2. Chunk Limits:

      • Set limits for specific items in each chunk to prevent excessive block placement and potential server lag.
      • Fully customizable through the configuration file, allowing you to set limits for various items.
    3. Command Control:

      • Block specific commands and whitelist allowed commands to control server operations.
      • Enhance server security by preventing unauthorized command usage.
    4. Customizable Notifications:

      • Notify players when they attempt to place or interact with illegal items.
      • Customizable messages to fit your server's style and rules.
    5. Built-in /stats Command:

      • Provides comprehensive world statistics for server admins and players.
      • Useful for monitoring server health and player activities.
    6. Admin Alerts:

      • Sends alerts to admins when players attempt to interact with illegal items.
      • Prevents abuse and keeps server administrators informed.

    Configuration:

    OaExploits is highly configurable to suit your server's needs. All settings can be adjusted in the config.yml file:

    removal-options:
      remove-illegal-items: true
      clean-shulkers-on-place: true
      notify-player-on-illegal-placement: true
    
    • remove-illegal-items: Toggle the removal of illegal items.
    • clean-shulkers-on-place: Clean shulker boxes of illegal items when placed or opened.
    • notify-player-on-illegal-placement: Notify players upon attempting to place illegal items.

    Installation and Usage:

    1. Download and Install: Download the plugin from Modrinth and place it in your server's plugins folder.
    2. Configure: Edit the config.yml file to suit your server's requirements.
    3. Start Your Server: Restart your server to load the plugin.
    4. Enjoy: Your server is now protected with OaExploits!

    Whether you run a large anarchy server or a small private server, OaExploits helps you maintain order and prevent exploitation. Download now and enhance your server's security and fairness!

Совместимость

Сведения

Лицензия:
Опубликован:1 год назад
Обновлён:1 год назад
ID проекта:
Главная