 
                Unblock the Fun, One Click at a Time with MMOBlock
Issue Fix:
- Item Stored on inventory or Minepacks have identifier
Could not pass event PlayerInteractEvent to MMOBlock v2.8.1-Latest
java.lang.NullPointerException: Cannot invoke "net.Indyuce.mmocore.api.player.attribute.PlayerAttribute.getId()" because "<parameter1>" is null
        at net.Indyuce.mmocore.api.player.attribute.PlayerAttributes.getInstance(PlayerAttributes.java:97) ~[MMOCore-1.13.jar:?]
        at net.Indyuce.mmocore.api.player.attribute.PlayerAttributes.getAttribute(PlayerAttributes.java:77) ~[MMOCore-1.13.jar:?]
        at org.justforfun.compability.MMOCoreComp.getAttributeLevel(Unknown Source) ~[MMOBlock-Latest.jar:?]
        at org.justforfun.listeners.interact.Clicked.A(Unknown Source) ~[MMOBlock-Latest.jar:?]
...MMOItems additional checks, required item level, required item profession level, and required item attribute level.
1. Command Changes:
2. Interaction fix.
3. Drop Config Changes:
<entityId>:
    exampledrop1:
      item:
        drop_type: inventory #inventory, minepacks, front_ground(front of player), and center_ground(center of entity).
    exampledrop2:
      exp:
        drop_type: front_ground #front_ground(front of player), and center_ground(center of entity).
    example_drop7:
      profession:
        drop_type: front_ground #front_ground(front of player), and center_ground(center of entity).4. Remove Legacy Hologram
<entityId>:
  hologram:
    enable: true # enable/disable holo
    customHolo: # hologram line
      '1': # 1 meaning line 1, line 1 on top
        value: <#ANIM&1;#FFFFFF,10,10,u>Rainbow Ore</#ANIM>
        #value: "<#ANIM&1;#FFFFFF,20,20,u>RainbowOre</#ANIM>" # wave animation usage <#ANIM[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&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&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<entityId>:
  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<enityId>:
  allowed_tools:
    "1":
      material: DIAMOND_PICKAXE
      right_click:
        decreaseDurability: 10
        clickNeeded: 3
      left_click:
        decreaseDurability: 15
        clickNeeded: 2
      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: []<entityId>:
  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
    exampledrop2:
      exp:
        value: [1-50]
        chances: 0.6
        target: right_click #left_click or both_click
    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
    exampledrop4:
      item:
        material: _iainternal:iron_pickaxe_custom #itemsadder
        total: [1-2]
        chances: 0.3
        target: right_click #left_click or both_click
    exampledrop5:
      item:
        material: tool:steel_pickaxe #mmoitems
        total: [1-2]
        chances: 0.3
        target: right_click #left_click or both_click
    example_drop6:
      item:
        material: warrior_item #mmoidentifier
        total: [1-3]
        chances: 0.4
        target: both_click #left_click or both_click
    example_drop7:
      profession:
        value: woodcutting #mmocore profession exp
        total: [ 1-30 ]
        chances: 0.6
        target: left_click #left_click or both_click
    exampledrop8:
      item:
        material: forest_pickaxe #Nexo
        total: [1-2]
        chances: 0.4
        target: right_click #left_click or both_clickOld Configurations:
#config.yml
entity:
  example:
    allowed_tools:
      - DIAMOND_PICKAXE;3
      - TOOL:STEEL_PICKAXE;5 #mmoitems
      - STONE_PICKAXE;8
      - _iainternal:iron_pickaxe_custom;8 #itemsadder
    drops:
      - RAW_IRON;3;0.8
      - TOOL:STEEL_PICKAXE;1;0.1
      - _iainternal:iron_pickaxe_custom;1;1
      - profession;woodcutting;30
      - exp;50;1
      - command;give %player% diamond 1;1
New Configurations:
#/block/<id>.yml
<id>:
  decrease_durability: 10 #removed configuration section
  #No changes on other section
  block:
    type: bamboo_planks #nexo support
    wide: 0
    height: 1
  allowed_tools:
    "1":
      material: DIAMOND_PICKAXE
      decreaseDurability: 5
      clickNeeded: 3
      allowedDrops:
        - exampledrop1
        - exampledrop2
        - exampledrop3
    "2":
      material: stone_pickaxe
      decreaseDurability: 5
      clickNeeded: 3
      allowedDrops:
        - exampledrop1
    "3":
      material: _iainternal:iron_pickaxe_custom
      decreaseDurability: 10
      clickNeeded: 3
      allowedDrops:
        - exampledrop1
        - exampledrop2
        - exampledrop3
        - exampledrop4
        - exampledrop5
        - example_drop7
    "4":
      material: tool:steel_pickaxe
      decreaseDurability: 10
      clickNeeded: 3
      allowedDrops: [] #empty will allow all drops
    "5":
      material: forest_pickaxe #nexo format
      decreaseDurability: 10
      clickNeeded: 3
      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
    exampledrop2:
      exp:
        value: [1-50]
        chances: 0.6
    exampledrop3:
      command:
        value: "give %player% diamond %amount%" #%player% and %amount% is internal placeholder
        amount: [1-10]
        chances: 0.2
    exampledrop4:
      item:
        material: _iainternal:iron_pickaxe_custom #itemsadder
        total: [1-2]
        chances: 0.3
    exampledrop5:
      item:
        material: tool:steel_pickaxe #mmoitems
        total: [1-2]
        chances: 0.3
    example_drop6:
      item:
        material: warrior_item #mmoidentifier
        total: [1-3]
        chances: 0.4
    example_drop7:
      profession:
        value: woodcutting #mmocore profession exp
        total: [ 1-30 ]
        chances: 0.6
    exampledrop8:
      item:
        material: forest_pickaxe #Nexo
        total: [1-2]
        chances: 0.4Changelogs:
hologram: modern #can switch to legacy
entity:
  example:
    drop-options:
      ClientSideDrop: true
      PerPlayerDrop: true
      Lootsplosion: true
      ItemBeam:
        enable: true
        color: BLUE
      ItemGlowByDefault:
        enable: true
        color: RAINBOWChanges:
entity:
  example:
    hologram:
      enable: true #enable/disable holo
      customHolo: #hologram line
        "1": #1 meaning line 1, line 1 on top
          value: '<gradient:#FFA500:#F92986>Rainbow Ore</gradient>' #gradient usage
          height: 0.4 #line spacing
        "2":
          value: '<#FFA500>Required Mining Lvl 1</#FFA500>' #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
      height: 2.2 #global height line
      shadowed: true #or false
      background: true
      clickHeight: 1.4
progressbar:
  progressing: "&a|"
  noprogress: "<gray>|"
  prefixProgress: "&8["
  suffixProgress: "<dark_gray>]"
  barlength: 16
| %mmoblock_click_cooldown% | Current cooldown time in second | 
| %mmoblock_click_cooldown_max% | Max value cooldown time | 
New Configuration:
#config file version 2
debug: false
lang: en-us
entity:
  example:
    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
    decrease_durability: 15
    #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
    hologram:
      enable: true #enable/disable holo
      customHolo: #hologram line
        "1": #1 meaning line 1, line 1 on top
          value: '<gradient:#FFA500:#F92986>Rainbow Ore</gradient>' #gradient usage
          height: 0.4 #line spacing
        "2":
          value: '<#FFA500>Required Mining Lvl 1</#FFA500>' #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
      height: 2.2 #global height line
      shadowed: true #or false
      background: true
      clickHeight: 1.4
    block:
      type: DIAMOND_ORE #for itemsadder custom block use like this <namespace>:<block id>, for Oraxen block use like this <block id>
      wide: 0
      height: 1
    #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
    allowed_tools:
      - DIAMOND_PICKAXE;3
      #  - TOOL:STEEL_PICKAXE;5
      - STONE_PICKAXE;8
    #  - _iainternal:iron_pickaxe_custom;8
    drops:
      - RAW_IRON;3;0.8
      #  - TOOL:STEEL_PICKAXE;1;0.1
      #  - _iainternal:iron_pickaxe_custom;1;1
      #  - profession;woodcutting;30
      - exp;50;1
      - command;give %player% diamond 1;1
progressbar:
  progressing: "&a|"
  noprogress: "<gray>|"
  prefixProgress: "&8["
  suffixProgress: "<dark_gray>]"
  barlength: 16Changes:
entity:
  example:
    hologram:
      enable: true #enable/disable holo
      customHolo: #hologram line
        "1": #1 meaning line 1, line 1 on top
          value: '<gradient:#FFA500:#F92986>Rainbow Ore</gradient>' #gradient usage
          height: 0.4 #line spacing
        "2":
          value: '<#FFA500>Required Mining Lvl 1</#FFA500>;height=0.4' #hex usage
          height: 0.4
        "3":
          value: '<#00FF00>[Click to Mine]</#00FF00>;height=0.4'
          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
      height: 2.2 #global height line
      shadowed: true #or false
      background: true
      clickHeight: 1.4
progressbar:
  progressing: "&a|"
  noprogress: "<gray>|"
  prefixProgress: "&8["
  suffixProgress: "<dark_gray>]"
  barlength: 16
| %mmoblock_click_cooldown% | Current cooldown time in second | 
| %mmoblock_click_cooldown_max% | Max value cooldown time | 
New Configuration:
#config file version 2
debug: false
lang: en-us
entity:
  example:
    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
    decrease_durability: 15
    #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
    hologram:
      enable: true #enable/disable holo
      customHolo: #hologram line
        "1": #1 meaning line 1, line 1 on top
          value: '<gradient:#FFA500:#F92986>Rainbow Ore</gradient>' #gradient usage
          height: 0.4 #line spacing
        "2":
          value: '<#FFA500>Required Mining Lvl 1</#FFA500>;height=0.4' #hex usage
          height: 0.4
        "3":
          value: '<#00FF00>[Click to Mine]</#00FF00>;height=0.4'
          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
      height: 2.2 #global height line
      shadowed: true #or false
      background: true
      clickHeight: 1.4
    block:
      type: DIAMOND_ORE #for itemsadder custom block use like this <namespace>:<block id>, for Oraxen block use like this <block id>
      wide: 0
      height: 1
    #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
    allowed_tools:
      - DIAMOND_PICKAXE;3
      #  - TOOL:STEEL_PICKAXE;5
      - STONE_PICKAXE;8
    #  - _iainternal:iron_pickaxe_custom;8
    drops:
      - RAW_IRON;3;0.8
      #  - TOOL:STEEL_PICKAXE;1;0.1
      #  - _iainternal:iron_pickaxe_custom;1;1
      #  - profession;woodcutting;30
      - exp;50;1
      - command;give %player% diamond 1;1
