Giter Site home page Giter Site logo

nathancollaert / augmentedhardcore Goto Github PK

View Code? Open in Web Editor NEW
9.0 9.0 10.0 4.52 MB

AugmentedHardcore is a plugin created for server owners who want to turn their server difficulty up a notch. AH allows for the admins to enable various hardcore enhancements listed down below. Each of these enhancements are incredibly detailed and fully configurable to your own need.

Java 100.00%

augmentedhardcore's People

Contributors

nathancollaert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

augmentedhardcore's Issues

Max Lives Feature Request

Im trying to find a way to implement donor ranks into my server and an idea ive had is to allow different permissions to have a different maximum number of lives, im not sure how difficult this would be to program, but if you think it is a good idea, here is an example of a config with the feature implemented, the permissions could be (augmentedhardcore.lives.default, augmentedhardcore.lives.vip etc):

############################################################

+------------------------------------------------------+
| Lives |
+------------------------------------------------------+
############################################################

#Should the plugin use the lives system configured below?
UseLives: true

#What should the maximum amount of lives a player can have be?
#Minimum is 1.
MaxLives:
default: 1
vip: 2
mvp: 3

Freeze not working for 1.18

I understand the update just came out, but I want to have it documented for a future update just incase.

FREEZE is in the config, but server is not recognizing FREEZE deaths for AugmentedHardcore. All other deaths are recognized.

Feature Requests!

Hello, was asked to make this a github issue!

  1. Adding PlaceholderAPI placeholders for the following:
  • Ban time in seconds/minutes/hours/days
  • Ban time expire date
  • last ban date
  • total bans
  • current lives
  • current lifeparts
  • parts needed for life
  • time in sec/min/hr/day until next lifepart (if enabled)
  • time in sec/min/hr/day until next life (if enabled)
  1. Hooking with existing Combat Tag plugins
  • I see that LDB has a basic combat tag system. It would be nice if it could hook to an existing combattag plugin (if it exists), and use that plugin to handle combat tag related things. We specifically use CombatLogX

Thank you in advance!

Add support for 1.17

Hello,
Is it possible to update this Plugin to 1.17? Because I´ve encountered a lot of bugs while testing it to see if it would still work. This Plugin causes the server to crash when you are writing the command "/augmentedhardcore:deathbans". It also doesn´t work sometimes. Sometimes you get banned on death and sometimes not despite it being the same cause of death. But it will guarantee to work after you reload the server.

Kind regards.
Sven

No Data Found on Players

Hey again,
I ended up switching my little server over to spigot so we could use this plugin. This time the error I'm getting when I do some of the commands is "(name) has no data on this server."

I checked the userdata folder and saw that I had a yml file containing my accounts information. I've tinkered around with things and can't seem to fix it.

[Suggestion] Make the aliases configurable

Greetings,

I have other plugins using the /ah alias command, so if it's possible to add as feature a way to config the aliases so i can change to another command alias.

Multiworld issue

in my survival server i wanted one of my world to be hardcore but there was a bug and it did not allow me to get banned from the server after it reached to my life limit i have done everything correct in the files to perform this action because i had a professional to help me i would love you to fix this issue (on1.14.4) as this will make my server amazing!!!!!! your plugin only allows it to not be config and if you do config it it will not function properly

Max Life Hearts do not gain over time

Currently have the option enable in my server and players are able to earn hearts for PVP and Mob kills, but hearts will not gain over time. I have Scoreboard-r running on the server to call to the PlaceholderAPI and the time does not decrease for Max Hearts

no command to unban players only banned by litedeathban

there is no way to unban players from the console that have been banned specifically by litedeathbans. You can add a life but that does not unban them, you would then have to send the unban command. But this would allow the unbanning of anyone who has been banned.
I have run into this issue where im allowing players to either wait out their ban time OR donate to the server to come back immediately. But in doing this they can donate to the server and input their username and it would send the unban command to the server. This would unban them even if one of my admins banned them.

Deaths Till Raidable

Would it be possible to add DTR? if you are unfamiliar, DTR is basically a feature from hardcore factions or hcf where a player would have a DTR assigned to his group, the max of which would be the number of members in this group plus .1. every time a player died, the group would lose one DTR. if your DTR ever dropped below zero, any person would be able to build or interact with blocks in your claim. I understand that this plugin does not feature claims or groups, but would it be possible to make this happen somehow in terms of compatibility?

[Question]

Can you make that if a Player kills another Player that he gets 1 more Life?

API Request

I would request for there to be an API so other developers can hook to some events.

For example, I would like to execute custom code whenever a player loses a life, or whenever a player gets deathbanned.

Thank you!

Bans based on player kills

please add the ability to have players be banned for a certain amount of time based on how many players they have killed :D

"<Player> has not played on the server before." error due to improperly set `server_ip` in `ah_bans`

I am running an offline mode server behind a Velocity proxy.

A player died, and was deathbanned. However, when I run the command undeathban Brohammad, I get the error Brohammad has not played on the server before. I am not sure why this issue is happening. Upon inspecting the database, I see the following:

SELECT player_uuid,last_known_name,last_death FROM ah_player WHERE last_known_name = 'Brohammad';

-- +--------------------------------------+-----------------+---------------------+
-- | player_uuid                          | last_known_name | last_death          |
-- +--------------------------------------+-----------------+---------------------+
-- | 970e5b2b-4326-41b8-bdb8-0f5e5ad49e85 | Brohammad       | 2024-02-14 17:27:01 |
-- +--------------------------------------+-----------------+---------------------+

SELECT ban_id,player_uuid,server_ip,server_port,start_date,expiration_date,ban_time FROM ah_ban WHERE player_uuid = '970e5b2b-4326-41b8-bdb8-0f5e5ad49e85';

-- +--------+--------------------------------------+------------+-------------+---------------------+---------------------+----------+
-- | ban_id | player_uuid                          | server_ip  | server_port | start_date          | expiration_date     | ban_time |
-- +--------+--------------------------------------+------------+-------------+---------------------+---------------------+----------+
-- |      1 | 970e5b2b-4326-41b8-bdb8-0f5e5ad49e85 | 172.18.0.4 |       26602 | 2024-02-14 17:27:01 | 2024-02-15 17:27:01 |     1440 |
-- +--------+--------------------------------------+------------+-------------+---------------------+---------------------+----------+

