ManyOrbs - Crops, Fishing & More icon

ManyOrbs - Crops, Fishing & More 1.0.0

Create your own orb for you and your players! Crops, Effects, Commands & More

3nvCVvx.jpeg

ManyOrbs gives you custom orbs for your server. Those orbs can be useful for server owners and players alike.

Why?
There are no up-to-date plugins of this type as of now, and even the most up to date version still depends on their developers to create new orbs, or make the orb do a specific action.

Not anymore, now you can create your own orb, execute commands, apply effects and more to come!

So note, this plugin is made for recent Minecraft versions, legacy is not supported and it's very unlikely to ever be. As for the newer versions, 1.17+ is recommended.

OrqU9nr.png

ezgif-466b22144568b8.gif
  1. Extremely configurable.
    1. Want a new orb? You can create yourself! Check below to see more info.
    2. You can change the texture of any orb, create them however you want.

Orbs can execute commands, give potion effects, plant crops and more!You can have permanent server orbs that are stored in the database, MySQL (online) or SQLite (local).Very simple and easy to set up!Own orb shop, but you can also create your own shop using your Menu plugin and give the orbs via command.Performance is my number 1 priority, the plugin was tested on the very worst scenario possible to make sure it will not cause a large impact on your server.

  1. But! Your configuration is not the same as mine, so read the plugin page for more info on performance. We will keep improving as necessary.



tZsJMgY.jpg
Bugs

If you have any issues, report via discussion or private message. Do not use the rating area to report bugs or request features. Please go to discussion.
You can see from my other resources that bugs are patched within a few hours, so please be patient if you are having a problem -- let me know your issues and we'll get it fixed as soon as possible.

Performance

As said above, everything was carefully created and tested with performance in mind. However, things are not equal for everyone.

If you think the plugin is hurting your server, Install spark and give me a report of your server running for a few hours with the plugin Installed.

There are a few options in orbs.yml and settings.yml that can alleviate performance for low-end servers, and more to be added in the future as necessary.

Dependencies

None. But you can install Vault to work with economy.

Plugin support

You can toggle certain orbs to be placed only in non-protected regions. At the moment, we can check for the following plugins:

  1. WorldGuard


Need support for a plugin? Send a suggestion, as long as the plugin has a API we can get info from it will be added.

NiPwpwB.png


Command: manyorbs
Aliases: orbs

Player commands:

  1. /orbs menu - Opens the orb menu.
    1. Permission: manyorbs.menu


Admin commands, require the permission manyorbs.admin

  1. /orbs reload - Reloads all language.yml, messages.yml, orbs.yml, refreshes player cooldown and reload all spawned orbs.
  2. /orbs save - Send all current server orbs to the database, storing their location and other important data.
  3. /orbs disable - Disables all spawned orbs.
  4. /orbs restore - Restores all disabled orbs.
  5. /orbs get - Gets a orb, use tab to see all your orbs from orbs.yml.
  6. /orbs give - Gives an orb to a player, use tab to see all your orbs from orbs.yml.

 

w7gBd5k.jpg
The orb.yml file


This is here you can create your orbs. As of the release version, there are 4 type of orbs:

  1. Crops, to grow/plant crops.
  2. Powerups, to give potion effects.
  3. Commands, to execute commands, those commands can repeat how many times you need.
  4. Fishing, to accelerate fishing spawn and fishing bite speed.


The orbs can be owned by server or owned by a player.

  1. Orbs owned by the server will plant the fully growth crop.
  2. Orbs owned by server are not shown in the menu to players that don't have the manyorbs.admin permission.



Example of a orb:
1MyWZ2J.png

Everything that you might need is explained in details at the full default orb.yml file:

wheat:
  #Orb Type
  type: crops

  #Block Target Type
  block: WHEAT

  #Display Name for Menus
  name: "&e&lWheat Orb"

  #Lore for the Menu Item. Note: This lore also applies for the Item.
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Action Delay: &a%delay%"
    - " "
    - "&7Price: &a%price%"

  #Price to get the orb from the menu
  price: 0

  #Permission to purchase the orb
  permission: ""

  #Area of effect of the orb
  aoe: 10

  #Duration in ticks (20 ticks = 1), -1 for infinite duration
  duration: -1

  #If true, this orb will automatically grow crops to max size and will always be stored in the database.
  ownedByServer: false

  #Should the orb go up and down or just rotate?
  rotate-only: false

  #Should particles spawn? Can have a low impact on performance. Particles spawn every 15 ticks, can be changed at settings.yml.
  spawn-particles: true

  #How often should the orb check for Farmland blocks?
  #Setting this value too low HEAVILY impacts performance.
  #-1 will disable this feature and only cache the farmlands when the orb is spawned.
  #Letting this disabled is recommended.
  cache-update-delay: -1

  #How often should the orb place/grow crops
  effect-delay: 80

  #How long until the player can use the Orb again?
  #This time is in milliseconds, 1000ms = 1s.
  #The cooldown starts as soon as the player spawns the orb, not after it despawns.
  #0 Disables the cooldown, recommended for the crop type since it's removed from player's inventory after clicking.
  cooldown: 0

  #base64 of the orb texture
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzY4ZmZkNGMzZDczZjMyZDM5ZWFkZTMxMDU1NjE1MGJhNDkwZTBkOTM0ZWM0YTY5MjNjOWViYmFiYmI5YzI0NiJ9fX0="
carrot:
  type: crops
  block: CARROTS
  name: "&e&lCarrot Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Action Delay: &a%delay%"
    - " "
    - "&7Price: &a%price%"
  price: 0
  permission: ""
  aoe: 10
  duration: -1
  ownedByServer: true
  rotate-only: false
  spawn-particles: true
  cache-update-delay: -1
  effect-delay: 80
  cooldown: 0
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTZjMTEwYWFkMzMzOTE5NzdlOGFmY2Q0NDI0NGNlOGQ4Y2QyZjMyMzY5NDNmMzliYzAxNzU0MzdiNzdjYjFkZSJ9fX0="
potato:
  type: crops
  block: POTATOES
  name: "&e&lPotato Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Action Delay: &a%delay%"
    - " "
    - "&7Price: &a%price%"
  price: 0
  permission: ""
  aoe: 10
  duration: -1
  ownedByServer: false
  rotate-only: false
  spawn-particles: true
  cache-update-delay: -1
  effect-delay: 80
  cooldown: 0
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjliYWVmNGExZWZjZDRhNjg5Njc1NzI3YWYzMjAyODBlODgzYzJhYTA0NThkYzJiZDE2NGIzNWNmNjc0N2Q3OCJ9fX0="
beetroot:
  type: crops
  block: BEETROOTS
  name: "&e&lBeetroot Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Action Delay: &a%delay%"
    - " "
    - "&7Price: &a%price%"
  price: 0
  permission: ""
  aoe: 10
  duration: -1
  ownedByServer: false
  rotate-only: false
  spawn-particles: true
  cache-update-delay: -1
  effect-delay: 80
  cooldown: 0
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWM5ZTE3MTg3N2EzMTA3MzhmYTM3NzVjODAzOWE3N2FiMTQxNDE3ZjU2ZDI3NmE3MzE4OWM5NzQ5MjBlMjRkMiJ9fX0="
pumpkin:
  type: crops
  block: PUMPKIN
  name: "&e&lPumpkin Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Action Delay: &a%delay%"
    - " "
    - "&7Price: &a%price%"
  price: 0
  permission: ""
  aoe: 10
  duration: -1
  ownedByServer: false
  rotate-only: false
  spawn-particles: true
  cache-update-delay: -1
  effect-delay: 80
  cooldown: 0
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzQ1NGNjNGE4ZDBmZDhhMDQxZDg4N2Y3ZmIwODdiMjBiNWU1NDBmNGUwZjE4NzcxNWIyOGNiMTJmY2ZjNzljZCJ9fX0="
melon:
  type: crops
  block: MELON
  name: "&e&lMelon Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Action Delay: &a%delay%"
    - " "
    - "&7Price: &a%price%"
  price: 0
  permission: ""
  aoe: 10
  duration: -1
  ownedByServer: false
  rotate-only: false
  spawn-particles: true
  cache-update-delay: -1
  effect-delay: 80
  cooldown: 0
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzExYjUwNTU0MmRmZDNjZjg3NWNjY2EzYmRlZTY4YTg5NzM1NmU0MTBmZTgxMDVhNjNhNzU4OTM2NGM4MmJmZSJ9fX0="
nether_wart:
  type: crops
  block: NETHER_WART
  name: "&e&lNether Wart Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Action Delay: &a%delay%"
    - " "
    - "&7Price: &a%price%"
  price: 0
  permission: ""
  aoe: 15
  duration: -1
  ownedByServer: false
  rotate-only: false
  spawn-particles: true
  cache-update-delay: -1
  effect-delay: 120
  cooldown: 0
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzEzMGY3ZjJjMjhhODFlZWI0ZTI5YjM0OTk5NDA5MDhlNmRmNjM3NzNiYmQ0MmMzMThjMWVkNTI0YjE4ODQwMyJ9fX0="
speed:
  type: powerups
  name: "&b&lSpeed Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Level &a%level%"
    - " "
    - "&7Price: &a%price%"
  effect: "SPEED"
  duration: 300
  cooldown: 30000 #30s
  aoe: 10
  effect-level: 2
  price: 100
  permission: ""
  ownedByServer: false
  spawn-particles: true
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzJkYTQwYTkxZjhmYTdlMWNiZGQ5MzRkYTkyYTc2NjhkYzk1ZDc1YjU3YzljODBhMzgxYzVlMTc4Y2VlNmJhNyJ9fX0="
regeneration:
  type: powerups
  name: "&b&lRegeneration Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Level &a%level%"
    - " "
    - "&7Price: &a%price%"
  effect: "REGENERATION"
  duration: 400
  cooldown: 75000 #75s
  aoe: 10
  effect-level: 1
  price: 100
  permission: ""
  ownedByServer: false
  spawn-particles: true
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMWIxNWNlODIzNzcwZDlhMjY5YzFlYmY1ODNkM2U0OTMyNzQ3YTEzZWY0MzYxM2NkNGY3NWY4MDRjYTQifX19"
coins_command:
  type: commands
  name: "&b&lMoney Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Repeats Every: &a%repeatingDelay%s"
    - " "
    - "&7Price: &a%price%"
  commands:
    - eco give %player% 1
  duration: 120
  cooldown: 60000 #60s
  repeatEveryTicks: 20
  aoe: 10
  effect-level: 2
  price: 100
  permission: ""
  ownedByServer: false
  spawn-particles: true
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzFmNTFkODAxY2UzZTY2NWM3ZDBkNWMzODFhY2IxYTQzODc1MmNmNTc2ZTVlODYxMDJhNGY3Y2EzNThhNmFhZCJ9fX0="
fishing_orb:
  type: fishing
  name: "&b&lFishing Orb"
  lore:
    - "&7Area: &e%aoe%"
    - "&7Duration: &a%duration%s"
    - "&7Cooldown: &c%cooldown%s"
    - "&7Wait Time: &b%min-wait%&7s ~ &b%max-wait%&7s"
    - "&7Lure Time: &3%min-lure%&7s ~ &3%max-lure%&7s"
    - " "
    - "&7Price: &a%price%"
  #Set both the minimum (default 100) and maximum (default 600) amount of ticks one has to wait for a fish appearing.
  min-wait-time: 10
  max-wait-time: 40
  #Set both the minimum (default 20) and maximum (default 80) amount of ticks one has to wait for a fish to bite after appearing.
  min-lure-time: 10
  max-lure-time: 60
  duration: 3600 #3 minutes
  cooldown: 300000 #5 minutes
  repeatEveryTicks: 20
  aoe: 25   #This impact players, not the waters
  effect-level: 2
  price: 100
  permission: ""
  ownedByServer: false
  spawn-particles: true
  head: "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmFjMTVhMjA4YjU4ZDA0Zjg5MmUxZDYwZmU4M2JmYWI5YWQwYjljZmMzMTAzMTkwMjI0ZmEyMjQ2NDAzNTA4OSJ9fX0="

 

