kernitus / BukkitOldCombatMechanics

Spigot plugin to configure combat mechanics from 1.9 onwards
https://www.spigotmc.org/resources/19510/
Mozilla Public License 2.0
161 stars 69 forks source link

InventoryClickEvent ArrayOutOfBounds #618

Closed X1g3r closed 1 year ago

X1g3r commented 2 years ago

Hi, i have a problem with OCM

ENGINE: PaperSpigot 1.17.1

VERSION: OldCombatMechanics v1.11.0

CONSOLE:

[16:50:54] [Server thread/ERROR]: Could not pass event InventoryClickEvent to OldCombatMechanics v1.11.0
java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 36
    at java.util.Arrays$ArrayList.get(Arrays.java:4165) ~[?:?]
    at net.minecraft.core.NonNullList.get(NonNullList.java:47) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.world.entity.player.Inventory.getItem(Inventory.java:622) ~[app:?]
    at org.bukkit.craftbukkit.v1_17_R1.inventory.CraftInventory.getItem(CraftInventory.java:49) ~[patched_1.17.1.jar:git-Paper-411]
    at kernitus.plugin.OldCombatMechanics.module.ModuleDisableElytra.onInventoryClick(ModuleDisableElytra.java:56) ~[OldCombatMechanics.jar:?]
    at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor105.execute(Unknown Source) ~[?:?]
    at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Paper-411]
    at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.17.1.jar:git-Paper-411]
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Paper-411]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:628) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:2807) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:55) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:11) ~[app:?]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[app:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[app:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[app:?]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1426) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:192) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[app:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1404) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1397) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[app:?]
    at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1475) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1282) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-411]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
[16:50:54] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: org/apache/commons/lang3/exception/ExceptionUtils
    at nc.em.publish(SourceFile:1167) ~[PvPManager.jar:?]
    at java.util.logging.Logger.log(Logger.java:980) ~[?:?]
    at java.util.logging.Logger.doLog(Logger.java:1007) ~[?:?]
    at java.util.logging.Logger.log(Logger.java:1118) ~[?:?]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:645) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:2807) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:55) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:11) ~[app:?]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[app:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[app:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[app:?]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1426) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:192) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[app:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1404) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1397) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[app:?]
    at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1475) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1282) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-411]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang3.exception.ExceptionUtils
    at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:151) ~[patched_1.17.1.jar:git-Paper-411]
    at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[patched_1.17.1.jar:git-Paper-411]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    ... 22 more
[16:50:54] [Server thread/ERROR]:   Cause of unexpected exception was
java.lang.ClassNotFoundException: org.apache.commons.lang3.exception.ExceptionUtils
    at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:151) ~[patched_1.17.1.jar:git-Paper-411]
    at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[patched_1.17.1.jar:git-Paper-411]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
    at nc.em.publish(SourceFile:1167) ~[PvPManager.jar:?]
    at java.util.logging.Logger.log(Logger.java:980) ~[?:?]
    at java.util.logging.Logger.doLog(Logger.java:1007) ~[?:?]
    at java.util.logging.Logger.log(Logger.java:1118) ~[?:?]
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:645) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:2807) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:55) ~[app:?]
    at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:11) ~[app:?]
    at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[app:?]
    at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[app:?]
    at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[app:?]
    at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1426) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer.java:192) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[app:?]
    at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1404) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1397) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[app:?]
    at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1475) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1282) ~[patched_1.17.1.jar:git-Paper-411]
    at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-411]
    at java.lang.Thread.run(Thread.java:833) ~[?:?]

CONFIG:

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.

  ############# OldCombatMechanics Plugin by kernitus and Rayzr522 #############
#                                                                           #
# Bukkit Page: http://dev.bukkit.org/bukkit-plugins/oldcombatmechanics/     #
# Spigot Page: https://www.spigotmc.org/resources/oldcombatmechanics.19510/ #
# GitHub Page: https://github.com/kernitus/BukkitOldCombatMechanics/        #
#                                                                           #
#############################################################################