Old bans (from before I set up Velocity) have NULL set for server_ip and server_port. I tried updating those fields:

UPDATE ah_ban SET server_ip = NULL, server_port = NULL WHERE server_ip = '172.18.0.4';

But this did not fix the issue.


EDIT: I found a fix for the issue.

Running the UPDATE query did not fix the issue while the server was online. When I shut the server down it updated the rows again. I shut the server down, ran the UPDATE query, and started the server again. This fixed the issue.

Feature Request:

Im trying to find a way to implement donor ranks into my server and an idea ive had is to allow different permissions to have a different maximum number of lives, im not sure how difficult this would be to program, but if you think it is a good idea, here is an example of a config with the feature implemented, the permissions could be (augmentedhardcore.lives.default, augmentedhardcore.lives.vip etc):

############################################################

+------------------------------------------------------+

| Lives |

+------------------------------------------------------+

############################################################

#Should the plugin use the lives system configured below?
UseLives: true

#What should the maximum amount of lives a player can have be?
#Minimum is 1.
MaxLives:
default: 1
vip: 2
mvp: 3

GUI breaks when clicking the revive totem

When using /mystats and clicking the "Is there someone you'd like to revive?" totem, all the GUI breaks and you can pick up and move all the items. It also posts a console error as seen below.

[08:28:51 INFO]: Tadhg11 issued server command: /mystats

[08:28:56 ERROR]: Could not pass event InventoryClickEvent to AugmentedHardcore v3.3.7
java.lang.NoSuchMethodError: 'net.minecraft.world.entity.player.PlayerInventory net.minecraft.server.level.EntityPlayer.fB()'
        at net.wesjd.anvilgui.version.Wrapper1_19_R1$AnvilContainer.<init>(Wrapper1_19_R1.java:89) ~[AugmentedHardcore-3.3.7.jar:?]
        at net.wesjd.anvilgui.version.Wrapper1_19_R1.newContainerAnvil(Wrapper1_19_R1.java:81) ~[AugmentedHardcore-3.3.7.jar:?]
        at net.wesjd.anvilgui.AnvilGUI.openInventory(AnvilGUI.java:176) ~[AugmentedHardcore-3.3.7.jar:?]
        at net.wesjd.anvilgui.AnvilGUI.<init>(AnvilGUI.java:164) ~[AugmentedHardcore-3.3.7.jar:?]
        at net.wesjd.anvilgui.AnvilGUI.<init>(AnvilGUI.java:30) ~[AugmentedHardcore-3.3.7.jar:?]
        at net.wesjd.anvilgui.AnvilGUI$Builder.open(AnvilGUI.java:486) ~[AugmentedHardcore-3.3.7.jar:?]
        at com.backtobedrock.augmentedhardcore.guis.clickActions.ClickActionOpenPlayerSelectionAnvilGui.execute(ClickActionOpenPlayerSelectionAnvilGui.java:18) ~[AugmentedHardcore-3.3.7.jar:?]
        at com.backtobedrock.augmentedhardcore.eventListeners.ListenerCustomInventory.lambda$onCustomInventoryClick$0(ListenerCustomInventory.java:39) ~[AugmentedHardcore-3.3.7.jar:?]
        at java.util.Collections$SingletonList.forEach(Collections.java:4966) ~[?:?]
        at com.backtobedrock.augmentedhardcore.eventListeners.ListenerCustomInventory.onCustomInventoryClick(ListenerCustomInventory.java:39) ~[AugmentedHardcore-3.3.7.jar:?]
        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor23.execute(Unknown Source) ~[?:?]
        at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:75) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:git-Paper-142]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:670) ~[paper-api-1.19.2-R0.1-SNAPSHOT.jar:?]
        at net.minecraft.server.network.ServerGamePacketListenerImpl.handleContainerClick(ServerGamePacketListenerImpl.java:3304) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:58) ~[?:?]
        at net.minecraft.network.protocol.game.ServerboundContainerClickPacket.handle(ServerboundContainerClickPacket.java:23) ~[?:?]
        at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:51) ~[?:?]
        at net.minecraft.server.TickTask.run(TickTask.java:18) ~[paper-1.19.2.jar:git-Paper-142]
        at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:153) ~[?:?]
        at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:24) ~[?:?]
        at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1361) ~[paper-1.19.2.jar:git-Paper-142]
        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:185) ~[paper-1.19.2.jar:git-Paper-142]
        at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:126) ~[?:?]
        at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1338) ~[paper-1.19.2.jar:git-Paper-142]
        at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1331) ~[paper-1.19.2.jar:git-Paper-142]
        at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:136) ~[?:?]
        at net.minecraft.server.MinecraftServer.waitUntilNextTick(MinecraftServer.java:1309) ~[paper-1.19.2.jar:git-Paper-142]
        at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1197) ~[paper-1.19.2.jar:git-Paper-142]
        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:305) ~[paper-1.19.2.jar:git-Paper-142]
        at java.lang.Thread.run(Thread.java:833) ~[?:?]

display death in chat when deathban

when a player is banned due to death, the game displays in chat to the other player that he has left the server instead of saying that he is dead

Killing entities with a bow is not registered

Killing entities with a bow does not give life parts.

For instance really want to use the Ender Dragon as a method for people to get lives to revive their friends, but people primarily use bows to kill dragons, and they wouldn't get a life part from doing this.

Lifeparts by Playtime doesnt work

I have it set up in the config that a player is given a life part every 60 minutes, but no one on the server has lifeparts for some reason. Here is the config as i cant upload a yml:

############################################################

+------------------------------------------------------+

| Data |

+------------------------------------------------------+

############################################################

#YAML or MySQL
StorageType: YAML

#Only necessary if using MySQL
Connection:
Hostname: localhost
Port: '3306'
Database: minecraft
Username: root
Password: root

############################################################

+------------------------------------------------------+

| Lives |

+------------------------------------------------------+

############################################################

#Should the plugin use the lives system configured below?
UseLives: true

#What should the maximum amount of lives a player can have be?
#Minimum is 1.
MaxLives: 3

#What amount of lives should players start with when first joining the server?
#Minimum is 1.
LivesAtStart: 1