Crop Orbs

Crop orbs will target FARMLAND and SOULSAND block types, meaning that anything that you can plant in those blocks can be created via orbs.yml.

Just change the "block" of the orb and done!
Md9vFSF.png

Special cases:
You can set the block to MELON and PUMPKIN (not MELON_STEM and PUMPKIN_STEM), this will place the block on the nearest GRASS or DIRT block.

Powerups Orbs

Those can give you potion effects. You can see the full potion effect list HERE. The effect is reapplied every second.
zIyyO0l.png

Commands Orbs

Command orbs can, well, execute commands. If the %player% placeholder is present in a command, it will execute only for that player, otherwise the command is global.

Commands can repeat every tick, in orbs.yml you can see "repeatEveryTicks", in the default orb.yml file:

  commands:
    - eco give %player% 1
  repeatEveryTicks: 20

the eco give %player% 1 command is repeated every second (20 ticks = 1s), so the player will receive $1 every second.
YI3KAfl.png

Fishing Orbs

Those can change the speed of fishing spawn and the time it takes to bite. Please note that this feature is only available for 1.17+ at the moment.

Here's how it works in default orb.yml, info from Spigot javadoc:

  #Set both the minimum (default 100) and maximum (default 600) amount of ticks one has to wait for a fish appearing.
  min-wait-time: 10
  max-wait-time: 40
  #Set both the minimum (default 20) and maximum (default 80) amount of ticks one has to wait for a fish to bite after appearing.
  min-lure-time: 10
  max-lure-time: 60


