Merge pull request #158 from BentoBoxWorld/157_permission_acid_damage_reduction

Add permissions to reduce acid damage
This commit is contained in:
tastybento 2024-07-21 20:24:14 -07:00 committed by GitHub
commit 3d90d985ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -178,7 +178,14 @@ public class AcidEffect implements Listener {
// Check they are still in this world
} else if (wetPlayers.containsKey(player) && wetPlayers.get(player) < System.currentTimeMillis()) {
double protection = addon.getSettings().getAcidRainDamage() * getDamageReduced(player);
double totalDamage = Math.max(0, addon.getSettings().getAcidRainDamage() - protection);
User user = User.getInstance(player);
// Get the percentage reduction and ensure the value is between 0 and 100
double percent = (100
- Math.max(0, Math.min(100, user.getPermissionValue("acidisland.protection.rain", 0)))) / 100D;
double totalDamage = Math.max(0, addon.getSettings().getAcidRainDamage() - protection) * percent;
AcidRainEvent event = new AcidRainEvent(player, totalDamage, protection,
addon.getSettings().getAcidRainEffects());
Bukkit.getPluginManager().callEvent(event);
@ -206,7 +213,14 @@ public class AcidEffect implements Listener {
return true;
} else if (burningPlayers.containsKey(player) && burningPlayers.get(player) < System.currentTimeMillis()) {
double protection = addon.getSettings().getAcidDamage() * getDamageReduced(player);
double totalDamage = Math.max(0, addon.getSettings().getAcidDamage() - protection);
User user = User.getInstance(player);
// Get the percentage reduction and ensure the value is between 0 and 100
double percent = (100
- Math.max(0, Math.min(100, user.getPermissionValue("acidisland.protection.acid", 0)))) / 100D;
double totalDamage = Math.max(0, addon.getSettings().getAcidDamage() - protection) * percent;
AcidEvent event = new AcidEvent(player, totalDamage, protection, addon.getSettings().getAcidEffects());
addon.getServer().getPluginManager().callEvent(event);
if (!event.isCancelled()) {