MMOBlock Mining & Gathering

MC Plugin MMOBlock Mining & Gathering v2.8.5-Latest
Unblock the Fun, One Click at a Time with MMOBlock

MMOBlock is a powerful Bukkit plugin that revolutionizes your Minecraft server by introducing interactive custom entities and blocks. With seamless integration to popular plugins like ModelEngine, MMOItems, ItemsAdder, Nexo, and PlaceholderAPI, MMOBlock brings a new level of immersion and engagement to your server.

minecraft_title1.png minecraft_title2.png minecraft_title3.png


Features

  • Custom Entities: Spawn and interact with customizable entities with advanced properties, animations, and conditions.
  • Custom Blocks: Place invulnerable blocks with dynamic configurations, including support for ItemsAdder, Oraxen, and Nexo custom blocks.
  • Holograms: Modern hologram system with gradients, hex colors, item displays, and multi-line spacing.
  • Animations: Play ModelEngine animations on interaction or entity death.
  • Advanced Drops & Rewards:
    • Configure drops with chances, amount ranges, and multi-source items (vanilla, MMOItems, ItemsAdder, Nexo, MMOIdentifier).
    • Client-Side Drops: Prevent lag with client-side item rendering.
    • Lootsplosion: Visual explosion effects on drop.
    • Item Beams/Glow: Customize beams (colors) and glowing effects (including rainbow) for dropped items.
    • Per-player drops and profession EXP rewards (MMOCore).
  • Tool Requirements: Define tools with durability loss, required clicks, and drop whitelists.
  • Conditions: Enforce level (MMOCore), placeholder (PlaceholderAPI).
  • Cooldowns: Prevent spamming with click cooldowns and respawn delays.
  • Integration: Works with Nexo, MMOItems, MMOCore, ModelEngine, ItemsAdder, Oraxen, MMOIdentifier and PlaceholderAPI.

Installation

  1. Download MMOBlock from the Polymart resource page.
  2. Place the .jar file into your server’s plugins folder.
  3. Restart the server to generate configuration files.
  4. Configure entities/blocks in plugins/MMOBlock/block/<id>.yml (see below).

Configuration

Configurations are now modular. Each custom block/entity is defined in its own file under plugins/MMOBlock/block/<id>.yml.

Example block/example.yml:​