I8OkpMx.png

Comming soon: Schematic-related Orbs (Trees, structures), PvP-related Orbs, Mob-related orbs. Leave your suggestions for orb types.

Settings.yml file

As of release version, it's a pretty simple file. Everything that you need is in orbs.yml, but I'll list some important options.


Storage:
  Type: SQLite
  MySQL:
    Host: localhost
    Port: '3306'
    User: user
    Password: '123456'
    Database: database
  Update-Interval-In-Ticks: '6000'
  Orbs-Load-Delay-In-Ticks: '300'
Global:
  Use-Vault: 'true'
Orbs:
  Region-Protection:
    Protect-Crops-Orb: 'true'
    Protect-Commands-Orb: 'false'
    Protect-Effects-Orb: 'false'
    Protect-Fishing-Orb: 'false'
  Load-Chunks-On-Start: 'true'
  Always-Check-For-Old-Entities-On-Start: 'true'
  Show-Server-Orbs-Display-Name: 'false'
  Particles:
    Offset-X: '0.3'
    Offset-Y: '0.2'
    Offset-Z: '0.3'
    Particle-Amount: '15'
    Particle-Delay: '15'
  Farming:
    Closest-First: 'true'

 

  1. Storage: MySQL or SQLite
  2. Load-Chunks-On-Start: Will load chunks where the orbs are when the server starts.
  3. Always-Check-For-Old-Entities-On-Start: Checks for any orbs (Armor Stands) that might still be in a location in case of a server crash, this will remove those old entities.
  4. Farming.Closest-First: Crops orbs will sort the cache block list by distance.

 

Language.yml

And of course, you can change every single message that players can see.


Messages:
  Cooldown: '&cWait %time% to use this orb again!'
  Recharged: '&eYour &c%orb% &eis ready to use!'
  No-Permission-Generic: '&cNo permission.'
  No-Permission-Buy-Orb: '&cYou don''t have permission to buy %orb%&c.'
  Not-Enough-Money: '&cYou don''t have enough money to buy %orb%&c.'
  Purchase-Successfully: '&aOrb %orb% &apurchased successfully.'
  Menu:
    Name: '&e&lSelect an orb'
    Items:
      Next-Page: '&a&lNext Page ➡'
      Previous-Page: '&c&l⬅ Previous Page'
  TimeUnits:
    Milliseconds: milliseconds
    Seconds: seconds
    Minutes: minutes
    Hours: hours
    Days: days
    Permanent: Permanent
Orbs:
  Player-Orb-Display-Name: '&b&l%player%''s %orb%'
  Server-Orb-Display-Name: '%orb%'

 

By buying ManyOrbs you agree to
  1. You are not allowed to distribute this plugin.
  2. You are not allowed to decompile this plugin.
    1. If you wish to purchase the source code send me a Private Message.
  3. Use only for your network/server.
  4. NO refunds.
  5. All support given is on Polymart only. This means no Discord contact. Sorry, this has been my way of giving the best support I can for almost 10 years now.
  6. I'll probably reply in a few minutes, otherwise wait at least 12 hours or so.