#How many lives should a player start with when joining the server for the first time after a death ban?
#Minimum is 1.
LivesAfterBan: 1

#How many lives should a player lose on death?
#Minimum is 1.
LivesLostPerDeath: 1

#Should losing lives be disabled in any worlds?
DisableLosingLivesInWorlds: []
#- world
#- world_nether
#- world_the_end

############################################################

+------------------------------------------------------+

| Life Parts |

+------------------------------------------------------+

############################################################

#Should the plugin use the life parts system configured below?
#Life parts can used to gain a full life when enough are collected.
UseLifeParts: true

#What should the maximum amount of life parts a player can have be?
#Life parts are not converted to lives when max lives is reached.
#Minimum is 0. -1 is unlimited.
MaxLifeParts: 50

#How many life parts does it take to get a full life?
#Minimum is 1.
LifePartsPerLife: 10

#What amount of life parts should players start with when first joining the server?
#Minimum is 0.
LifePartsAtStart: 1

#How many life parts should a player start with when joining the server for the first time after a death ban?
#Minimum is 0, -1 to keep the current amount.
LifePartsAfterBan: 0

#How many life parts should be lost on death?
#Minimum is 0, -1 is all life parts.
LifePartsLostPerDeath: 0

#How many life parts should be lost upon death ban?
#Minimum is 0, -1 is all life parts.
LifePartsLostPerDeathBan: -1

#Should players receive life parts when killing another entity?
LifePartsOnKill: true

#How many life parts should a player receive when killing another entity?
#Any living entity type can be added to the list followed by the amount of life parts it would give. (https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html)
#Any living entity type not listed will give 0 life parts.
#Minimum is 0
LifePartsPerKill:
PLAYER: 2
ZOMBIE: 0
SKELETON: 0
CREEPER: 0
COW: 0
PIG: 0
CHICKEN: 0

#Should players receive life parts by playtime?
GetLifePartByPlaytime: true

#How long should a player have to play in order to gain 1 life part?
#In minutes, minimum is 1.
PlaytimePerLifePart: 60

#Should getting parts of a life be disabled in any worlds?
DisableGainingLifePartsInWorlds: []
#- world
#- world_nether
#- world_the_end

#Should losing parts of a life be disabled in any worlds?
DisableLosingLifePartsInWorlds: []
#- world
#- world_nether
#- world_the_end

############################################################

+------------------------------------------------------+

| Death Ban |

+------------------------------------------------------+

############################################################

#Should the plugin use the death ban system configured below?
UseDeathBan: true

#What ban times should these death causes have when a player reaches 0 lives?
#Bantime: The ban time in minutes this damage cause will give the player.

Minimum is 0, -1 will ban permanently

#DisplayMessages: A list of possible ban messages that can be used in the ban reason of a player.

These ban messages can use ALL placeholders available (if present in the ban cause) in the Ban section of the messages.yml config.

BanTimes:
#Death caused by being in the area when a block explodes.
BLOCK_EXPLOSION:
BanTime: 4320
DisplayMessages:
- "blew up"
- "got caught in an explosion"

#Death caused by contacting a block such as a Cactus.
CONTACT:
BanTime: 4320
DisplayMessages:
- "were pricked to death"
- "were poked to death"

#Death caused by colliding with too many entities due to the maxEntityCramming game rule.
CRAMMING:
BanTime: 4320
DisplayMessages:
- "were squished too much"
- "were flattened"

#Death caused by a dragon breathing fire.
DRAGON_BREATH:
BanTime: 4320
DisplayMessages:
- "were roasted in dragon breath"

#Death caused by running out of air while in water
DROWNING:
BanTime: 4320
DisplayMessages:
- "drowned"
- "weren't able to find air"

#Death caused by a monster attack.
ENTITY_ATTACK:
BanTime: 4320
DisplayMessages:
- "were slain"
- "were doomed"

#Death caused by a player attack.
PLAYER_ENTITY_ATTACK:
BanTime: 4320
DisplayMessages:
- "were slain"
- "were doomed"

#Death caused by being in the area when an entity, such as a Creeper, explodes.
ENTITY_EXPLOSION:
BanTime: 4320
DisplayMessages:
- "blew up"
- "got caught in an explosion"
- "went off with a bang"

#Death caused by being in the area when TNT explodes placed by a player.
PLAYER_ENTITY_EXPLOSION:
BanTime: 4320
DisplayMessages:
- "blew up"
- "got caught in an explosion"
- "went off with a bang"

#Death caused by a monster attacking with a sweep attack.
ENTITY_SWEEP_ATTACK:
BanTime: 4320
DisplayMessages:
- "were slain during a sweep attack"
- "were caught in a sweep attack"

#Death caused by a player attacking with a sweep attack.
PLAYER_ENTITY_SWEEP_ATTACK:
BanTime: 4320
DisplayMessages:
- "were slain during a sweep attack"
- "were caught in a sweep attack"

#Death caused by falling a distance greater than 3 blocks
FALL:
BanTime: 4320
DisplayMessages:
- "hit the ground too hard"
- "fell from a high place"
- "fell too far"

#Death caused by being hit by a falling block which deals damage
FALLING_BLOCK:
BanTime: 4320
DisplayMessages:
- "were squashed"
- "were crushed"
- "were shattered"

#Death caused by direct exposure to fire
FIRE:
BanTime: 4320
DisplayMessages:
- "went up in flames"
- "walked into fire"

#Death caused due to burns caused by fire
FIRE_TICK:
BanTime: 4320
DisplayMessages:
- "burned to death"
- "burned to a crisp"

#Death caused by running/flying into a wall.
FLY_INTO_WALL:
BanTime: 4320
DisplayMessages:
- "experienced kinetic energy"

#Damage caused from freezing.
FREEZE:
BantTime: 4320
DisplayMessages:
- "froze to death"

#Death caused by stepping on MAGMA_BLOCK.
HOT_FLOOR:
BanTime: 4320
DisplayMessages:
- "discovered the floor was %killer% and hot"
- "walked into %killer% and melted"

#Death caused by direct exposure to lava
LAVA:
BanTime: 4320
DisplayMessages:
- "tried to swim in lava"
- "lost the floor is lava game"

#Death caused by being struck by lightning
#(Lightning is an entity)
LIGHTNING:
BanTime: 4320
DisplayMessages:
- "were struck by"