YAML:
#config file version 2.8-latest
example: # section name and filename need to be the same, underscore will be not detected, you should rename the file to example.yml or remove the underscore
  send-title: "&eYour tool not matching!" # vanilla color code usage
  send-subtitle: "<red>or Tools are too low</red>" # color code usage
  click_cooldown: 0.5
  action_bar: true
  #model: iron_ore #model from modelengine
  #on_click: hit;0;0;1 #animaniton_name;lerpin;lerpout;speed
  #ondeathanim: hit;0;0;1 #animaniton_name;lerpin;lerpout;speed
  respawn: 5
  death_delay: 1
  hitbox:
    size: 20
  hologram:
    enable: true # enable/disable holo
    customHolo: # hologram line
      '1': # 1 meaning line 1, line 1 on top
        value: <#ANIM:wave:&1;#FFFFFF,10,10,u>Rainbow Ore</#ANIM>
        #value: "<#ANIM:wave:&1;#FFFFFF,20,20,u>RainbowOre</#ANIM>" # wave animation usage <#ANIM:wave:[color1];[color2];[color3];[etc],[(int) stay],[(int) transition],[bold<b>/italic<i>/underline<u>/strikethrough<st>]>Text</#ANIM>
        #value: "<#ANIM:fade:&1;#FFFFFF,20,20,u>RainbowOre</#ANIM>" # wave animation usage <#ANIM:fade:[color1];[color2];[color3];[etc],[(int) stay],[(int) transition],[bold<b>/italic<i>/underline<u>/strikethrough<st>]>Text</#ANIM>
        #value: "<#ANIM:colors:&1;#FFFFFF,20,20,u>RainbowOre</#ANIM>" # wave animation usage <#ANIM:colors:[color1];[color2];[color3];[etc],[(int) stay],[(int) transition],[bold<b>/italic<i>/underline<u>/strikethrough<st>]>Text</#ANIM>
        #value: "<#ANIM:scroll:&1;#FFFFFF,20,20,u>RainbowOre</#ANIM>" # wave animation usage <#ANIM:scroll:[color1];[color2];[color3];[etc],[(int) stay],[(int) transition],[bold<b>/italic<i>/underline<u>/strikethrough<st>]>Text</#ANIM>
        #value: "<#ANIM:typewriter:&1;#FFFFFF,u>RainbowOre</#ANIM>" # wave animation usage <#ANIM:typewriter:[color1];[color2];[color3];[etc],[bold<b>/italic<i>/underline<u>/strikethrough<st>]>Text</#ANIM>
        #value: "<#ANIM:burn:&1;#FFFFFF,u>RainbowOre</#ANIM>" # wave animation usage <#ANIM:burn:[color1],[color2],[bold<b>/italic<i>/underline<u>/strikethrough<st>]>Text</#ANIM>
        height: 0.4 # line spacing
      '2':
        value: <#ANIM:scroll:&e;&c,5,5,st>Required Mining Lvl 1 </#ANIM> # hex usage
        height: 0.4
      '3':
        value: <#00FF00>[Click to Mine]</#00FF00>
        height: 0.4
      '4':
        value: item # identifier to use item display
        id: DIAMOND_PICKAXE # item id
        custom_model_data: 0 # support custom model data
        height: 0.4
    progressHolo:
      "1":
        value: <#ANIM:wave:&1;#FFFFFF,10,10,u>Rainbow Ore</#ANIM>
        height: 0.4 # line spacing
      "2":
        value: "&7[&f%progress_bar%&7]" # progress bar
        height: 0.4 # line spacing
    deathHolo:
      "1":
        value: <#ANIM:wave:&1;#FFFFFF,10,10,u>Rainbow Ore</#ANIM>
        height: 0.4 # line spacing
      "2":
        value: "<gradient:#FFA500:#F92986>Respawning in: %respawnTime%s</gradient>" # gradient usage
        height: 0.4 # line spacing
    detectionRange: 16 # range detect player to show hologram and hologram position
    hologramDistance:
      east: 5 # east cardinal positions max distance, if the value 0 always in center
      south: 5 # south cardinal positions max distance, if the value 0 always in center
      west: 4 # west cardinal positions max distance, if the value 0 always in center
      north: 4 # north cardinal positions max distance, if the value 0 always in center
    height: 2.5 # global height line customHolo
    clickHeight: 2.5 # global height line progressHolo
    respawnHeigth: 2.5 # global height line deathHolo
    shadowed: true # or false
    background: true
  block:
    onSpawn:
      path: "uglyTree.yml"
      adjustPlacement:
        x: 1
        y: 0
        z: 4
    onDeath:
      path: "uglyTreeDead.yml"
      adjustPlacement:
        x: 1
        y: 0
        z: 4
#  block:
#    DIAMOND_ORE:
#      locations:
#        - 0, 0, 1, x, true
#        - 1, 0, 0, x, true
#    IRON_ORE:
#      locations:
#        - 1, 0, 1, x, true
  conditions: []