# List of interactive blocks that right clicking on will be ignored
# This is for modules such as sword blocking and disable-elytra
interactive: [crafting_table,enchantment_table,anvil,brewing_stand,trapped_chest,chest,bed,boat,fence_gate,dispenser,dropper,furnace,jukebox,ender_chest,stone_button,wood_button,beacon,tripwire_hook,hopper,daylight_detector,daylight_detector_inverted,item_frame,diode,diode_block_off,diode_block_on,redstone_comparator,redstone_comparator_off,redstone_comparator_on,acacia_door,birch_door,dark_oak_door,jungle_door,spruce_door,wood_door,workbench,bed_block,lever,trap_door,burning_furnace,spruce_fence_gate,birch_fence_gate,jungle_fence_gate,dark_oak_fence_gate,acacia_fence_gate,white_shulker_box,orange_shulker_box,magenta_shulker_box,light_blue_shulker_box,yellow_shulker_box,lime_shulker_box,pink_shulker_box,gray_shulker_box,silver_shulker_box,cyan_shulker_box,purple_shulker_box,blue_shulker_box,brown_shulker_box,green_shulker_box,red_shulker_box,black_shulker_box,barrel]

worlds-is-blacklist: false
# To use the per-world feature you must specify a list of worlds in square brackets []
# If empty, will be enabled in all worlds. Otherwise acts as whitelist / blacklist
# A few examples:
# worlds: [world,survival,creative,SkyWars]
# worlds: [bestWorld]

disable-attack-cooldown:
  # This is to disable the attack cooldown
  enabled: true
  worlds: []
  # What to set the attack speed to. Default for 1.9 is 4, at least 16 is needed for no cooldown.
  generic-attack-speed: 24
  message-enabled: "&aAttack cooldown enabled for %player%"
  message-disabled: "&cAttack cooldown disabled for %player%"
  message-usage: "Usage: &7/ocm toggle [player] [on/off]"

disable-player-collisions:
  # This is to disable player collisions
  # This is now compatible with scoreboard and tablist-editing plugins
  enabled: true
  worlds: []

disable-sword-sweep:
  # This is to disable the sword sweep attack
  # Particle effect is also now removed
  enabled: true
  worlds: []

disable-attack-sounds:
  enabled: false
  worlds: []
  # The sounds that will be blocked by this module
  blocked-sounds:
    - "minecraft:entity.player.attack.strong"
    - "minecraft:entity.player.attack.sweep"
    - "minecraft:entity.player.attack.nodamage"
    - "minecraft:entity.player.attack.knockback"
    - "minecraft:entity.player.attack.crit"
    - "minecraft:entity.player.attack.weak"

disable-crafting:
  # Disable the crafting of specified items
  enabled: true
  worlds: []
  # List of denied items
  denied: [shield]
  # Show the user a message if they try to craft a blacklisted item
  showMessage: true
  message: "&cCrafting tego itemu został zablokowany!"

disable-offhand:
  # Disable the usage of the offhand
  # Won't affect sword-blocking module
  enabled: false
  worlds: []
  # Whether the following list allows items or blocks them
  whitelist: true
  # List of items that should be allowed/blocked
  # Example: [diamond_sword,BOW]
  items: [shield]

old-brewing-stand:
  # Automatically refuels brewing stands
  enabled: true
  worlds: []

no-lapis-enchantments:
  # Automatically adds lapis to enchantment tables upon opening
  enabled: false
  worlds: []
  # Whether to only allow this for players with oldcombatmechanics.nolapis permission
  usePermission: false

disable-elytra:
  # Do not allow players to wear elytra
  enabled: true
  worlds: []

disable-enderpearl-cooldown:
  # Disables enderpearl cooldown
  enabled: true
  worlds: []
  # The cooldown, in seconds
  cooldown: 5
  # Show the user a message if they try to use an enderpearl and the cooldown has not expired yet
  showMessage: true
  message: "&cMusisz poczekać &7%ds&c przed ponownym użyciem ender perły!"