#Death caused by being hit by a damage potion or spell from a monster or block
MAGIC:
BanTime: 4320
DisplayMessages:
- "were killed with magic"

#Death caused by being hit by a damage potion or spell from a player
PLAYER_MAGIC:
BanTime: 4320
DisplayMessages:
- "were killed with magic"

#Death caused due to an ongoing poison effect
POISON:
BanTime: 4320
DisplayMessages:
- "drank the wrong potion"
- "got injected by poison"

#Death caused when attacked by a projectile from monster or block.
PROJECTILE:
BanTime: 4320
DisplayMessages:
- "were shot"
- "were impaled"

#Death caused when attacked by a projectile from player.
PLAYER_PROJECTILE:
BanTime: 4320
DisplayMessages:
- "were shot"
- "were impaled"

#Death caused by starving due to having an empty hunger bar
STARVATION:
BanTime: 4320
DisplayMessages:
- "starved to death"
- "couldn't find food"

#Death caused by being put in a block
SUFFOCATION:
BanTime: 4320
DisplayMessages:
- "suffocated"
- "were too soft for this world"

#Death caused by committing suicide using the command "/kill"
SUICIDE:
BanTime: 4320
DisplayMessages:
- "died"
- "committed suicide"

#Death caused in retaliation to another attack by the Thorns enchantment from armour worn by a monster.
THORNS:
BanTime: 4320
DisplayMessages:
- "were killed due to deflected damage"

#Death caused in retaliation to another attack by the Thorns enchantment from armour worn by a player.
PLAYER_THORNS:
BanTime: 4320
DisplayMessages:
- "were killed due to deflected damage"

#Death caused by falling into the void
VOID:
BanTime: 4320
DisplayMessages:
- "fell out of the world"
- "didn't want to live in this world anymore"
- "were sucked into the void"

#Death caused by Wither potion effect
WITHER:
BanTime: 4320
DisplayMessages:
- "withered away"

#Death caused by combat logging from a monster
COMBAT_LOG:
BanTime: 4320
DisplayMessages:
- "combat logged"

#Death caused by combat logging from a player
PLAYER_COMBAT_LOG:
BanTime: 4320
DisplayMessages:
- "combat logged"

#Death caused by reviving someone
REVIVE:
BanTime: 4320
DisplayMessages:
- "revived"

#Which type of ban should LiteDeathBan enforce when death banning a player?

-> name/ip

BanType: name

#What ban time type should be used for calculating the bantime?
#Static: Above times will be used for bans.
#BanCount: The amount of (times death banned * 35) will be used for determining the bantime.

Bantimes will increase the more death banned the player has been.

Above times will be used as maximum ban time.

#Playtime: Playtime will be used for determining the bantime.

Bantimes will increase the more playtime the player has.

Above times will be used as maximum ban time.

#Timesincelastdeath: Time since last death will be used for determining the bantime.

Bantimes will increase the longer the player stays alive.

Every death will reset the bantime back to 0, above times will be used as maximum ban time.

-> static/bancount/playtime/timesincelastdeath

BanTimeType: playtime

#At what rate should the ban time by playtime grow?
#Linear: a constant increase in bantime the more bancount/playtime/timesincelastdeath(P) you have (constant increase).

Function: [(P+MBT/60) OR MBT]. MBT -> max ban time

#exponential: a proportional growth to the current bancount/playtime/timesincelastdeath(P) (slow increase at start, rapid increase at the middle/end).

Function: [(60*(P)^(P/MBT)) OR MBT]. MBT -> max ban time

-> linear/exponential

BanTimeByPlaytimeGrowthType: linear

#Should players be banned if killed by themselves (excluding /kill)?
SelfHarmBan: true

#Should a lightning strike at the players position on death ban?
LightningOnDeathBan: true

#To what world spawn should a spectator banned player be teleported to after the ban ends and no bed spawn location was found?
SpectatorBanRespawnWorld: MainTHCWorld

#Should any commands be executed on death ban?
#Placeholders: %player%
CommandsOnDeathBan:

  • "kick %player% YOU DIED, Rejoin to see how long you are banned for..."
    #- "minecraft:advancement revoke %player% everything"

#Should banning players be disabled in any worlds?
DisableBanInWorlds: []
#- world
#- world_nether
#- world_the_end

############################################################

+------------------------------------------------------+

| Max Health |

+------------------------------------------------------+

############################################################

#Should the plugin use the max health system configured below?
UseMaxHealth: false

#What should the highest amount of half hearts be that a player is able to get?
#In half hearts, minimum is 1 (Minecraft will not display health over 1024 but it's still there)
MaxHealth: 20

#What should the lowest amount of half hearts be that a player is able to get?
#In half hearts, minimum is 1 (Minecraft will not display health over 1024 but it's still there)
MinHealth: 6

#How many half hearts should a player respawn with after a death ban?
#In half hearts, minimum is 1, -1 to keep the current amount (Minecraft will not display health over 1024 but it's still there)
MaxHealthAfterBan: 20

#With how many half hearts should the max health drop per death?
#In half hearts, minimum is 0
MaxHealthDecreasePerDeath: 2

#Should players be able to increase their max health by killing other entities?
MaxHealthIncreaseOnKill: true

#How many max health should a player receive when killing another entity?
#Any living entity type can be added to the list followed by the amount of max health it would give. (https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/entity/EntityType.html)
#Any living entity type not listed will give 0 max health.
#In half hearts, minimum is 0
MaxHealthIncreasePerKill:
PLAYER: 2
ENDER_DRAGON: 2
ELDER_GUARDIAN: 2
PIGLIN_BRUTE: 1

#Should players receive max health by playtime?
GetMaxHealthByPlaytime: false

#How long should a player have to play in order to gain half a heart?
#In minutes, minimum is 1.
PlaytimePerHalfHeart: 30

#Should losing max health be disabled in any world?
DisableLosingMaxHealthInWorlds: []
#- world
#- world_nether
#- world_the_end

#Should gaining max health be disabled in any world?
DisableGainingMaxHealthInWorlds: []
#- world
#- world_nether
#- world_the_end

############################################################

+------------------------------------------------------+

| Combat Tag |

+------------------------------------------------------+