#    mmocore-level:
#      level: mining:1
#      send-title: "&eYour Level Is too Low"
#      send-subtitle: "<red>Minimum Level 1</red>"
#    condition1: #can make more than 1
#      first: '%vault_eco_balance%'
#      second: 500
#      operator: '>'
#      send-title: "&eYour funds not met"
#      send-subtitle: "<red>Minimum 500</red>"
  sounds:
    onClick: block.stone.hit
    onDeath: block.stone.break
  drop-options:
    ClientSideDrop: true
    PerPlayerDrop: true
    Lootsplosion: true
    ItemBeam:
      enable: true
      color: BLUE
    ItemGlowByDefault:
      enable: true
      color: RAINBOW
  allowed_tools:
    "1":
      material: DIAMOND_PICKAXE
      right_click:
        decreaseDurability: 10
        clickNeeded: 3
      left_click:
        decreaseDurability: 15
        clickNeeded: 2
      both_click:
        decreaseDurability: 15
        clickNeeded: 4
      allowedDrops:
        - exampledrop1
        - exampledrop2
        - exampledrop3
    "2":
      material: stone_pickaxe
      both_click:
        decreaseDurability: 15
        clickNeeded: 4
      allowedDrops:
        - exampledrop1
    "3":
      material: _iainternal:iron_pickaxe_custom #ItemsAdder
      right_click:
        decreaseDurability: 10
        clickNeeded: 3
      left_click:
        decreaseDurability: 15
        clickNeeded: 2
      allowedDrops:
        - exampledrop1
        - exampledrop2
        - exampledrop3
        - exampledrop4
        - exampledrop5
        - example_drop7
    "4":
      material: tool:steel_pickaxe #MMOItems
      both_click:
        decreaseDurability: 15
        clickNeeded: 4
      allowedDrops: [] #empty will allow all drops
    "5":
      material: forest_pickaxe #Nexo
      both_click:
        decreaseDurability: 15
        clickNeeded: 4
      allowedDrops: []
  drops:
    exampledrop1:
      item:
        material: raw_iron
        total: [1-3] # drop lower amount is higher chance, higher amount is lower chance
        chances: 1 # 1 is 100 percent
        target: both_click #left_click or both_click
        drop_type: inventory #inventory, minepacks, front_ground(front of player), and center_ground(center of entity).
    exampledrop2:
      exp:
        value: [1-50]
        chances: 0.6
        target: right_click #left_click or both_click
        drop_type: front_ground #front_ground(front of player), and center_ground(center of entity).
    example_drop7:
      profession:
        value: woodcutting #mmocore profession exp
        total: [ 1-30 ]
        chances: 0.6
        target: left_click #left_click or both_click
        drop_type: front_ground #front_ground(front of player), and center_ground(center of entity).
    exampledrop4:
      item:
        material: _iainternal:iron_pickaxe_custom #itemsadder
        total: [1-2]
        chances: 0.3
        target: right_click #left_click or both_click
        drop_type: inventory #inventory, minepacks, front_ground(front of player), and center_ground(center of entity).
    exampledrop5:
      item:
        material: tool:steel_pickaxe #mmoitems
        total: [1-2]
        chances: 0.3
        target: right_click #left_click or both_click
        drop_type: inventory #inventory, minepacks, front_ground(front of player), and center_ground(center of entity).
    example_drop6:
      item:
        material: warrior_item #mmoidentifier
        total: [1-3]
        chances: 0.4
        target: both_click #left_click or both_click
        drop_type: inventory #inventory, minepacks, front_ground(front of player), and center_ground(center of entity).
    exampledrop8:
      item:
        material: forest_pickaxe #Nexo
        total: [1-2]
        chances: 0.4
        target: right_click #left_click or both_click
        drop_type: inventory #inventory, minepacks, front_ground(front of player), and center_ground(center of entity).
    exampledrop3:
      command:
        value: "give %player% diamond %amount%" #%player% and %amount% is internal placeholder
        amount: [ 1-10 ]
        chances: 0.2
        target: right_click #left_click or both_click

Commands

  • /mmoblock place <entityId> [world] [x] [y] [z]: Place entity.
  • /mmoblock remove [all]: Remove entities guis or all.
  • /mmoblock reload: Reload configurations.
<Required>, [Opsional]


Permissions

  • mmoblock.place: Place entities.
  • mmoblock.remove: Remove entities.
  • mmoblock.reload: Reload plugin.

Integrations

  • Nexo: Support for Nexo custom blocks and tools or drops.
  • ItemsAdder: Support for ItemsAdder custom blocks and tools or drops.
  • Oraxen: Support only custom blocks.
  • MMOItems: Use custom items as tools or drops.
  • MMOCore: Level requirements for interactions and profession exp drop.
  • ModelEngine: Animate entities on click/death.
  • packetevents: optimized for sending packet.
  • PlaceholderAPI: Dynamic placeholders while interacting and usage for conditions.
  • MMOIdentifier: Use custom items as drops.

Support

For support, join our Discord community.


Preview Videos

New Update Test Server Version 1.19-1.21​



Test on Server Version 1.21


Test on Server Version 1.19-1.20



Documentation

Visit the MMOBlock Wiki for guides and examples.


Libraries Used


bStats

MMOBlockEvent.svg
Level
1
225 pts
v2.8.5-Latest Version
32 Downloads
1,446 Views
Published
Updated
0.00 star(s) 0 ratings Average Rating (0)
Top Bottom