old-tool-damage:
  # This is to set the tool damage as in pre-1.9
  # IMPORTANT: Also enable disable-sword-sweep module or sweeps will have the damage value of the weapon in hand
  # NOTE: this will modify the damage, however on the item tooltip it will still show the 1.9+ damage
  enabled: true
  worlds: []
  # Damage values shown in 1.9 representation (actual damage)
  # In 1.8 the damage tooltip value would be added to 1 'base damage', yielding the values below
  damages:
    # Axe damages
    GOLD_AXE: 4
    WOOD_AXE: 4
    STONE_AXE: 4
    IRON_AXE: 5
    DIAMOND_AXE: 6
    NETHERITE_AXE: 7
    # Shovel damages
    GOLD_SPADE: 2
    WOOD_SPADE: 2
    STONE_SPADE: 3
    IRON_SPADE: 4
    DIAMOND_SPADE: 5
    NETHERITE_SPADE: 6
    # Sword damages
    GOLD_SWORD: 5
    WOOD_SWORD: 5
    STONE_SWORD: 6
    IRON_SWORD: 7
    DIAMOND_SWORD: 8
    NETHERITE_SWORD: 9
    # Pickaxe damages
    GOLD_PICKAXE: 3
    WOOD_PICKAXE: 3
    STONE_PICKAXE: 4
    IRON_PICKAXE: 5
    DIAMOND_PICKAXE: 6
    NETHERITE_PICKAXE: 7
    # Hoe damages
    GOLD_HOE: 1
    WOOD_HOE: 1
    STONE_HOE: 1
    IRON_HOE: 1
    DIAMOND_HOE: 1
    NETHERITE_HOE: 1

sword-blocking:
  # This is to allow players to block with swords again, by getting a shield while they hold right click with a sword
  enabled: true
  worlds: []
  # How often, in ticks, OCM should check if the player is still blocking with a shield, and remove it if not
  # If this is too fast the player will have their shield disappear before they're able to block again causing a slight delay
  # If this is too slow players will have a shield in their hand well after they've stopped blocking
  # 20 ticks = 1 second
  restoreDelay: 40
  # List of items that holding in the offhand while right-clicking with a sword doesn't trigger blocking e.g. bow
  noBlockingItems: []
  # Whether the above list should act as a blacklist (i.e. only items listed stop the blocking mechanic)
  blacklist: true
  # Whether to require players to have oldcombatmechanics.swordblock permission to block with a sword
  use-permission: false

shield-damage-reduction:
  # This module allows changing the damage reduction behaviour of shields
  enabled: true
  # How much damage blocking should reduce
  # This can either be a number in half-hearts (e.g 2) or a percentage (e.g. 20%)
  # 1.8 default: (damage - 1) * 50%             1.9 default: 33%
  # Damage reduction = (damage - damageReductionAmount) * damageReductionPercentage
  generalDamageReductionAmount: 1
  generalDamageReductionPercentage: 60
  # This value works the same but is exclusively for projectile damage
  projectileDamageReductionAmount: 1
  projectileDamageReductionPercentage: 80