############################################################

#Should players die and be banned if they log out while in combat with another player?
PlayerCombatTag: true

#Should players die and be banned if they log out while in combat with a monster?
MonsterCombatTag: true

#Should players be able to combat tag themselves?
CombatTagSelf: false

#How long should a player be combat tagged for?
#In Seconds, minimum is 1.
CombatTagTime: 10

#Should players tagged in combat be killed on kick?
CombatTagPlayerKickDeath: true

#Should combat tagging be disabled in any worlds?
DisableCombatTagInWorlds: []
#- world
#- world_nether
#- world_the_end

############################################################

+------------------------------------------------------+

| Reviving |

+------------------------------------------------------+

############################################################

#Should players be able to give a lives of their own to someone else?
#Players who were previously banned by the plugin will be unbanned if given a life.
UseRevive: true

#How many lives should be lost when reviving another player?
#Minimum is 1
LivesLostOnReviving: 1

#How many lives should a player gain when revived?
#Minimum is 1
LivesGainedOnRevive: 1

#How much time should the revive option go on cooldown for after using it?
#In minutes, minumum is 0.
TimeBetweenRevives: 2880

#Should players be able to use the revive option directly on first join?
#If false, players will be able to use revive after TimeBetweenRevives minutes.
ReviveOnFirstJoin: false

#Should reviving be disabled in any worlds?
DisableReviveInWorlds: []
#- world
#- world_nether
#- world_the_end

############################################################

+------------------------------------------------------+

| Miscellaneous |

+------------------------------------------------------+

############################################################

#Setting this configuration to true will disable the following health regeneration:
#- When a player regains health from eating consumables
#- When a player is healed by a potion or spell
#- When a player is healed over time by a potion or spell
DisableArtificialRegeneration: false

#Should a lightning strike be spawned at the players position on death?
LightningOnDeath: false

#Should any commands be executed on death?
#Placeholders: %player%
CommandsOnDeath: []
#- "minecraft:advancement revoke %player% everything"

#Should the death screen be shown on death?
DeathScreen: false

############################################################

+------------------------------------------------------+

| GUIs |

+------------------------------------------------------+

############################################################

#======================--- GENERAL ---======================

#What should the filler item for GUI's look like?
FillerDisplay:
Material: gray_stained_glass_pane
Name: ' '
Lore: []
Amount: 1

#What should the accent item for GUI's look like?
AccentDisplay:
Material: light_blue_stained_glass_pane
Name: ' '
Lore: []
Amount: 1

#What should the loading item for GUI's look like?
LoadingDisplay:
Material: orange_stained_glass_pane
Name: '&eLoading, please wait..'
Lore:

  • "&bThis item is currently being loaded."
    Amount: 1

#What should the not available item for GUI's look like?
NotAvailableDisplay:
Material: red_stained_glass_pane
Name: '&cThis item is currently not available.'
Lore: []
Amount: 1

#What should the next button for paged GUI's look like?
NextPageDisplay:
Material: arrow
#Placeholders: %current_page% - %total_pages% - %next_page%
Name: '&eNext Page &6&l>>'
Lore: []
Amount: 1

#What should the next button for paged GUI's look like?
PreviousPageDisplay:
Material: arrow
#Placeholders: %current_page% - %total_pages% - %previous_page%
Name: '&6&l<< &ePrevious Page'
Lore: []
Amount: 1

#What should the page information item for paged GUI's look like?
PageInformationDisplay:
Material: paper
#Placeholders: %current_page% - %total_pages%
Name: '&ePage &6%current_page% &eof &6%total_pages%'
Lore: []
Amount: 1

#What should the go back to previous GUI button look like?
PreviousGuiDisplay:
Material: barrier
Name: '&eGo back to the previous GUI'
Lore: []
Amount: 1

#===================--- CONFIRMATION ---====================

#What should the confirmation button look like?
ConfirmationDisplay:
Material: emerald_block
Name: '&aConfirm'
Lore:

  • "&bClick to confirm"
    Amount: 1

#What should the cancellation button look like?
CancellationDisplay:
Material: barrier
Name: '&cCancel'
Lore:

  • "&bClick to cancel"
    Amount: 1

#=======================--- INFO ---========================

#What should the lives and life parts item look like?
#Placeholders: %lives_number% - %lives% - %life_parts_number% - %life_parts%
LivesAndLifePartsDisplay:
Material: turtle_egg
Name: '&6&lLives &eand &6&lLife Parts &einfo'
Lore:

  • " &6♦ &aCurrent lives: &b%lives_number%"
  • " &6♦ &aCurrent life parts: &b%life_parts_number%"
    Amount: 1

#What should the max health item look like?
#Placeholders: %max_health% - %min_health% - %current_max_health% - %time_till_next_max_health_long% - %time_till_next_max_health_short% - %time_till_next_max_health_digital%
MaxHealthDisplay:
Material: gold_nugget
Name: '&6&lMax Health &einfo'
Lore:

  • " &6♦ &aNext half heart in: &b%time_till_next_max_health_short%"
  • " &6♦ &aCurrent max health: &b%current_max_health%"
  • " &6♦ &aMaximum max health: &b%max_health%"
  • " &6♦ &aMinimum max health: &b%min_health%"
    Amount: 1

#What should the revive button look like?
ReviveDisplay:
Material: totem_of_undying
Name: '&eIs there someone you''d like to &6&lrevive&e?'
Lore:

  • "&bClick to revive someone"
    Amount: 1

#What should the revive on cooldown button look like?
#Placeholders: %time_till_next_revive_long% - %time_till_next_revive_short% - %time_till_next_revive_digital%
ReviveOnCooldownDisplay:
Material: orange_stained_glass_pane
Name: '&eYour revive is still on cooldown'
Lore:

  • "&bYou can revive in %time_till_next_revive_short%"
    Amount: 1

#What should the life part item look like?
#Placeholders: %max_life_parts% - %life_parts_number% - %life_parts% - %time_till_next_life_part_long% - %time_till_next_life_part_short% - %time_till_next_life_part_digital%
LifePartDisplay:
Material: iron_nugget
Name: '&6&lLife Parts &einfo'
Lore:

  • " &6♦ &aNext life part in: &b%time_till_next_life_part_short%"
  • " &6♦ &aCurrent life parts: &b%life_parts_number%"
  • " &6♦ &aMaximum life parts: &b%max_life_parts%"
    Amount: 1

