OmniTool [The Ultimate Multitool Plugin] [1.8-1.21.4] icon

OmniTool [The Ultimate Multitool Plugin] [1.8-1.21.4] -----

The perfect plugin to give your players the ultimate tool!



My project-1.png
OmniTool is a FREE multitool plugin for your server!


features.png

This plugin allows players to have a tool that will change to the most efficient tool to complete any action.
Mining: Pickaxe
Excavating: Shovel
Woodcutting: Axe
Leaves: Shears
PvP/PvE/Cobwebs: Sword

Commands:
/omni gui (player)
/omni <Player> <efficiency> <unbreaking> <fortune> <sharpness> (displayname)
/crystal <player> (success[default=100])

<> - Required
( ) - Optional


You are also able to change the lore for the tool and crystals in the config.yml

Permissions:
omni.tool
omni.crystal
omni.reload
*

CustomModelData (1.14+)
CustomModelData is now supported by OmniTool. You can enable this by updating to the newest version of the config (make sure you take a backup first), toggling "tool.useCustomModelData", and then editing the section under "tool.customModelData", where you can add different customModelData tags for each tier of tool: wood, stone, etc... Anything else having to do with CustomModelData, ie resource packs, needs to be done how you would normally do that. You can also see the CustomModelData tag for the item if you enable the "debug-mode" field in the config, and executing "/nbtdebug". You can use this to verify that each of your tools are being imported properly in your custom resource pack. If you decide to change your CustomModelData after initially setting it, all existing OmniTools will update to the new data the next time they are updated, whether that be by breaking a block, or hitting a player/entity.

Developer API
- isOmniTool(ItemStack item) - determine whether an item is an omni tool or not, returns boolean
- isOmniCrystal(ItemStack item) - determine whether an item is an omni crystal or not, returns boolean
- addBlockToTable(ToolType type, Material material) - did I miss a block you wanted to be added to a certain tool? add it here if you want it to be different than the base plugins values
- openOmniToolBuilder(Player player) - Opens the OmniBuilder for a player that is logged into the server
- getOmniCrystal(int success) - returns an OmniCrystal with a given success rate
- OmniCrystalApplyEvent - event called when players apply an OmniCrystal onto an item
- OmniToolChangeEvent - event called when an OmniTool changes states​


comingsoon.png
Coming Soon (02/12/2025):
-Drops go to inventory Automatically
-OmniExtractors to get OmniCrystals
-Permission Based Tool Usage
-Extensive Developer API
-(Request features by DMing me or messaging me on discord @subnet.mask)

Config
debug-mode: false
commands:
tool:
base-command: 'omni'
aliases:
- 'omnitool'
permission: 'omni.tool'
crystal:
base-command: 'crystal'
aliases:
- 'omnicrystal'
permission: 'omni.crystal'
reload:
permission: 'omni.reload'

tool:
droppable: false
unbreakable: true
hideEnchants: false
toggles:
pickaxe: true
shovel: true
axe: true
sword: true
shears: true
name: '&9&lOmni Tool'
lore:
- ''
- '&9&l** OMNI TOOL **'
- '&7&oAn omni tool allows you to mine'
- '&7&oany block at maximum efficiency.'

crystal:
enabled: true
item:
# Get a list of Materials from this link:
# https://github.com/CryptoMorin/XSer...n/java/com/cryptomorin/xseries/XMaterial.java
id: 'FLOWER_POT'
name: '&9&lOmni Crystal &7(Apply)'
glow: false
lore: #When the chance of applying is 100%, it will use this lore.
- ''
- '&9&l** OMNI CRYSTAL **'
- '&7&oDrag and drop onto any tool'
- '&7&oto turn into an omni tool!'
lore-chance: #If the chance of applying isn't 100%, it will use this lore.
- ''
- '&9&l** OMNI CRYSTAL **'
- '&7&oDrag and drop onto any tool'
- '&7&oto turn into an omni tool!'
- '&9&o{chance}% &7&osuccess rate.'

customModelData:
useCustomModelData: false
crystal: 0
wood:
pickaxe: 0
shovel: 0
axe: 0
sword: 0
shears: 0
hoe: 0
stone:
pickaxe: 0
shovel: 0
axe: 0
sword: 0
shears: 0
hoe: 0
iron:
pickaxe: 0
shovel: 0
axe: 0
sword: 0
shears: 0
hoe: 0
gold:
pickaxe: 0
shovel: 0
axe: 0
sword: 0
shears: 0
hoe: 0
diamond:
pickaxe: 0
shovel: 0
axe: 0
sword: 0
shears: 0
hoe: 0
netherite:
pickaxe: 0
shovel: 0
axe: 0
sword: 0
shears: 0
hoe: 0


messages:
builder-selection-message: '&a&l(!) &aYou have selected {enchant} {level}'
invalid-player: '&c&l(!) &cInvalid player, try again.'
crystal-apply: '&a&l(!) &aCrystal Applied!'
crystal-fail-apply: '&c&l(!) &cYour {success}% crystal failed to apply!'
crystal-cannot-apply: '&c&l(!) &cYou are not able to apply a crystal to that item!'
item-not-droppable: '&c&l(!) &cYou are not able to drop that item!'
item-not-droppable-full-inventory: '&c&l(!) &cYou are not able to drop that item, however, since your inventory is full, item has been dropped.'

This plugin now fully runs without external dependencies! This significantly increases the performance of the plugin and creates a much more optimized solution.

Bugs:
If you encounter any bugs, do not leave a review with the bug, please send me a PM on this site, or a DM on discord and I will get the bug fixed and push an update.​

Please DM me on discord if your server uses this plugin, and I will advertise it here! (@subnet.mask)
Resource Information
Author:
----------
Total Downloads: 3,440
First Release: Jun 24, 2020
Last Update: Feb 28, 2025
Category: ---------------
All-Time Rating:
10 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings