mirror of
https://github.com/Auxilor/EcoEnchants.git
synced 2025-01-24 00:41:23 +01:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
28bc9846f5
@ -189,15 +189,16 @@ public class EnchantDisplay extends DisplayModule {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FastItemStack fast = FastItemStack.wrap(itemStack);
|
||||||
|
|
||||||
|
List<String> lore = fast.getLore();
|
||||||
|
lore.removeIf(s -> s.startsWith("§w"));
|
||||||
|
fast.setLore(lore);
|
||||||
|
|
||||||
ItemMeta meta = itemStack.getItemMeta();
|
ItemMeta meta = itemStack.getItemMeta();
|
||||||
|
|
||||||
assert meta != null;
|
assert meta != null;
|
||||||
|
|
||||||
List<String> lore = meta.getLore() == null ? new ArrayList<>() : new ArrayList<>(meta.getLore());
|
|
||||||
|
|
||||||
lore.removeIf(s -> s.startsWith("§w"));
|
|
||||||
meta.setLore(lore);
|
|
||||||
|
|
||||||
meta.getPersistentDataContainer().remove(legacyV);
|
meta.getPersistentDataContainer().remove(legacyV);
|
||||||
|
|
||||||
if (!meta.getPersistentDataContainer().has(keySkip, PersistentDataType.INTEGER)) {
|
if (!meta.getPersistentDataContainer().has(keySkip, PersistentDataType.INTEGER)) {
|
||||||
|
@ -55,6 +55,10 @@ public class Necrotic extends EcoEnchant {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!event.getEntity().getMetadata("eco-target").isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
ItemStack item = new ItemStack(Material.WITHER_SKELETON_SKULL, 1);
|
ItemStack item = new ItemStack(Material.WITHER_SKELETON_SKULL, 1);
|
||||||
|
|
||||||
new DropQueue(player)
|
new DropQueue(player)
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
package com.willfp.ecoenchants.enchantments.ecoenchants.normal;
|
package com.willfp.ecoenchants.enchantments.ecoenchants.normal;
|
||||||
|
|
||||||
|
import com.willfp.eco.core.integrations.anticheat.AnticheatManager;
|
||||||
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
||||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||||
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.entity.EntityShootBowEvent;
|
import org.bukkit.event.entity.EntityShootBowEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@ -20,6 +22,9 @@ public class Rapid extends EcoEnchant {
|
|||||||
@NotNull final Arrow arrow,
|
@NotNull final Arrow arrow,
|
||||||
final int level,
|
final int level,
|
||||||
@NotNull final EntityShootBowEvent event) {
|
@NotNull final EntityShootBowEvent event) {
|
||||||
|
if (shooter instanceof Player player) {
|
||||||
|
AnticheatManager.exemptPlayer(player);
|
||||||
|
}
|
||||||
double multiplier = 1 - ((this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-faster-per-level") / 100) * level);
|
double multiplier = 1 - ((this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "percent-faster-per-level") / 100) * level);
|
||||||
|
|
||||||
if (event.getForce() < multiplier) {
|
if (event.getForce() < multiplier) {
|
||||||
@ -28,5 +33,9 @@ public class Rapid extends EcoEnchant {
|
|||||||
|
|
||||||
double force = 1 / event.getForce();
|
double force = 1 / event.getForce();
|
||||||
event.getProjectile().setVelocity(event.getProjectile().getVelocity().multiply(force));
|
event.getProjectile().setVelocity(event.getProjectile().getVelocity().multiply(force));
|
||||||
|
|
||||||
|
if (shooter instanceof Player player) {
|
||||||
|
AnticheatManager.unexemptPlayer(player);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,7 @@ import com.willfp.ecoenchants.enchantments.EcoEnchant;
|
|||||||
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
||||||
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.entity.Trident;
|
import org.bukkit.entity.Trident;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -21,6 +22,7 @@ public class Bladed extends EcoEnchant {
|
|||||||
@NotNull final Trident trident,
|
@NotNull final Trident trident,
|
||||||
final int level,
|
final int level,
|
||||||
@NotNull final EntityDamageByEntityEvent event) {
|
@NotNull final EntityDamageByEntityEvent event) {
|
||||||
|
if (victim instanceof Player && this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "disable-on-players")) return;
|
||||||
double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "base-multiplier");
|
double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "base-multiplier");
|
||||||
double damage = event.getDamage();
|
double damage = event.getDamage();
|
||||||
double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
||||||
|
@ -5,6 +5,7 @@ import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
|||||||
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
||||||
import org.bukkit.entity.Arrow;
|
import org.bukkit.entity.Arrow;
|
||||||
import org.bukkit.entity.LivingEntity;
|
import org.bukkit.entity.LivingEntity;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
@ -21,6 +22,7 @@ public class Force extends EcoEnchant {
|
|||||||
@NotNull final Arrow arrow,
|
@NotNull final Arrow arrow,
|
||||||
final int level,
|
final int level,
|
||||||
@NotNull final EntityDamageByEntityEvent event) {
|
@NotNull final EntityDamageByEntityEvent event) {
|
||||||
|
if (victim instanceof Player && this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "disable-on-players")) return;
|
||||||
double damage = event.getDamage();
|
double damage = event.getDamage();
|
||||||
double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
double multiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
||||||
double bonus = (multiplier * (level + 6)) + 1;
|
double bonus = (multiplier * (level + 6)) + 1;
|
||||||
|
@ -20,6 +20,7 @@ public class Razor extends EcoEnchant {
|
|||||||
@NotNull final LivingEntity victim,
|
@NotNull final LivingEntity victim,
|
||||||
final int level,
|
final int level,
|
||||||
@NotNull final EntityDamageByEntityEvent event) {
|
@NotNull final EntityDamageByEntityEvent event) {
|
||||||
|
if (victim instanceof Player && this.getConfig().getBool(EcoEnchants.CONFIG_LOCATION + "disable-on-players")) return;
|
||||||
double perLevelMultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
double perLevelMultiplier = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "multiplier");
|
||||||
double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "base-damage");
|
double baseDamage = this.getConfig().getDouble(EcoEnchants.CONFIG_LOCATION + "base-damage");
|
||||||
double extra = (level * perLevelMultiplier) + baseDamage;
|
double extra = (level * perLevelMultiplier) + baseDamage;
|
||||||
|
@ -5,7 +5,7 @@ import com.willfp.ecoenchants.enchantments.EcoEnchants;
|
|||||||
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
import com.willfp.ecoenchants.enchantments.meta.EnchantmentType;
|
||||||
import com.willfp.ecoenchants.enchantments.util.EnchantChecks;
|
import com.willfp.ecoenchants.enchantments.util.EnchantChecks;
|
||||||
import com.willfp.ecoenchants.enchantments.util.EnchantmentUtils;
|
import com.willfp.ecoenchants.enchantments.util.EnchantmentUtils;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.NamespacedKey;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
@ -97,9 +97,10 @@ public class Soulbound extends EcoEnchant {
|
|||||||
player.setMetadata("soulbound-items", this.getPlugin().getMetadataValueFactory().create(soulboundItems));
|
player.setMetadata("soulbound-items", this.getPlugin().getMetadataValueFactory().create(soulboundItems));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean hasEmptyInventory(@NotNull final Player player) {
|
public boolean hasSoulboundItems(@NotNull final Player player) {
|
||||||
|
final NamespacedKey soulbound = this.getPlugin().getNamespacedKeyFactory().create("soulbound");
|
||||||
for (ItemStack itemStack : player.getInventory().getContents()) {
|
for (ItemStack itemStack : player.getInventory().getContents()) {
|
||||||
if (itemStack != null && itemStack.getType() != Material.AIR) {
|
if (itemStack != null && itemStack.getItemMeta().getPersistentDataContainer().has(soulbound, PersistentDataType.INTEGER)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -110,8 +111,8 @@ public class Soulbound extends EcoEnchant {
|
|||||||
public void onSoulboundRespawn(@NotNull final PlayerRespawnEvent event) {
|
public void onSoulboundRespawn(@NotNull final PlayerRespawnEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
|
|
||||||
this.getPlugin().getScheduler().runLater(() -> {
|
this.getPlugin().getScheduler().run(() -> {
|
||||||
if (!hasEmptyInventory(player)) {
|
if (!hasSoulboundItems(player)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,11 +138,12 @@ public class Soulbound extends EcoEnchant {
|
|||||||
}
|
}
|
||||||
|
|
||||||
player.removeMetadata("soulbound-items", this.getPlugin());
|
player.removeMetadata("soulbound-items", this.getPlugin());
|
||||||
}, 1);
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler(priority = EventPriority.HIGHEST)
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onDeath(@NotNull final PlayerDeathEvent event) {
|
public void onDeath(@NotNull final PlayerDeathEvent event) {
|
||||||
event.getDrops().removeIf(itemStack -> itemStack.getItemMeta().getPersistentDataContainer().has(this.getPlugin().getNamespacedKeyFactory().create("soulbound"), PersistentDataType.INTEGER));
|
final NamespacedKey soulbound = this.getPlugin().getNamespacedKeyFactory().create("soulbound");
|
||||||
|
event.getDrops().removeIf(itemStack -> itemStack.getItemMeta().getPersistentDataContainer().has(soulbound, PersistentDataType.INTEGER));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ general-config:
|
|||||||
maximum-level: 5
|
maximum-level: 5
|
||||||
|
|
||||||
config:
|
config:
|
||||||
|
disable-on-players: false # Should this enchantment only boost damage on mobs
|
||||||
base-multiplier: 1.5 # Percent more damage to do as base
|
base-multiplier: 1.5 # Percent more damage to do as base
|
||||||
multiplier: 0.5 # 1 + (Level * Multiplier) is multiplied with the damage
|
multiplier: 0.5 # 1 + (Level * Multiplier) is multiplied with the damage
|
||||||
# To explain, Bladed V would be 4x more damage: 1.5 + (5*0.5)
|
# To explain, Bladed V would be 4x more damage: 1.5 + (5*0.5)
|
||||||
|
@ -30,4 +30,5 @@ general-config:
|
|||||||
maximum-level: 8
|
maximum-level: 8
|
||||||
|
|
||||||
config:
|
config:
|
||||||
|
disable-on-players: false # Should this enchantment only boost damage on mobs
|
||||||
multiplier: 0.25 # Formula is (multiplier * (level + 6) + 1)*damage | Default functions as power 5 + level, eg force 2 = power 7
|
multiplier: 0.25 # Formula is (multiplier * (level + 6) + 1)*damage | Default functions as power 5 + level, eg force 2 = power 7
|
@ -32,6 +32,7 @@ general-config:
|
|||||||
maximum-level: 8
|
maximum-level: 8
|
||||||
|
|
||||||
config:
|
config:
|
||||||
|
disable-on-players: false # Should this enchantment only boost damage on mobs
|
||||||
multiplier: 0.3 # Vanilla sharpness is 0.5*level + 0.5 extra damage. Razor formula is multiplier*level + base extra damage.
|
multiplier: 0.3 # Vanilla sharpness is 0.5*level + 0.5 extra damage. Razor formula is multiplier*level + base extra damage.
|
||||||
base-damage: 10 # Vanilla Smite 5/BOA 5 extra damage is 12.5
|
base-damage: 10 # Vanilla Smite 5/BOA 5 extra damage is 12.5
|
||||||
decrease-if-cooldown: true
|
decrease-if-cooldown: true
|
@ -1,2 +1,2 @@
|
|||||||
version = 8.10.9
|
version = 8.10.11
|
||||||
plugin-name = EcoEnchants
|
plugin-name = EcoEnchants
|
Loading…
Reference in New Issue
Block a user