#What should the previous bans button look like?
#Placeholders: %total_death_bans%
PreviousBansDisplay:
Material: skeleton_skull
Name: '&6&lPrevious bans &e(&b%total_death_bans%&e)'
Lore:

  • "&bBrowse your previous bans"
    Amount: 1

#=======================--- BANS ---========================

#What should the player data icon look like?
#Placeholders:

%player% - %total_deaths% - %total_death_bans% - %last_ban_time_long% - %last_ban_time_short% - %last_ban_time_digital% -

%last_death_time_long% - %last_death_time_short% - %last_death_time_digital%

PlayerDisplay:
#Will be overridden to player skull
Material: player_head
Name: '&6&l%player%'
Lore:

  • " &6♦ &aYou've died &b%total_deaths% &atimes on this server"
  • " &6♦ &aYour last death was &b%last_death_time_long% &aago"
  • " &6♦ &aYour last death ban was &b%last_ban_time_long% &aago"
    #Will be overridden
    Amount: 1

#What should the server data icon look like?
#Placeholders: %total_death_bans% - %total_ongoing_death_bans%
ServerDisplay:
Material: nether_star
Name: '&6&lOngoing death bans'
Lore:

  • " &6♦ &aThe server currently has &b%total_ongoing_death_bans% &adeath bans ongoing."
  • " &6♦ &aThe server has &b%total_death_bans% &adeath bans in total."
    Amount: 1

#What should the ban items look like?
#Placeholders:

%ban_number% - Number of the ban.

%ban_killer% - Killer that caused the ban.

%ban_in_combat_with% - In combat with while the ban happened.

%ban_damage_cause% - The raw damage cause that caused the ban E.g: block explosion.

%ban_damage_cause_random_message% - A random display message configured in config.yml of the damage cause that caused this ban.

%ban_damage_cause_type% - The damage cause type that caused the ban (block, entity, environment).

%ban_location% - The location of the player while being banned E.g: x:150, y:50, z:150 (world_name).

%ban_death_message% - The vanilla ban message shown to players E.g: player was shot by <player/mob>.

%ban_death_message_stripped% - The vanilla ban message shown to players without the player name E.g: was shot by <player/mob>.

%ban_time_long% - Ban time in long format E.g: 1 day, 20 hours, 30 minutes, 40 seconds.

%ban_time_short% - Ban time in short format E.g: 1 d, 20 h, 30 m, 40 s.

%ban_time_digital% - Ban time in digital format E.g: 1:20:30:40.

%ban_time_left_long% - Ban time left in long format E.g: 1 day, 20 hours, 30 minutes, 40 seconds.

%ban_time_left_short% - Ban time left in short format E.g: 1d, 20h, 30m, 40s.

%ban_time_left_digital% - Ban time left in digital format E.g: 1:20:30:40.

%ban_start_date_long% - Start date of ban of servers timezone in long format E.g: Saturday Jun 15, 2015 at 9:03:01 CEST.

%ban_start_date_medium% - Start date of ban of servers timezone in medium format E.g: Jun 15, 2015, 9:03 CEST.

%ban_start_date_short% - Start date of ban of servers timezone in short format E.g: 6/15/15, 9:03 CEST.

%ban_expiration_date_long% - Expiration date of ban of servers timezone in long format E.g: Saturday Jun 15, 2015 at 9:03:01 CEST.

%ban_expiration_date_medium% - Expiration date of ban of servers timezone in medium format E.g: Jun 15, 2015, 9:03 CEST.

%ban_expiration_date_short% - Expiration date of ban of servers timezone in short format E.g: 6/15/15, 9:03 CEST.

%ban_time_since_previous_death_ban_long% - Time since previous ban in long format E.g: 1 day, 20 hours, 30 minutes, 40 seconds.

%ban_time_since_previous_death_ban_short% - Time since previous ban in short format E.g: 1 d, 20 h, 30 m, 40 s.

%ban_time_since_previous_death_ban_digital% - Time since previous ban in digital format E.g: 1:20:30:40.

%ban_time_since_previous_death_long% - Time since previous death in long format E.g: 1 day, 20 hours, 30 minutes, 40 seconds.

%ban_time_since_previous_death_short% - Time since previous death in short format E.g: 1 d, 20 h, 30 m, 40 s.

%ban_time_since_previous_death_digital% - Time since previous death in digital format E.g: 1:20:30:40.

BanDisplay:
Material: conduit
Name: '&eBan &6#&l%ban_number% &e(&6%ban_start_date_short%&e)'
Lore:

  • " &6♦ &aBan Time: &b%ban_time_short%"
  • " &6♦ &aExpiration Date: &b%ban_expiration_date_short%"
  • " &6♦ &aDamage Cause: &b%ban_damage_cause%"
  • " &6♦ &aDamage Cause Type: &b%ban_damage_cause_type%"
  • " &6♦ &aKiller: &b%ban_killer%"
  • " &6♦ &aIn Combat With: &b%ban_in_combat_with%"
  • " &6♦ &aLocation: &b%ban_location%"
  • " &6♦ &aDeath Message: &b%ban_death_message%"
  • " &6♦ &aPrevious death ban: &b%ban_time_since_previous_death_ban_short%"
  • " &6♦ &aPrevious death: &b%ban_time_since_previous_death_short%"
    Amount: 1

#======================--- REVIVE ---=======================

#What should the player info icon look like in the revive GUI?
#Placeholders: %player% - %lives_number%
RevivingDisplay:
#Will be overridden to the player head
Material: player_head
Name: '&6&l%player%'
Lore:

  • " &6♦ &aLives left: &b%lives_number%"
    Amount: 1

[Suggestion] Group Rewards and Advancement-based Rewards

  • A config option to allow every player who did damage to a mob to earn the reward when it dies, not just the player who landed the final blow.

  • The ability to grant Lives or Life Parts based on the player earning an advancement from a specific list (configurable).

  • The ability to immediately wipe the banlist upon the completion of certain events (such as the Dragon being defeated).

Error drive MYSQL

Helpme please.