progressbar:
  progressing: "&a|"
  noprogress: "<gray>|"
  prefixProgress: "&8["
  suffixProgress: "<dark_gray>]"
  barlength: 16#config file version 1.4 debug: false lang: en-us cooldown: 1 # in seconds entity: example: send-title: "&eYour tool not matching!" # vanilla color code usage send-subtitle: "<red>or Tools are too low</red>" # color code usage decrease_durability: 15 #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 hologram: enable: true customHolo: - '<gradient:#FFA500:#00FF00>Diamond Ore</gradient>' #gradient usage #first line not affect with height - '<#FFA500>Required Mining Lvl 1</#FFA500>;height=0.3' #hex usage - '<#00FF00>[Click to Mine]</#00FF00>;height=0.3' height: 2 #all line height clickHeight: 1 block: type: DIAMOND_ORE #for itemsadder custom block use like this <namespace>:<block id>, for Oraxen block use like this <block id> wide: 0 height: 1 #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 allowed_tools: - DIAMOND_PICKAXE;3 # - TOOL:STEEL_PICKAXE;5 - STONE_PICKAXE;8 # - _iainternal:iron_pickaxe_custom;8 drops: - RAW_IRON;3;0.8 # - TOOL:STEEL_PICKAXE;1;0.1 # - _iainternal:iron_pickaxe_custom;1;1 # - profession;woodcutting;30 - exp;50;1 - command;give %player% diamond 1;1 progressbar: progressing: "<green>|</green>" noprogress: "<gray>|</gray>" barlength: 16
Changelogs:
* Fix blank line show ArmorStand as Name
* Add customizable height per line on hologram
New Config:#config file version 1.4 debug: false lang: en-us cooldown: 1 # in seconds entity: example: send-title: "&eYour tool not matching!" # vanilla color code usage send-subtitle: "<red>or Tools are too low</red>" # color code usage decrease_durability: 15 #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 hologram: enable: true customHolo: - '<gradient:#FFA500:#00FF00>Diamond Ore</gradient>' #gradient usage #first line not affect with height - '<#FFA500>Required Mining Lvl 1</#FFA500>height=0.3' #hex usage - '<#00FF00>[Click to Mine]</#00FF00>;height=0.3' height: 2 #all line height clickHeight: 1 block: type: DIAMOND_ORE #for itemsadder custom block use like this <namespace>:<block id>, for Oraxen block use like this <block id> wide: 0 height: 1 #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 allowed_tools: - DIAMOND_PICKAXE;3 # - TOOL:STEEL_PICKAXE;5 - STONE_PICKAXE;8 # - _iainternal:iron_pickaxe_custom;8 drops: - RAW_IRON;3;0.8 # - TOOL:STEEL_PICKAXE;1;0.1 # - _iainternal:iron_pickaxe_custom;1;1 # - profession;woodcutting;30 - exp;50;1 - command;give %player% diamond 1;1 progressbar: progressing: "<green>|</green>" noprogress: "<gray>|</gray>" barlength: 16
Bug Fixes:
- Make Itemsadder block unbreakable
- command "/mmoblock remove all" error fixes
New Config:#config file version 1.4 debug: false lang: en-us cooldown: 1 # in seconds entity: example: send-title: "&eYour tool not matching!" # vanilla color code usage send-subtitle: "<red>or Tools are too low</red>" # color code usage decrease_durability: 15 #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 hologram: enable: true customHolo: - '<gradient:#FFA500:#00FF00>Diamond Ore</gradient>' #gradient usage - '<#FFA500>Required Mining Lvl 1</#FFA500>' #hex usage - '<#00FF00>[Click to Mine]</#00FF00>' height: 2 clickHeight: 1 block: type: DIAMOND_ORE #for itemsadder custom block use like this <namespace>:<block id>, for Oraxen block use like this <block id> wide: 0 height: 1 #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 allowed_tools: - DIAMOND_PICKAXE;3 # - TOOL:STEEL_PICKAXE;5 - STONE_PICKAXE;8 # - _iainternal:iron_pickaxe_custom;8 drops: - RAW_IRON;3;0.8 # - TOOL:STEEL_PICKAXE;1;0.1 # - _iainternal:iron_pickaxe_custom;1;1 # - profession;woodcutting;30 - exp;50;1 - command;give %player% diamond 1;1 progressbar: progressing: "<green>|</green>" noprogress: "<gray>|</gray>" barlength: 16