old-golden-apples:
  # This is to change the behaviour / crafting of golden apples to how it was in pre-1.9
  # WARNING: If on 1.12 or above and you disable this module you must reload the server for the recipe to disappear
  enabled: true
  worlds: []
  # Cooldown between eating the apples, in seconds
  cooldown:
    # The cooldown for normal golden apples
    normal: 2
    # Message when user tries to eat golden apple during cooldown. Leave empty to disable.
    message-normal: "&cMusisz poczekać &7%seconds%s przed ponownym zjedzeniem refa!"
    # The cooldown for enchanted golden apples
    enchanted: 5
    # Message when user tries to eat enchanted golden apple during cooldown. Leave empty to disable.
    message-enchanted: "&cMusisz poczekać &7%seconds%s przed ponownym zjedzeniem koxa!"
    # Whether the two apple types share a cooldown.
    # If this is true:
    #   1. Eating any apple resets both cooldowns
    #   2. Each apple type can only be eaten when its cooldown time is over
    #      This means that when you eat *any* apple you start two parallel cooldowns: One for enchanted and one
    #      for normal apples. Each type can only be eaten when its cooldown is over.
    #      Once any apple is eaten, both cooldowns are restarted, so you can not eat either type again
    #      before its full cooldown is over.
    #   3. To have the plugin treat normal and enchanted golden apples as having the same cooldown,
    #      then set the same cooldown time and enable shared mode. (This was the old mode)
    # If this is false:
    #   Eating an enchanted apple will prevent any *enchanted* apple type from being eaten before the cooldown is over
    #   Eating a normal apple will prevent any *normal* apple type from being eaten before the normal cooldown is over
    is-shared: false
  # If you want to allow enchanted golden apple crafting```

  enchanted-golden-apple-crafting: true
  # Enabling this makes the potion effects gained by eating golden apples
  # and enchanted golden apples the same as it was in pre-1.9
  old-potion-effects: true
  # Potion effects golden apples should apply
  # Duration is in ticks (20 ticks = 1 second)
  # Amplifier is the potion level - 1, so Regeneration IV would be amplifier 3
  gapple-effects:
    regeneration:
      duration: 100
      amplifier: 4
    absorption:
      duration: 2400
      amplifier: 2
  # Potion effects enchanted golden apples should apply
  napple-effects:
    regeneration:
      duration: 600
      amplifier: 5
    damage_resistance:
      duration: 6000
      amplifier: 0
    fire_resistance:
      duration: 1600
      amplifier: 0
    absorption:
      duration: 2400
      amplifier: 2
  # Enable this if you have another plugin which adds a crafting recipe for
  # enchanted golden apples (requires server restart)
  no-conflict-mode: false

old-fishing-knockback:
  # This is to make the knockback of players when they get hit by a fishing bobber the same as it was in pre-1.9
  enabled: true
  worlds: []
  # This makes OCM check if other plugins are stopping the rod damage and follow their choice
  # Set to false to always have rod damage
  checkCancelled: false
  # This is the damage done by the fishing rod attack
  damage: 0.0001
  # Whether the EntityDamageEvent should be used instead of the EntityDamageByEntityEvent
  # Set to true when using plugins like NCP that check range
  useEntityDamageEvent: false
  # This is to cancel dragging in the entity attached to the fishing rod when reeling in, like in 1.8
  # Options: all, players, mobs, none. players allows compatibility with WorldGuard pvp-deny regions
  cancelDraggingIn: players
  # Whether to also give knockback on non-player living entities (e.g. mobs)
  knockbackNonPlayerEntities: false
  # This is the delay in milliseconds in-between rod damage, so the player hit has time to fall back down
  hitCooldown: 1000

fishing-rod-velocity:
  # In 1.9+ fishing rods go 8 blocks instead of 12 blocks
  # This is due to both gravity and initial launch speed
  # Set to true to revert back to the old calculations and gravity
  enabled: true
  worlds: []

projectile-knockback:
  # This adds knockback and/or damage to players when they get hit by snowballs, eggs & enderpearls
  # This has been a Bukkit bug for so long people thought it was vanilla when it was recently patched
  enabled: true
  worlds: []
  # This is the damage done by each projectile
  damage:
    snowball: 0.0001
    egg: 0.0001
    ender_pearl: 0.0001