[17:20:13 ERROR] [Minecraft]: Error occurred while enabling AugmentedHardcore v3.3.7 (Is it up to date?)
java.lang.RuntimeException: Failed to get driver instance for jdbcUrl=jdbc:mysql://dolly.hiden-ns.com:3306/s38_AugmentedHardcore
at com.zaxxer.hikari.util.DriverDataSource.(DriverDataSource.java:114) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.initializeDataSource(PoolBase.java:326) ~[?:?]
at com.zaxxer.hikari.pool.PoolBase.(PoolBase.java:112) ~[?:?]
at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:93) ~[?:?]
at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:112) ~[?:?]
at com.backtobedrock.augmentedhardcore.AugmentedHardcore.initDB(AugmentedHardcore.java:195) ~[?:?]
at com.backtobedrock.augmentedhardcore.AugmentedHardcore.initialize(AugmentedHardcore.java:162) ~[?:?]
at com.backtobedrock.augmentedhardcore.AugmentedHardcore.onEnable(AugmentedHardcore.java:60) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPluginMixin.java:264) ~[arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e.jar%2369!/:arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoaderMixin.java:342) ~[arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e.jar%2369!/:arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:480) ~[arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e.jar%2369!/:arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e]
at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugin(CraftServerMixin.java:518) ~[arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e.jar%2369!/:arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e]
at org.bukkit.craftbukkit.v1_18_R2.CraftServer.enablePlugins(CraftServerMixin.java:432) ~[arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e.jar%2369!/:arclight-1.18.2-1.0.8-SNAPSHOT-3014a12e]
at net.minecraft.server.MinecraftServer.handler$zha000$arclight$enablePlugins(MinecraftServerMixin.java:2217) ~[server-1.18.2-20220404.173914-srg.jar%23118!/:?]
at net.minecraft.server.MinecraftServer.m_129815_(MinecraftServerMixin.java:403) ~[server-1.18.2-20220404.173914-srg.jar%23118!/:?]
at net.minecraft.server.MinecraftServer.m_130006_(MinecraftServerMixin.java:316) ~[server-1.18.2-20220404.173914-srg.jar%23118!/:?]
at net.minecraft.server.dedicated.DedicatedServer.m_7038_(DedicatedServerMixin.java:173) ~[server-1.18.2-20220404.173914-srg.jar%23118!/:?]
at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServerMixin.java:2099) ~[server-1.18.2-20220404.173914-srg.jar%23118!/:?]
at net.minecraft.server.MinecraftServer.m_177918_(MinecraftServerMixin.java:261) ~[server-1.18.2-20220404.173914-srg.jar%23118!/:?]
at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getDriver(DriverManager.java:299) ~[java.sql:?]
at com.zaxxer.hikari.util.DriverDataSource.(DriverDataSource.java:106) ~[?:?]
... 19 more

Commands not Working

Hey there,
I love the idea of your plugin, however none of the commands appear to be working. I'm on craftbukkit 1.14.4 and get the message "An internal error occurred while attempting to perform this command" whenever I try to do anything such as /revive , /setlives , etc.

The ban system is working perfectly and I would love to use this plugin with my friends.

Suggestion

make it so that when you attack someone if they die of anything afterwards you get the lifeparts/gaining lifeparts when you have combat tagged someone and they die

Suggestion

Suggestion: When the plugin automatically crafts lives with your life shards, tell the player in chat.
Example:

{player}, you have received one life for {lifeparts} life parts!

[Suggestion] Option to only allow people to use lives for reviving others, not for themselves.

I wish to only give players one life.

But I wish to allow players to revive OTHER players by gaining a life from killing the Ender Dragon.

Currently I really have to wrangle with the plugin to get close to the functionality that I want. It is impossible for me to stop players using the extra life for themselves and not someone else.

I really only need the revive section of the config. But to use the revive mechanic, I need the lives mechanic. And to get the lives from the Ender Dragon I need the life parts mechanic. They're not separable at this time it seems.

P.S I would also like an announcement when you gain a life.

combat log

does not send combat log message but if you leave you will be banned

and I disabled the plugin in certain world but it still works

[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]: java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "com.backtobedrock.augmentedhardcore.runnables.CombatTag.AbstractCombatTag.restart(com.backtobedrock.augmentedhardcore.domain.Killer)" because "e" is null
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:722)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]: Caused by: java.lang.NullPointerException: Cannot invoke "com.backtobedrock.augmentedhardcore.runnables.CombatTag.AbstractCombatTag.restart(com.backtobedrock.augmentedhardcore.domain.Killer)" because "e" is null
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at com.backtobedrock.augmentedhardcore.domain.data.PlayerData.lambda$onCombatTag$16(PlayerData.java:464)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at com.backtobedrock.augmentedhardcore.domain.data.PlayerData.onCombatTag(PlayerData.java:464)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at com.backtobedrock.augmentedhardcore.eventListeners.ListenerPlayerDamageByEntity.lambda$onPlayerDamage$0(ListenerPlayerDamageByEntity.java:35)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
[14:14:13] [ForkJoinPool.commonPool-worker-6/WARN]:     ... 6 more
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]: java.util.concurrent.CompletionException: java.lang.NullPointerException: Cannot invoke "com.backtobedrock.augmentedhardcore.runnables.CombatTag.AbstractCombatTag.restart(com.backtobedrock.augmentedhardcore.domain.Killer)" because "e" is null
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:315)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:320)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:722)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]: Caused by: java.lang.NullPointerException: Cannot invoke "com.backtobedrock.augmentedhardcore.runnables.CombatTag.AbstractCombatTag.restart(com.backtobedrock.augmentedhardcore.domain.Killer)" because "e" is null
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at com.backtobedrock.augmentedhardcore.domain.data.PlayerData.lambda$onCombatTag$16(PlayerData.java:464)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at com.backtobedrock.augmentedhardcore.domain.data.PlayerData.onCombatTag(PlayerData.java:464)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at com.backtobedrock.augmentedhardcore.eventListeners.ListenerPlayerDamageByEntity.lambda$onPlayerDamage$0(ListenerPlayerDamageByEntity.java:35)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
[14:14:14] [ForkJoinPool.commonPool-worker-6/WARN]:     ... 6 more

Posibilidad de confirmar la resurrección desde comando.

