Compatibility
Minecraft: Java Edition
1.21
1.20.x
1.19.x
1.18.x
1.17.x
1.16.x
1.15.x
1.14.x
1.13.x
1.12.x
1.11.x
1.10.x
1.9.x
1.8.x
Platforms
Creators
Details
Licensed MIT
Published last year
Updated last year
Changelog
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.messagessection 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
handleBlockPlaceMethod: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-itemsfeature was turned off. - The plugin now respects the
removal-options.remove-illegal-itemsconfiguration setting correctly.
- Resolved an issue where illegal blocks could not be placed even when the
-
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.
Files
Metadata
Release channel
ReleaseVersion number
1.3.92Loaders
Game versions
1.20–1.21Downloads
23Publication date
July 22, 2024 at 10:32 AMPublisher

fanlim
owner