old-player-knockback:
  # This is to change knockback players receive from attacks.  Default values are as in 1.8.
  #
  # Practice servers tend to use lower knockback, for example:
  # knockback-horizontal: 0.35
  # knockback-vertical: 0.35
  # knockback-vertical-limit: 0.4
  # knockback-extra-horizontal: 0.425
  # knockback-extra-vertical: 0.085
  #
  # Minigame servers use higher vertical knockback and lower horizontal knockback, exact values are unknown.
  enabled: true
  worlds: []
  # Horizontal knockback is reduced by 40% for every successful attack by the player, with no limit
  # Increase to make clicking more important, decrease to make it less important
  knockback-horizontal: 0.4
  # Vertical knockback is not reduced by clicking faster
  # Increase to make clicking less important, decrease to make clicking more important
  knockback-vertical: 0.4
  # Vertical knockback limit is applied after base vertical knockback
  # This limit can be exceeded by sprint hitting or knockback enchantments, from the extra vertical knockback
  knockback-vertical-limit: 0.4
  # Extra horizontal knockback is applied for each level of knockback enchant, and for sprinting
  # Increase to make sprint resetting (w-tapping) more important, decrease to make it less important
  # Increase to make clicking more important, decrease to make clicking less important
  knockback-extra-horizontal: 0.5
  # Extra vertical knockback is applied for each level of knockback enchant, and for sprinting
  # Increase to make sprint resetting (w-tapping) more important, decrease to make it less important
  # Increase to make clicking less important, decrease to make clicking more important
  knockback-extra-vertical: 0.1
  # Should knockback resistance be enabled? (e.g. netherite armour knockback resistance)
  enable-knockback-resistance: false

old-player-regen:
  # This is to make players' regeneration act mostly like it did in pre-1.9
  # Based on https://minecraft.gamepedia.com/Hunger?oldid=948685
  enabled: true
  worlds: []
  # How often a player should regenerate health, in milliseconds (In 1.8: 4 seconds)
  # The foodTickerTimer might not be perfectly accurate so we give it ~10ms of leeway
  interval: 3990
  # How many half-hearts the player should heal by, every seconds specified above
  amount: 1
  # How much exhaustion the player should get from healing. In 1.8: 3    In 1.9: 4    In 1.11: 6
  # If, after adding this, Minecraft finds the value is above 4, it subtracts 4
  # and either reduces saturation or, if saturation is 0, reduces food level by 1 (1/2 a stick)
  exhaustion: 3

old-armour-strength:
  # This is to make armour calculations like in 1.8
  # Based on this: https://minecraft.gamepedia.com/index.php?title=Armor&oldid=909187
  enabled: true
  worlds: []

old-armour-durability:
  # This makes armour take a constant amount of durability damage (except for explosions)
  enabled: true
  worlds: []
  # By how much to reduce durability every attack. 1.8 default is 1
  reduction: 1

disable-projectile-randomness:
  # This is to remove projectile randomness while firing arrows with a bow
  # This is actually a very old feature and has been in the game for quite some time
  enabled: false
  worlds: []
  # This is the threshold between projectiles' (X,Z) values before they're considered the same and straightened
  # This value is only useful for multishot. The default of 0.1 works at all but extremely shallow angles,
  # where arrows end up bunched together. Set to 1 if you want multishots to all follow the same path.
  epsilon: 0.1

disable-bow-boost:
  # This is to stop players from boosting themselves forward by hitting themselves
  # while running with a punch II arrow from their bow
  # This module simply stops them from hitting themselves with arrows entirely
  enabled: true
  worlds: []