Hola, muy buenas noches, yo tengo un servidor de java compatible con bedrock y el inventario que se abre al usar el comando "/revive" no se visualiza bien en smartphones, por lo que mi pregunta es si podría añadir un argumento que confirme directamente al comando de revivir a un usuario.
Ejemplo:
/revive NathanCollaert confirm

Espero una respuesta, muchísimas gracias.

[Question]

Are you able to add something like a Life Item? Or like a Revive Item?

Death counter randomly reset for people

So we've had at least 2 users report this - they'll die once or twice so be down to 1 life died twice but when they log back in, they'll be reset to our max of 3 lives. it resolved itself with one player after a server restart but then it happened with someone else. Testing killing them proves its an actual issue with the counter being reset and not just a visual bug on our tab menu.

Version - 3.4.0
Java 1.20.1 Pufferfish

Placeholder

I see some variables and dont see anything placeholder of lives to place in scoreboard.

Zip file closed

WHat does this error mean?
It happens on startup:

[11:52:52 ERROR]: Error occurred while enabling AugmentedHardcore v3.3.2 (Is it up to date?)

java.lang.IllegalStateException: zip file closed

	at java.util.zip.ZipFile.ensureOpen(Unknown Source) ~[?:?]

	at java.util.zip.ZipFile.getEntry(Unknown Source) ~[?:?]

	at java.util.jar.JarFile.getEntry(Unknown Source) ~[?:?]

	at java.util.jar.JarFile.getJarEntry(Unknown Source) ~[?:?]

	at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:158) ~[patched_1.17.1.jar:git-Paper-314]

	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]

	at org.bukkit.plugin.java.PluginClassLoader.loadClass0(PluginClassLoader.java:108) ~[patched_1.17.1.jar:git-Paper-314]

	at org.bukkit.plugin.java.PluginClassLoader.loadClass(PluginClassLoader.java:103) ~[patched_1.17.1.jar:git-Paper-314]

	at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]

	at com.backtobedrock.augmentedhardcore.configs.Configurations.getDeathBanConfiguration(Configurations.java:60) ~[AugmentedHardcore-3.3.2.jar:?]

	at com.backtobedrock.augmentedhardcore.configs.Configurations.<init>(Configurations.java:30) ~[AugmentedHardcore-3.3.2.jar:?]

	at com.backtobedrock.augmentedhardcore.AugmentedHardcore.initialize(AugmentedHardcore.java:136) ~[AugmentedHardcore-3.3.2.jar:?]

	at com.backtobedrock.augmentedhardcore.AugmentedHardcore.onEnable(AugmentedHardcore.java:63) ~[AugmentedHardcore-3.3.2.jar:?]

	at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[patched_1.17.1.jar:git-Paper-314]

	at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:370) ~[patched_1.17.1.jar:git-Paper-314]

	at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:502) ~[patched_1.17.1.jar:git-Paper-314]

	at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugin(CraftServer.java:544) ~[patched_1.17.1.jar:git-Paper-314]

	at org.bukkit.craftbukkit.v1_17_R1.CraftServer.enablePlugins(CraftServer.java:458) ~[patched_1.17.1.jar:git-Paper-314]

	at net.minecraft.server.MinecraftServer.loadWorld(MinecraftServer.java:725) ~[patched_1.17.1.jar:git-Paper-314]

	at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:307) ~[patched_1.17.1.jar:git-Paper-314]

	at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1212) ~[patched_1.17.1.jar:git-Paper-314]

	at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319) ~[patched_1.17.1.jar:git-Paper-314]

	at java.lang.Thread.run(Unknown Source) ~[?:?]

/mystats permission issues

Version: 3.3.7
Server: Paper 1.19.2
Permission plugin: Luckperms

We're having a issue were players need the persmissions augmentedhardcore.mystats and augmentedhardcore.mystats.others to use /mystats for themselves.

if i have it like in the picture below, the server will tell you that you don't have permission to use that command.

permission issue
bilde

Same happens if you don't include augmentedhardcore.mystats.others aswell.

This leads to other players being able to see where someone died and all other statistics about them.

Player gets an error on join after ban

Here is the error:
[WARNING] Failed to handle packet for /134.41.196.113:55362

java.lang.NullPointerException: null

at net.minecraft.server.v1_15_R1.PlayerList.attemptLogin(PlayerList.java:483) ~[spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.LoginListener.c(LoginListener.java:134) ~[spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.LoginListener.tick(LoginListener.java:53) ~[spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.NetworkManager.a(NetworkManager.java:220) ~[spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.ServerConnection.c(ServerConnection.java:129) [spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.MinecraftServer.b(MinecraftServer.java:1105) [spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.DedicatedServer.b(DedicatedServer.java:406) [spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.MinecraftServer.a(MinecraftServer.java:984) [spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at net.minecraft.server.v1_15_R1.MinecraftServer.run(MinecraftServer.java:824) [spigot-1.15.2.jar:git-Spigot-2040c4c-893ad93]

at java.lang.Thread.run(Thread.java:813) [?:1.8.0_212]

[INFO] com.mojang.authlib.GameProfile@81ef4fea[id=dcb2e6eb-2249-43a5-85d2-fc9d2b37b3a6,name=action35,properties={textures=[com.mojang.authlib.properties.Property@9c6dbf5]},legacy=false] (/134.41.196.113:55362) lost connection: Internal server error

It's not game breaking and the player just has to rejoin again, but it is really annoying and I hope that you can get around to fixing it.

[Feature Request] Option to run commands when a death ban expires

The plugin currently has an option for CommandsOnDeathBan, it would be nice to have the equivalent for when a player's death ban expires.

For example, my current config has this:

CommandsOnDeathBan:
  - 'discord broadcast %player% just got banned because they died! Fs in chat...'

It would be awesome to have an equivalent option:

CommandsOnDeathUnban:
  - 'discord broadcast %player%'s death ban has expired! Let''s hope to see them again soon...'

[Feature Request] Spectator Mode after DeathBan

Hey! I'm currently in the process of setting up a server for a friend of mine and we're planning to use your plugin.

To - of course - moderate the server properly without the players whining about staff not being banned after dying, would it be possible for you to add the function to get forced into spectator mode for the time being of you normally being banned? That way, staff could still moderate the server yet be banned.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.