old-potion-effects:
  # This is to restore the 1.8 potion effects and duration
  enabled: true
  worlds: []

  ### DURATION: (in seconds)
  potion-durations:
    regen: # Regeneration
      drinkable:
        base: 45
        II: 22
        extended: 120
      splash:
        base: 33
        II: 16
        extended: 90

    speed: # Swiftness
      drinkable:
        base: 180
        II: 90
        extended: 480
      splash:
        base: 135
        II: 67
        extended: 360

    fire_resistance:
      drinkable:
        base: 90
        extended: 240
      splash:
        base: 70
        extended: 180

    poison:
      drinkable:
        base: 45
        II: 22
        extended: 120
      splash:
        base: 33
        II: 16
        extended: 90

    night_vision:
      drinkable:
        base: 180
        extended: 480
      splash:
        base: 180
        extended: 480

    weakness:
      drinkable:
        base: 90
        extended: 240
      splash:
        base: 90
        extended: 240

    strength:
      drinkable:
        base: 180
        II: 90
        extended: 480
      splash:
        base: 135
        II: 67
        extended: 360

    slowness:
      drinkable:
        base: 90
        extended: 240
      splash:
        base: 67
        extended: 180

    jump: # Leaping
      drinkable:
        base: 180
        II: 90
        extended: 480
      splash:
        base: 135
        II: 67
        extended: 360

    water_breathing:
      drinkable:
        base: 180
        extended: 480
      splash:
        base: 135
        extended: 360

    invisibility:
      drinkable:
        base: 180
        extended: 480
      splash:
        base: 135
        extended: 360

    # 1.9+ potions
    # Turtle Master potion currently incompatible, will just work like default
    luck:
      drinkable:
        base: 300
      splash:
        base: 300

    slow_falling:
      drinkable:
        base: 90
        extended: 240
      splash:
        base: 90
        extended: 240

  # EFFECTS
  # If 'multiplier' is true value is multiplied by base tool damage. If false it is added.
  # If both true it is first increased by 1 then multiplied (same as +xx%)
  # Strength potion
  # 1.9: I = +3; II = +6;    1.8: I = +130%; II = +260%
  strength:
    modifier: 2
    multiplier: false
    addend: true
  # Weakness potion
  # 1.9 value: -4   1.8 value: -0.5
  weakness:
    modifier: -0.5
    multiplier: false

chorus-fruit:
  # This makes the chorus fruit behaviour configurable
  enabled: false
  worlds: []
  # The maximum distance the fruit can teleport the player. This a PER AXIS value, so this outlines a cube with
  # 2 * max-teleportation-distance as the side length
  # Vanilla default is 8.
  # Setting this to 0 disables chorus fruit teleport.
  # Setting this to a value greater than 8 MIGHT CAUSE CONFLICTS with bukkit's internal anti cheat
  # and *potentially* any other anti-cheat you use. Please make sure this is not an issue before increasing
  # this value.
  max-teleportation-distance: 8
  # Whether to prevent eating the fruit completely. This also prevents the teleportation.
  prevent-eating: false
  # The saturation value of the chorus fruit.
  # Vanilla default is 2.4
  saturation-value: 2.4
  # The hunger value of the chorus fruit.
  # Vanilla default is 4 (2 bars)
  hunger-value: 4

old-burn-delay:
  # This makes it so entities will immediately start to burn when entering fire
  enabled: false
  worlds: []
  # How long, in ticks, entities should be on fire for after not being in direct contact anymore
  fire-ticks: 120

attack-frequency:
  # Allows changing the player invulnerability between hits
  enabled: true
  worlds: []
  # The hit delay to apply. Default for 1.9+ is 20 ticks (1 second)
  playerDelay: 18
  mobDelay: 16

old-critical-hits:
  # Makes critical hits work like in 1.8
  # In 1.8 damage would be increased by 0% to 50%, rounded down, plus one heart
  # In 1.9 critical hits are always +50%
  enabled: true
  world: []
  # What the damage, after applying potions effects, is multiplied by
  multiplier: 1.5
  # Whether the multiplier is a random decimal between 1 and multiplier
  is-multiplier-random: true
  # What is added to the damage, after applying potions effects and multiplying
  addend: 1
  # Whether to round damage down to nearest integer (1.8 default: true)
  round-down: true
  # Whether to allow crits while sprinting. 1.8: true, 1.9: false
  allow-sprinting: true

################################
#### SUPPORT SETTINGS BELOW ####
################################
support:
  spartan-cancel-ticks: 1

################################
#### SPECIAL SETTINGS BELOW ####
################################

# This is to toggle the update checker
update-checker:
  enabled: true

# This enables command argument completion when pressing tab
command-completer:
  enabled: true

# This enables debug messages, only enable when troubleshooting
debug:
  enabled: false

# DO NOT CHANGE THIS NUMBER AS IT WILL RESET YOUR CONFIG
config-version: 54

Thanks for help! X1g3r