From a27e3a13d6159c82786ea20303ec4b8ab57222ae Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Sun, 25 Sep 2022 10:42:02 -0700 Subject: [PATCH 1/8] Should fix #209 --- src/main/java/com/volmit/adapt/api/skill/Skill.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/volmit/adapt/api/skill/Skill.java b/src/main/java/com/volmit/adapt/api/skill/Skill.java index 4ec81111..7fbddc90 100644 --- a/src/main/java/com/volmit/adapt/api/skill/Skill.java +++ b/src/main/java/com/volmit/adapt/api/skill/Skill.java @@ -72,7 +72,10 @@ default void checkStatTrackers(AdaptPlayer player) { if (player.getPlayer().getClass().getSimpleName().equals("PlayerNPC")) { return; } - if (!player.getAdvancementHandler().isReady() && AdaptConfig.get().isAdvancements()) { + if (!player.getAdvancementHandler().isReady() ) { + return; + } + if (!AdaptConfig.get().isAdvancements()) { return; } PlayerData d = player.getData(); From 8692d049cabc1873128994760da1a3123ffbaf44 Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Thu, 22 Sep 2022 13:03:18 -0700 Subject: [PATCH 2/8] Revert "Fixing Bad Conventions" This reverts commit dc28882cb112bcc208b6d7708c21b20d92220ead. --- .../volmit/adapt/api/skill/SimpleSkill.java | 27 -------- .../adapt/content/skill/SkillAgility.java | 19 +++++- .../adapt/content/skill/SkillArchitect.java | 24 +++++-- .../volmit/adapt/content/skill/SkillAxes.java | 25 ++++++-- .../adapt/content/skill/SkillBlocking.java | 18 +++++- .../adapt/content/skill/SkillBrewing.java | 40 +++++++++--- .../adapt/content/skill/SkillChronos.java | 4 +- .../adapt/content/skill/SkillCrafting.java | 17 ++--- .../adapt/content/skill/SkillDiscovery.java | 55 +++++++++++++--- .../adapt/content/skill/SkillEnchanting.java | 10 ++- .../adapt/content/skill/SkillExcavation.java | 16 ++++- .../adapt/content/skill/SkillHerbalism.java | 64 +++++++++++++++---- .../adapt/content/skill/SkillHunter.java | 32 +++++++--- .../adapt/content/skill/SkillNether.java | 8 ++- .../adapt/content/skill/SkillPickaxes.java | 18 +++++- .../adapt/content/skill/SkillRanged.java | 21 ++++-- .../volmit/adapt/content/skill/SkillRift.java | 37 +++++++---- .../adapt/content/skill/SkillSeaborne.java | 27 ++++++-- .../adapt/content/skill/SkillStealth.java | 2 +- .../adapt/content/skill/SkillSwords.java | 12 +++- .../adapt/content/skill/SkillTaming.java | 25 ++++++-- .../adapt/content/skill/SkillTragOul.java | 32 ++++++++-- .../adapt/content/skill/SkillUnarmed.java | 15 ++++- 23 files changed, 406 insertions(+), 142 deletions(-) diff --git a/src/main/java/com/volmit/adapt/api/skill/SimpleSkill.java b/src/main/java/com/volmit/adapt/api/skill/SimpleSkill.java index 13f9fbe6..1fd12388 100644 --- a/src/main/java/com/volmit/adapt/api/skill/SimpleSkill.java +++ b/src/main/java/com/volmit/adapt/api/skill/SimpleSkill.java @@ -21,7 +21,6 @@ import art.arcane.amulet.io.FileWatcher; import com.google.gson.Gson; import com.volmit.adapt.Adapt; -import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.adaptation.Adaptation; import com.volmit.adapt.api.advancement.AdaptAdvancement; import com.volmit.adapt.api.recipe.AdaptRecipe; @@ -34,9 +33,7 @@ import com.volmit.adapt.util.advancements.advancement.AdvancementVisibility; import lombok.Data; import lombok.EqualsAndHashCode; -import org.bukkit.GameMode; import org.bukkit.Material; -import org.bukkit.entity.Player; import java.io.File; import java.io.IOException; @@ -147,30 +144,6 @@ public void registerRecipe(AdaptRecipe r) { recipes.add(r); } - public boolean canUseSkill(Player p) { - if (!this.isEnabled()) { - return false; - } - if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { - return false; - } - if (!AdaptConfig.get().isXpInCreative() - && (p.getGameMode().equals(GameMode.CREATIVE) - || p.getGameMode().equals(GameMode.SPECTATOR) - || p.isDead() - || p.isInvulnerable() - || p.isDead() - || p.isInvulnerable())) { - return false; - } - return true; - } - - public boolean canUseSkill() { - return this.isEnabled(); - } - - public void registerAdvancement(AdaptAdvancement a) { cachedAdvancements.add(a); } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java b/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java index 64c35fe3..d9107bdd 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java @@ -81,13 +81,19 @@ public SkillAgility() { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerMoveEvent e) { - if (canUseSkill(e.getPlayer())) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (e.getFrom().getWorld() != null && e.getTo() != null && e.getFrom().getWorld().equals(e.getTo().getWorld())) { double d = e.getFrom().distance(e.getTo()); getPlayer(p).getData().addStat("move", d); @@ -105,12 +111,19 @@ public void on(PlayerMoveEvent e) { @Override public void onTick() { + for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i.getPlayer())) { + checkStatTrackers(getPlayer(i)); + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } - checkStatTrackers(getPlayer(i)); if (i.isSprinting() && !i.isFlying() && !i.isSwimming() && !i.isSneaking()) { + if (!AdaptConfig.get().isXpInCreative() && (i.getGameMode().equals(GameMode.CREATIVE) || i.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } + if (!this.isEnabled()) { + return; + } xpSilent(i, getConfig().sprintXpPassive); } } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java b/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java index 796274fe..586e141c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java @@ -57,13 +57,19 @@ public SkillArchitect() { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockPlaceEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(e.getPlayer())) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } double v = getValue(e.getBlock()) * getConfig().xpValueMultiplier; J.a(() -> xp(p, e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), blockXP(e.getBlock(), getConfig().xpBase + v))); getPlayer(p).getData().addStat("blocks.placed", 1); @@ -73,23 +79,29 @@ public void on(BlockPlaceEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(e.getPlayer())) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } getPlayer(p).getData().addStat("blocks.broken", 1); } @Override public void onTick() { for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { + checkStatTrackers(getPlayer(i)); + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } - checkStatTrackers(getPlayer(i)); } } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java b/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java index 85d740b0..6978c0b9 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java @@ -53,16 +53,22 @@ public SkillAxes() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (!e.isCancelled()) { if (e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (e.isCancelled()) { return; } - if (e.isCancelled()) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { return; } - - if (e.getEntity().isDead() || e.getEntity().isInvulnerable()) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR)) + || e.getEntity().isDead() + || e.getEntity().isInvulnerable() + || p.isDead() + || p.isInvulnerable()) { return; } AdaptPlayer a = getPlayer((Player) e.getDamager()); @@ -79,13 +85,20 @@ public void on(EntityDamageByEntityEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (isAxe(p.getInventory().getItemInMainHand())) { double v = getValue(e.getBlock().getType()); getPlayer(p).getData().addStat("axes.blocks.broken", 1); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java b/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java index 94725248..800ad19a 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java @@ -50,11 +50,17 @@ public SkillBlocking() { @EventHandler public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } if (e.getEntity() instanceof Player p) { - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (cooldowns.containsKey(p)) { @@ -77,11 +83,17 @@ public void on(EntityDamageByEntityEvent e) { @Override public void onTick() { for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { + checkStatTrackers(getPlayer(i)); + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } - checkStatTrackers(getPlayer(i)); if (i.getPlayer() != null && (i.getPlayer().getInventory().getItemInOffHand().getType().equals(Material.SHIELD) || i.getPlayer().getInventory().getItemInMainHand().getType().equals(Material.SHIELD))) { + if (!AdaptConfig.get().isXpInCreative() && (i.getGameMode().equals(GameMode.CREATIVE) || i.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } + if (!this.isEnabled()) { + return; + } xpSilent(i, getConfig().passiveXpForUsingShield); } } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java b/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java index 2387b893..f04d2b6d 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java @@ -55,13 +55,19 @@ public SkillBrewing() { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerItemConsumeEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } Adapt.verbose(e.getItem().toString()); if (e.getItem().getItemMeta() instanceof PotionMeta o && !e.getItem().toString().contains("potion-type=minecraft:water") @@ -77,11 +83,17 @@ public void on(PlayerItemConsumeEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PotionSplashEvent e) { + if (!this.isEnabled()) { + return; + } if (e.getPotion().getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (e.isCancelled()) { return; } - if (e.isCancelled()) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } AdaptPlayer a = getPlayer(p); @@ -92,13 +104,19 @@ public void on(PotionSplashEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockPlaceEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (e.getBlock().getType().equals(Material.BREWING_STAND)) { if (!e.isCancelled()) { WorldData.of(e.getBlock().getWorld()).getMantle().set(e.getBlock().getX(), e.getBlock().getY(), e.getBlock().getZ(), new BrewingStandOwner(p.getUniqueId())); @@ -108,13 +126,19 @@ public void on(BlockPlaceEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (!e.isCancelled()) { if (e.getBlock().getType().equals(Material.BREWING_STAND)) { WorldData.of(e.getBlock().getWorld()).getMantle().remove(e.getBlock().getX(), e.getBlock().getY(), e.getBlock().getZ(), BrewingStandOwner.class); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java b/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java index 3799740e..b680c4c4 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java @@ -42,10 +42,10 @@ public SkillChronos() { @Override public void onTick() { for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { + checkStatTrackers(getPlayer(i)); + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } - checkStatTrackers(getPlayer(i)); } } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java b/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java index b4c7b5a1..b2d91e36 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java @@ -64,13 +64,19 @@ public SkillCrafting() { @EventHandler(priority = EventPriority.HIGHEST) public void on(CraftItemEvent e) { - Player p = (Player) e.getWhoClicked(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = (Player) e.getWhoClicked(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (e.getInventory().getResult() != null && !e.isCancelled() && e.getInventory().getResult().getAmount() > 0) { if (e.getInventory().getResult() != null && e.getCursor() != null && e.getCursor().getAmount() < 64) { if (p.getInventory().addItem(e.getCurrentItem()).isEmpty()) { @@ -163,18 +169,13 @@ public void on(FurnaceSmeltEvent e) { if (AdaptConfig.get().blacklistedWorlds.contains(e.getBlock().getWorld().getName())) { return; } + xp(e.getBlock().getLocation(), getConfig().furnaceBaseXP + (getValue(e.getResult()) * getConfig().furnaceValueXPMultiplier), getConfig().furnaceXPRadius, getConfig().furnaceXPDuration); } @Override public void onTick() { - if (canUseSkill()) { - return; - } for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { - return; - } checkStatTrackers(getPlayer(i)); if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java b/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java index efb486a5..c93c396a 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java @@ -65,8 +65,14 @@ public SkillDiscovery() { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerChangedWorldEvent e) { + if (!this.isEnabled()) { + return; + } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } seeWorld(p, p.getWorld()); @@ -74,11 +80,17 @@ public void on(PlayerChangedWorldEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerInteractAtEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } seeEntity(p, e.getRightClicked()); @@ -86,11 +98,17 @@ public void on(PlayerInteractAtEntityEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityPickupItemEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } + if (AdaptConfig.get().blacklistedWorlds.contains(e.getEntity().getWorld().getName())) { + return; + } if (e.getEntity() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } seeItem(p, e.getItem().getItemStack()); @@ -99,11 +117,17 @@ public void on(EntityPickupItemEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(CraftItemEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } if (e.getWhoClicked() instanceof Player p) { - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } try { @@ -120,11 +144,17 @@ public void on(CraftItemEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerItemConsumeEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } seeItem(p, e.getItem()); @@ -137,7 +167,11 @@ public void on(PlayerInteractEvent e) { return; } Player p = e.getPlayer(); - if (canUseSkill(p)) { + + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (e.getClickedBlock() != null) { @@ -151,7 +185,10 @@ public void on(PlayerExpChangeEvent e) { return; } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (e.getAmount() > 0 && getLevel(p) > 0) { @@ -264,11 +301,11 @@ public void seeBiome(Player p, Biome e) { @Override public void onTick() { - if (canUseSkill()) { + if (!this.isEnabled()) { return; } for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } try { diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java b/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java index 169e6de8..b059f437 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java @@ -26,7 +26,6 @@ import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; import org.bukkit.Material; -import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.enchantment.EnchantItemEvent; @@ -47,11 +46,16 @@ public SkillEnchanting() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EnchantItemEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } - Player p = e.getEnchanter(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(e.getEnchanter().getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (e.getEnchanter().getGameMode().equals(GameMode.CREATIVE) || e.getEnchanter().getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(e.getEnchanter(), getConfig().enchantPowerXPMultiplier * e.getEnchantsToAdd().values().stream().mapToInt((i) -> i).sum()); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java b/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java index d388a2ec..7eb95da3 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java @@ -52,12 +52,18 @@ public SkillExcavation() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (!e.isCancelled()) { if (e.getDamager() instanceof Player p) { if (e.isCancelled()) { return; } - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } AdaptPlayer a = getPlayer((Player) e.getDamager()); @@ -73,11 +79,17 @@ public void on(EntityDamageByEntityEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { + if (!this.isEnabled()) { + return; + } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { return; } if (!e.isCancelled()) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (isShovel(p.getInventory().getItemInMainHand())) { double v = getValue(e.getBlock().getType()); getPlayer(p).getData().addStat("excavation.blocks.broken", 1); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java b/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java index 962c5bc2..2fd58b90 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java @@ -107,14 +107,20 @@ public void on(PlayerQuitEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerItemConsumeEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } - if (e.getItem().getItemMeta() instanceof PotionMeta) { + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (e.getItem().getItemMeta() instanceof PotionMeta o) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().foodConsumeXP); @@ -123,25 +129,38 @@ public void on(PlayerItemConsumeEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerShearEntityEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } xp(p, e.getEntity().getLocation(), getConfig().shearXP); } @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerHarvestBlockEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } + if (herbCooldown.containsKey(p) && herbCooldown.get(p) + getConfig().harvestXpCooldown < System.currentTimeMillis()) { herbCooldown.remove(p); } else if (herbCooldown.containsKey(p) && herbCooldown.get(p) + getConfig().harvestXpCooldown > System.currentTimeMillis()) { @@ -156,11 +175,18 @@ public void on(PlayerHarvestBlockEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockPlaceEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { + + return; + } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (herbCooldown.containsKey(p) && herbCooldown.get(p) + getConfig().harvestXpCooldown < System.currentTimeMillis()) { @@ -177,13 +203,21 @@ public void on(BlockPlaceEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerInteractEvent e) { + if (!this.isEnabled()) { + return; + } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (e.useItemInHand().equals(Event.Result.DENY)) { return; } + if (e.getClickedBlock() == null) { return; } @@ -204,13 +238,19 @@ public void on(PlayerInteractEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (e.getBlock().getType().equals(Material.CACTUS)) { return; } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java b/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java index 4e124b4c..5c9d090b 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java @@ -58,11 +58,17 @@ public SkillHunter() { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { + if (!this.isEnabled()) { + return; + } + if (e.isCancelled() && this.isEnabled()) { + return; + } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { return; } - if (e.isCancelled()) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (e.getBlock().getType().equals(Material.TURTLE_EGG)) { @@ -73,8 +79,15 @@ public void on(BlockBreakEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerInteractEvent e) { + if (!this.isEnabled()) { + return; + } Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (e.getAction().equals(Action.PHYSICAL) && e.getClickedBlock() != null && e.getClickedBlock().getType().equals(Material.TURTLE_EGG)) { @@ -85,10 +98,14 @@ public void on(PlayerInteractEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDeathEvent e) { - + if (!this.isEnabled()) { + return; + } + if (AdaptConfig.get().blacklistedWorlds.contains(e.getEntity().getWorld().getName())) { + return; + } if (e.getEntity().getKiller() != null && e.getEntity().getKiller().getClass().getSimpleName().equals("CraftPlayer")) { - Player p = e.getEntity().getKiller(); - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (e.getEntity().getKiller().getGameMode().equals(GameMode.CREATIVE) || e.getEntity().getKiller().getGameMode().equals(GameMode.SPECTATOR))) { return; } double cmult = e.getEntity().getType().equals(EntityType.CREEPER) ? getConfig().creeperKillMultiplier : 1; @@ -109,9 +126,6 @@ public void on(EntityDeathEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(CreatureSpawnEvent e) { - if (canUseSkill()) { - return; - } if (!this.isEnabled()) { return; } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillNether.java b/src/main/java/com/volmit/adapt/content/skill/SkillNether.java index a95bdb90..18ae8e82 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillNether.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillNether.java @@ -55,11 +55,17 @@ public SkillNether() { @EventHandler(priority = EventPriority.HIGHEST) public void onEntityDamage(EntityDamageEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } + if (AdaptConfig.get().blacklistedWorlds.contains(e.getEntity().getWorld().getName())) { + return; + } if (e.getCause() == EntityDamageEvent.DamageCause.WITHER && e.getEntity() instanceof Player p && !(e instanceof EntityDamageByBlockEvent)) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().getWitherDamageXp()); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java b/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java index 7b4a2a25..9cddc256 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java @@ -54,9 +54,15 @@ public SkillPickaxes() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (!e.isCancelled()) { if (e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } AdaptPlayer a = getPlayer((Player) e.getDamager()); @@ -72,13 +78,19 @@ public void on(EntityDamageByEntityEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (isPickaxe(p.getInventory().getItemInMainHand())) { double v = getValue(e.getBlock().getType()); if (p.getInventory().getItemInMainHand().getEnchantments().containsKey(Enchantment.SILK_TOUCH)) { diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java b/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java index 724b915b..b1069bac 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java @@ -54,11 +54,17 @@ public SkillRanged() { @EventHandler(priority = EventPriority.HIGHEST) public void on(ProjectileLaunchEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } if (e.getEntity().getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (e.getEntity() instanceof Snowball) { @@ -72,11 +78,18 @@ public void on(ProjectileLaunchEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { - if (e.getDamager() instanceof Projectile && ((Projectile) e.getDamager()).getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (!this.isEnabled()) { + return; + } + if (e.getDamager() instanceof Projectile && ((Projectile) e.getDamager()).getShooter() instanceof Player) { + Player p = ((Player) ((Projectile) e.getDamager()).getShooter()); + if (e.isCancelled()) { return; } - if (e.isCancelled()) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (e.getEntity() instanceof Snowball) { diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillRift.java b/src/main/java/com/volmit/adapt/content/skill/SkillRift.java index 81c5abcf..9cca5afa 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillRift.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillRift.java @@ -58,13 +58,16 @@ public SkillRift() { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerTeleportEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } + Player p = e.getPlayer(); + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (!lasttp.containsKey(p)) { try { xpSilent(p, getConfig().teleportXP); @@ -76,16 +79,19 @@ public void on(PlayerTeleportEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(ProjectileLaunchEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } if (e.getEntity() instanceof EnderPearl && e.getEntity().getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().throwEnderpearlXP); } else if (e.getEntity() instanceof EnderSignal && e.getEntity().getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().throwEnderEyeXP); @@ -94,54 +100,57 @@ public void on(ProjectileLaunchEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } if (e.getEntity() instanceof Enderman && e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEndermanXPMultiplier * Math.min(e.getDamage(), ((Enderman) e.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue())); } if (e.getEntity() instanceof Endermite && e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEndermiteXPMultiplier * Math.min(e.getDamage(), ((Endermite) e.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue())); } if (e.getEntity() instanceof EnderDragon && e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEnderdragonXPMultiplier * Math.min(e.getDamage(), ((EnderDragon) e.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue())); } if (e.getEntity() instanceof EnderCrystal && e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEndCrystalXP); } if (e.getEntity() instanceof Enderman && e.getDamager() instanceof Projectile j && j.getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEndermanXPMultiplier * Math.min(e.getDamage(), ((Enderman) e.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue())); } if (e.getEntity() instanceof Endermite && e.getDamager() instanceof Projectile j && j.getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEndermiteXPMultiplier * Math.min(e.getDamage(), ((Endermite) e.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue())); } if (e.getEntity() instanceof EnderDragon && e.getDamager() instanceof Projectile j && j.getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEnderdragonXPMultiplier * Math.min(e.getDamage(), ((EnderDragon) e.getEntity()).getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue())); } if (e.getEntity() instanceof EnderCrystal && e.getDamager() instanceof Projectile j && j.getShooter() instanceof Player p) { - if (canUseSkill(p)) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(p, getConfig().damageEndCrystalXP); @@ -154,7 +163,7 @@ public void on(EntityDeathEvent e) { return; } if (e.getEntity() instanceof EnderCrystal && e.getEntity().getKiller() != null) { - if (canUseSkill(e.getEntity().getKiller())) { + if (!AdaptConfig.get().isXpInCreative() && (e.getEntity().getKiller().getGameMode().equals(GameMode.CREATIVE) || e.getEntity().getKiller().getGameMode().equals(GameMode.SPECTATOR))) { return; } xp(e.getEntity().getKiller(), getConfig().destroyEndCrystalXP); @@ -170,7 +179,7 @@ public void on(PlayerQuitEvent e) { @Override public void onTick() { for (Player i : lasttp.k()) { - if (canUseSkill(i)) { + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } if (M.ms() - lasttp.get(i) > getConfig().teleportXPCooldown) { diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java b/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java index b7f7a419..cc0b7cad 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java @@ -69,7 +69,10 @@ public SkillSeaborne() { @Override public void onTick() { for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (i.getGameMode().equals(GameMode.CREATIVE) || i.getGameMode().equals(GameMode.SPECTATOR))) { return; } if (i.getWorld().getBlockAt(i.getLocation()).isLiquid() && i.isSwimming()) { @@ -85,14 +88,20 @@ public void onTick() { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerFishEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { return; } Adapt.verbose("Fishing"); + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } if (e.getState().equals(PlayerFishEvent.State.CAUGHT_FISH)) { xp(p, 300); } else if (e.getState().equals(PlayerFishEvent.State.CAUGHT_ENTITY)) { @@ -102,8 +111,7 @@ public void on(PlayerFishEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(BlockBreakEvent e) { - Player p = e.getPlayer(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { return; } if (e.isCancelled()) { @@ -116,6 +124,15 @@ public void on(BlockBreakEvent e) { cooldowns.remove(e.getPlayer()); } } + + cooldowns.put(e.getPlayer(), System.currentTimeMillis()); + Player p = e.getPlayer(); + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { + return; + } Adapt.verbose("Block Break Event"); if (e.getBlock().getType().equals(Material.SEA_PICKLE) && p.isSwimming() && p.getRemainingAir() < p.getMaximumAir()) { // BECAUSE I LIKE PICKLES xpSilent(p, 10); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java b/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java index 03af2bd2..32318343 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java @@ -62,7 +62,7 @@ public SkillStealth() { @Override public void onTick() { for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } if (i.isSneaking() && !i.isSwimming() && !i.isSprinting() && !i.isFlying() && !i.isGliding() && (i.getGameMode().equals(GameMode.SURVIVAL) || i.getGameMode().equals(GameMode.ADVENTURE))) { diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java b/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java index 091ab792..de991e76 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java @@ -49,12 +49,20 @@ public SkillSwords() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (!e.isCancelled()) { if (e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { return; } - if (e.getEntity().isDead() || e.getEntity().isInvulnerable()) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) + || p.getGameMode().equals(GameMode.SPECTATOR)) + || e.getEntity().isDead() + || e.getEntity().isInvulnerable() + || p.isDead() + || p.isInvulnerable()) { return; } AdaptPlayer a = getPlayer((Player) e.getDamager()); diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java b/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java index 5fb70b3b..1d3d4a9b 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillTaming.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.content.adaptation.taming.TamingDamage; import com.volmit.adapt.content.adaptation.taming.TamingHealthBoost; @@ -26,6 +27,7 @@ import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.entity.Tameable; @@ -50,11 +52,17 @@ public SkillTaming() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityBreedEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } for (Player p : Bukkit.getOnlinePlayers()) { - if (canUseSkill(p)) { + if (e.isCancelled()) { + return; + } + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { return; } if (p.getLocation().distance(e.getEntity().getLocation()) <= 15) { @@ -65,15 +73,22 @@ public void on(EntityBreedEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (e.isCancelled()) { return; } - if (e.getDamager() instanceof Tameable && ((Tameable) e.getDamager()).isTamed() && ((Tameable) e.getDamager()).getOwner() instanceof Player p) { - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(e.getEntity().getWorld().getName())) { + return; + } + + if (e.getDamager() instanceof Tameable && ((Tameable) e.getDamager()).isTamed() && ((Tameable) e.getDamager()).getOwner() instanceof Player p) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR))) { return; + } else { + xp(p, e.getEntity().getLocation(), e.getDamage() * getConfig().tameDamageXPMultiplier); } - xp(p, e.getEntity().getLocation(), e.getDamage() * getConfig().tameDamageXPMultiplier); - } } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java b/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java index ae825a0e..4f375a6c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java @@ -53,12 +53,25 @@ public SkillTragOul() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { + if (!this.isEnabled()) { + return; + } if (!e.isCancelled()) { if (e.getEntity() instanceof Player p) { - if (canUseSkill(p)) { + if (e.isCancelled()) { + return; + } + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR)) + || e.getEntity().isDead() + || e.getEntity().isInvulnerable() + || p.isDead() + || p.isInvulnerable()) { return; } - if (e.getEntity().isDead() || e.getEntity().isInvulnerable()) { + if (p.isBlocking() || p.isDead() || p.isInvulnerable()) { return; } AdaptPlayer a = getPlayer(p); @@ -69,13 +82,19 @@ public void on(EntityDamageByEntityEvent e) { @EventHandler(priority = EventPriority.HIGHEST) public void on(PlayerDeathEvent e) { - Player p = e.getEntity(); - if (canUseSkill(p)) { + if (!this.isEnabled()) { + return; + } + if (AdaptConfig.get().blacklistedWorlds.contains(e.getEntity().getWorld().getName())) { + return; + } + if (!AdaptConfig.get().isXpInCreative() && (e.getEntity().getGameMode().equals(GameMode.CREATIVE) || e.getEntity().getGameMode().equals(GameMode.SPECTATOR))) { return; } if (AdaptConfig.get().isHardcoreResetOnPlayerDeath()) { Adapt.info("Resetting " + e.getEntity().getName() + "'s skills due to death"); + Player p = e.getEntity(); AdaptPlayer ap = getPlayer(p); ap.delete(p.getUniqueId()); return; @@ -91,6 +110,7 @@ public void on(PlayerDeathEvent e) { ce.start(); } AdaptPlayer a = getPlayer(e.getEntity()); + Player p = a.getPlayer(); p.playSound(p.getLocation(), Sound.ENTITY_BLAZE_DEATH, 1f, 1f); if (a.getData().getSkillLines().get("tragoul") != null) { double xp = a.getData().getSkillLines().get("tragoul").getXp(); @@ -117,10 +137,10 @@ public void on(PlayerDeathEvent e) { @Override public void onTick() { for (Player i : Bukkit.getOnlinePlayers()) { - if (canUseSkill(i)) { + checkStatTrackers(getPlayer(i)); + if (AdaptConfig.get().blacklistedWorlds.contains(i.getWorld().getName())) { return; } - checkStatTrackers(getPlayer(i)); } } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java b/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java index 69c58955..1e4b4c3c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptPlayer; import com.volmit.adapt.content.adaptation.unarmed.UnarmedGlassCannon; @@ -26,6 +27,7 @@ import com.volmit.adapt.content.adaptation.unarmed.UnarmedSuckerPunch; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -49,13 +51,20 @@ public SkillUnarmed() { @EventHandler(priority = EventPriority.HIGHEST) public void on(EntityDamageByEntityEvent e) { - + if (!this.isEnabled()) { + return; + } if (!e.isCancelled()) { if (e.getDamager() instanceof Player p) { - if (canUseSkill(p)) { + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { return; } - if (e.getEntity().isDead() || e.getEntity().isInvulnerable()) { + if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) + || p.getGameMode().equals(GameMode.SPECTATOR)) + || e.getEntity().isDead() + || e.getEntity().isInvulnerable() + || p.isDead() + || p.isInvulnerable()) { return; } AdaptPlayer a = getPlayer((Player) e.getDamager()); From 2610c45a62be8881582312b0e80bc254b3bb9b44 Mon Sep 17 00:00:00 2001 From: sliman4 <4sliman4@gmail.com> Date: Sun, 25 Sep 2022 21:43:30 +0300 Subject: [PATCH 3/8] Make learn/unlearn button delay configurable --- src/main/java/com/volmit/adapt/AdaptConfig.java | 1 + src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/adapt/AdaptConfig.java b/src/main/java/com/volmit/adapt/AdaptConfig.java index 24f8c564..9d26f194 100644 --- a/src/main/java/com/volmit/adapt/AdaptConfig.java +++ b/src/main/java/com/volmit/adapt/AdaptConfig.java @@ -54,6 +54,7 @@ public class AdaptConfig { private boolean loginBonus = true; private boolean advancements = true; private boolean useSql = false; + private int learnUnlearnButtonDelayTicks = 14; private SqlSettings sql = new SqlSettings(); public static AdaptConfig get() { diff --git a/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java b/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java index f14a46ca..a09319ad 100644 --- a/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java +++ b/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java @@ -321,7 +321,7 @@ default void openGui(Player player) { player.getWorld().playSound(player.getLocation(), Sound.BLOCK_BEACON_DEACTIVATE, 0.4f, 0.755f); w.close(); player.sendTitle(" ", C.GRAY + Adapt.dLocalize("snippets", "adaptmenu", "unlearned") + " " + getDisplayName(mylevel), 1, 5, 11); - J.s(() -> openGui(player), 14); + J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); return; } @@ -334,7 +334,7 @@ default void openGui(Player player) { player.getWorld().playSound(player.getLocation(), Sound.BLOCK_BEACON_ACTIVATE, 0.2f, 1.455f); w.close(); player.sendTitle(" ", C.GRAY + Adapt.dLocalize("snippets", "adaptmenu", "learned") + " " + getDisplayName(lvl), 1, 5, 11); - J.s(() -> openGui(player), 14); + J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); } else { player.getWorld().playSound(player.getLocation(), Sound.BLOCK_BAMBOO_HIT, 0.7f, 1.855f); From 599815f12fdfbcaedbf759e4ca70bf20e55a935f Mon Sep 17 00:00:00 2001 From: sliman4 <4sliman4@gmail.com> Date: Sun, 25 Sep 2022 22:16:48 +0300 Subject: [PATCH 4/8] Don't show title if delay is 0 --- .../java/com/volmit/adapt/api/adaptation/Adaptation.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java b/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java index a09319ad..d46dd82a 100644 --- a/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java +++ b/src/main/java/com/volmit/adapt/api/adaptation/Adaptation.java @@ -320,7 +320,9 @@ default void openGui(Player player) { player.getWorld().playSound(player.getLocation(), Sound.BLOCK_NETHER_GOLD_ORE_PLACE, 0.7f, 1.355f); player.getWorld().playSound(player.getLocation(), Sound.BLOCK_BEACON_DEACTIVATE, 0.4f, 0.755f); w.close(); - player.sendTitle(" ", C.GRAY + Adapt.dLocalize("snippets", "adaptmenu", "unlearned") + " " + getDisplayName(mylevel), 1, 5, 11); + if (AdaptConfig.get().getLearnUnlearnButtonDelayTicks() != 0) { + player.sendTitle(" ", C.GRAY + Adapt.dLocalize("snippets", "adaptmenu", "unlearned") + " " + getDisplayName(mylevel), 1, 5, 11); + } J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); return; } @@ -333,7 +335,9 @@ default void openGui(Player player) { player.getWorld().playSound(player.getLocation(), Sound.BLOCK_BEACON_POWER_SELECT, 0.4f, 0.155f); player.getWorld().playSound(player.getLocation(), Sound.BLOCK_BEACON_ACTIVATE, 0.2f, 1.455f); w.close(); - player.sendTitle(" ", C.GRAY + Adapt.dLocalize("snippets", "adaptmenu", "learned") + " " + getDisplayName(lvl), 1, 5, 11); + if (AdaptConfig.get().getLearnUnlearnButtonDelayTicks() != 0) { + player.sendTitle(" ", C.GRAY + Adapt.dLocalize("snippets", "adaptmenu", "learned") + " " + getDisplayName(lvl), 1, 5, 11); + } J.s(() -> openGui(player), AdaptConfig.get().getLearnUnlearnButtonDelayTicks()); } else { player.getWorld().playSound(player.getLocation(), Sound.BLOCK_BAMBOO_HIT, 0.7f, 1.855f); From 5851a7fc125832728ee3d8de87dd44f820f7f1bf Mon Sep 17 00:00:00 2001 From: Nowhere Date: Sun, 25 Sep 2022 19:24:52 +0000 Subject: [PATCH 5/8] Translate de_DE.json via GitLocalize --- src/main/resources/de_DE.json | 52 ++++++++++++++++------------------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/src/main/resources/de_DE.json b/src/main/resources/de_DE.json index 73556509..9c550d90 100644 --- a/src/main/resources/de_DE.json +++ b/src/main/resources/de_DE.json @@ -1,7 +1,7 @@ { "snippets": { "gui": { - "level": "level", + "level": "Level", "knowledge": "Wissen", "powerused": "belegte Energie", "notlearned": "Noch nicht gelernt", @@ -12,16 +12,15 @@ "unlockthisbyclicking": "Schalte dies frei, indem du mit der rechten Maustaste auf den Adapt-Block klickst!" }, "adaptmenu": { - "knowledgecost": "Wissen", "alreadylearned": "Bereits gelernt!", - "unlearnrefund": "Klick erneut zum Verlernen & erhalte eine Rückerstattung von", + "norefunds": "HARDCORE, ERSTATTUNGEN DEAKTIVIERT", "knowledge": "Wissen", - "clicklearn": "Klicken, zum erlernen von", "noknowledge": "(Du hast kein Wissen)", "youonlyhave": "Du hast nur", "howtolevelup": "Verbessere deine Fähigkeiten, um dein maximales Level zu erhöhen!", "notenoughpower": "Nicht genug Energie! Jede Fähigkeitsstufe kostet 1 Energie.", "power": "Energie", + "powerdrain": "Power Drain", "learned": "Gelernt ", "unlearned": "Verlernt " }, @@ -144,7 +143,7 @@ "description": "Blut fließt durch die Adern des Universums. Entfesselt durch deine Hände!" }, "chronos": { - "name": "chronos", + "name": "Chronos", "icon": "۞", "description": "Zieh die Uhr des Universums auf und erlebe den Zeitenfluss!" }, @@ -162,7 +161,7 @@ "lore2": "Aufrüstungszeit" }, "superjump": { - "name": "Super Jump", + "name": "Supersprung", "description": "Außergewöhnlicher Höhenvorteil", "lore1": "Maximale Sprunghöhe", "lore2": "* Schleichen + Springen zum Supersprung" @@ -184,7 +183,7 @@ "foundation": { "name": "Magische Grundlage", "description": "Schleiche um ein provisorisches Fundament unter dir zu erschaffen", - "lore1": "Magie erzeugen : ", + "lore1": "Magie erzeugen: ", "lore2": "Blöcke unter dir!" }, "glass": { @@ -244,13 +243,13 @@ "blocking": { "multiarmor": { "name": "Multi-Rüstung", - "description": "Binde Elytras an die Rüstung", + "description": "Binde Elytra an die Rüstung", "lore1": "Dies ist eine erstaunliche Fähigkeit zum Reisen.", - "lore2": "Dynamisch zusammenführen und Rüstung/Elytra on the Fly ändern!", - "lore3": "Klicken Sie zum Zusammenführen mit der Umschalttaste auf einen Gegenstand über einem anderen in Ihrem Inventar.", - "lore4": "Um die Rüstung zu lösen, lassen Sie den Gegenstand Sneak-Drop fallen und er wird zerlegt.", - "lore5": "Wenn Ihre MultiArmor zerstört wird, verlieren Sie alle darin enthaltenen Gegenstände.", - "lore6": "Ich brauche keine Rüstung, es enttäuscht mich ..." + "lore2": "Dynamisches Zusammenführen und Ändern von Rüstungen/Elytra während des Spiels!", + "lore3": "Klick zum Zusammenführen mit der Umschalttaste auf einen Gegenstand über einem anderen im Inventar.", + "lore4": "Um die Rüstung zu lösen, lass den Gegenstand während des Schleichens fallen und er wird zerlegt.", + "lore5": "Wenn Ihre Multi-Rüstung zerstört wird, verlieren Sie alle darin enthaltenen Gegenstände.", + "lore6": "Ich brauche keine Rüstung, sie enttäuscht mich..." } }, "crafting": { @@ -261,7 +260,7 @@ "lore2": "auf einen Schmiedetisch um ihn zu zerlegen." }, "xp": { - "name": "Crafting Erfahrung", + "name": "Herstellungserfahrung", "description": "Passiv Erfahrung beim Craften erhalten", "lore1": "Erfahrung beim Craften erhalten" } @@ -271,7 +270,7 @@ "name": "Weltweite Rüstung", "description": "Passive Rüstung, abhängig von der Härte der in der Nähe befindlichen Blöcken", "lore1": "Passive Rüstung", - "lore2": ", basiert auf der Härter des benachbarten Blocks", + "lore2": "basiert auf der Härter des benachbarten Blocks", "lore3": "Stärke der Rüstung: +" }, "unity": { @@ -290,7 +289,7 @@ "villager": { "name": "Dorfbewohner-Attraktion", "description": "Ermöglicht Ihnen bessere Geschäfte mit Dorfbewohnern!", - "lore1": "Dies verbraucht EP pro Interaktion mit Dorfbewohnern", + "lore1": "Verbraucht EP pro Interaktion mit Dorfbewohnern", "lore2": "Chance pro Interaktion, XP zu verbrauchen und Trades zu verbessern", "lore3": "Erforderlicher XP-Abfluss pro Interaktion" } @@ -304,7 +303,6 @@ "quickenchant": { "name": "Schnell-Klick Verzaubern", "description": "Verzaubert Gegenstände, wenn Verzauberungsbücher auf sie gezogen werden", - "lore1": "Maximale kombinierte Levels", "lore2": "Kann einen Gegenstand nicht mit mehr als ", "lore3": "Macht" }, @@ -447,7 +445,7 @@ "strength": { "name": "Stärke des Jägers", "description": "Wenn du getroffen wirst, erhälst du Stärke auf Kosten deiner Sättigung", - "lore1": "Erhalte passive Stärke bei Schaden", + "lore1": "Erhalte passive Stärke beim Schäden", "lore2": "x Stärke stapelt sich bei einem Treffer für 3 Sekunden", "lore3": "x Stapel Sättigung", "lore4": "Sättigung stapelt Dauer und Multiplikator", @@ -463,7 +461,7 @@ "lore1": "Sekunden Abkühlzeit zwischen Schädelwürfen.", "lore2": "Wither Skull verwenden: Wirf einen ", "lore3": "Wither Skull", - "lore4": ", beim Aufprall explodieren" + "lore4": "beim Aufprall explodieren" }, "witherresist": { "name": "Wither Widerstandsfähigkeit", @@ -533,7 +531,7 @@ "notcontainer": "Das ist kein Behälter" }, "blink": { - "name": "Rift Blink", + "name": "Rift Blinzeln", "description": "Teleportation auf kurze Distanz. Nur ein Wimpernschlag entfernt!", "lore1": "Blöcke auf Blinken (2x vertikal)", "lore2": "Beim Sprinten: Doppelklick auf Springen, um ", @@ -581,10 +579,7 @@ "lore1": "Erhalte Nachtsicht unter Wasser, wenn der Effekt der Wasseratmung nachlässt!" }, "dolphingrace": { - "name": "Delphins Anmut", - "description": "Schwimm wie ein Delphin, ohne einen Delphine!", "lore1": "+ Passiv: erhalte ", - "lore2": "x Geschwindigkeit (Delphins Anmut)", "lore3": "Präzise deutsche Ingenieeee.. - Moment, das ist nicht richtig..." } }, @@ -596,7 +591,6 @@ "lore2": "Geschwindigkeit" }, "nightvision": { - "name": "Stealth Vision", "description": "Erhalte Nachtsicht beim Schleichen", "lore1": "Erhalte einen Schub von ", "lore2": "night vision", @@ -626,14 +620,14 @@ "description": "Schläge mit deinem Schwert verursachen Blutungen!", "lore1": "Das Schlagen eines Lebewesens mit deinem Schwert verursacht Bluten", "lore2": "Blutungsdauer", - "lore3": "Blutungs-Cooldown" + "lore3": "Blutungs-Abklingzeit" }, "poisonedblade": { "name": "Vergiftete Klinge", - "description": "Schläge mit deinem Schwert, verursache Gift!", - "lore1": "Das Schlagen eines Lebewesens mit deinem Schwert verursacht Gift", - "lore2": "Giftdauer", - "lore3": "Gift-Abklingzeit" + "description": "Schläge mit deinem Schwert, verursachen Vergiftung!", + "lore1": "Das Schlagen eines Lebewesens mit deinem Schwert verursacht Vergiftung", + "lore2": "Vergiftungsdauer", + "lore3": "Vergiftungs-Abklingzeit" } }, "taming": { From 87fb409112ad1d0a108874748bc824870e69cea0 Mon Sep 17 00:00:00 2001 From: knniDE Date: Sun, 25 Sep 2022 19:24:53 +0000 Subject: [PATCH 6/8] Translate de_DE.json via GitLocalize --- src/main/resources/de_DE.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/resources/de_DE.json b/src/main/resources/de_DE.json index 9c550d90..7491a0e5 100644 --- a/src/main/resources/de_DE.json +++ b/src/main/resources/de_DE.json @@ -12,9 +12,12 @@ "unlockthisbyclicking": "Schalte dies frei, indem du mit der rechten Maustaste auf den Adapt-Block klickst!" }, "adaptmenu": { + "knowledgecost": "Wissenskosten", "alreadylearned": "Bereits gelernt!", + "unlearnrefund": "Klicken zum Verlernen & für Rückerstattung", "norefunds": "HARDCORE, ERSTATTUNGEN DEAKTIVIERT", "knowledge": "Wissen", + "clicklearn": "Klicken zum erlernen von", "noknowledge": "(Du hast kein Wissen)", "youonlyhave": "Du hast nur", "howtolevelup": "Verbessere deine Fähigkeiten, um dein maximales Level zu erhöhen!", @@ -303,6 +306,7 @@ "quickenchant": { "name": "Schnell-Klick Verzaubern", "description": "Verzaubert Gegenstände, wenn Verzauberungsbücher auf sie gezogen werden", + "lore1": "Maximale kombinierte Level", "lore2": "Kann einen Gegenstand nicht mit mehr als ", "lore3": "Macht" }, @@ -579,7 +583,10 @@ "lore1": "Erhalte Nachtsicht unter Wasser, wenn der Effekt der Wasseratmung nachlässt!" }, "dolphingrace": { + "name": "Gunst des Delfins", + "description": "Schwimm wie ein Delphin, ohne einen Delphin!", "lore1": "+ Passiv: erhalte ", + "lore2": "x Geschwindigkeit (Gunst des Delfins)", "lore3": "Präzise deutsche Ingenieeee.. - Moment, das ist nicht richtig..." } }, @@ -591,6 +598,7 @@ "lore2": "Geschwindigkeit" }, "nightvision": { + "name": "Heimliche Vision", "description": "Erhalte Nachtsicht beim Schleichen", "lore1": "Erhalte einen Schub von ", "lore2": "night vision", From 83ccfaa60049941f1bd2261578c43512260bb6b9 Mon Sep 17 00:00:00 2001 From: poikcue Date: Sun, 25 Sep 2022 19:25:03 +0000 Subject: [PATCH 7/8] Translate zh_CN.json via GitLocalize --- src/main/resources/zh_CN.json | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/main/resources/zh_CN.json b/src/main/resources/zh_CN.json index a08c7abd..826613d2 100644 --- a/src/main/resources/zh_CN.json +++ b/src/main/resources/zh_CN.json @@ -15,6 +15,7 @@ "knowledgecost": "知识可用", "alreadylearned": "已学习", "unlearnrefund": "点击忘却此技能", + "norefunds": "极限模式将禁用点数返还", "knowledge": "知识", "clicklearn": "点击以学习", "noknowledge": "(你没有任何知识可用)", @@ -22,6 +23,7 @@ "howtolevelup": "升级技能来扩大能力上限", "notenoughpower": "能力不足!", "power": "能力", + "powerdrain": "耗费能力", "learned": "已学习 ", "unlearned": "未学习 " }, @@ -68,12 +70,12 @@ "icon": "▒", "description": "棍棒与石头不会折断你的骨头,但是盾牌会。" }, - "crafting":{ + "crafting": { "name": "合成", "icon": "⌂", "description": "若没有剩下什么东西可以合成,为什么不再做一个呢?" }, - "discovery":{ + "discovery": { "name": "探索", "icon": "⚛", "description": "当洞察力提升时,你的思维便会愈发澄澈,探索更多的奥秘。" @@ -88,7 +90,7 @@ "icon": "✥", "description": "挖大洞......" }, - "herbalism": { + "herbalism": { "name": "草药学", "icon": "⚘", "description": "我见不到植物,不过我能找到一些种子还有—— 呃,杂草?" @@ -253,7 +255,7 @@ "lore6": "我不再需要盔甲了,它让我太失望了..." } }, - "crafting":{ + "crafting": { "deconstruction": { "name": "分解器", "description": "分解方块或物品,回收部分合成时的材料。", @@ -266,7 +268,7 @@ "lore1": "当合成完毕后自动给予" } }, - "discovery":{ + "discovery": { "armor": { "name": "世界之甲", "description": "根据附近方块硬度给予被动防御。", @@ -337,7 +339,7 @@ "lore7": "有时候你需要五、六种物品在同一个工具钳里,或许仅仅需要一个。" } }, - "herbalism": { + "herbalism": { "growthaura": { "name": "生长光环", "description": "加速农作物生长时间", From fe45119e5919ac7d4fe0ad909e9df7daee32a45e Mon Sep 17 00:00:00 2001 From: Brian Fopiano Date: Sun, 25 Sep 2022 12:48:12 -0700 Subject: [PATCH 8/8] Fixed Error, Working now, Fixed Nullpointer with an Error/Fix --- build.gradle | 2 +- src/main/java/com/volmit/adapt/AdaptConfig.java | 3 +++ .../volmit/adapt/api/world/AdvancementHandler.java | 12 ++++++++++-- .../com/volmit/adapt/api/world/PlayerSkillLine.java | 9 ++++++--- .../com/volmit/adapt/content/skill/SkillAgility.java | 2 ++ .../volmit/adapt/content/skill/SkillArchitect.java | 2 ++ .../com/volmit/adapt/content/skill/SkillAxes.java | 2 ++ .../volmit/adapt/content/skill/SkillBlocking.java | 2 ++ .../com/volmit/adapt/content/skill/SkillBrewing.java | 2 ++ .../com/volmit/adapt/content/skill/SkillChronos.java | 1 + .../volmit/adapt/content/skill/SkillCrafting.java | 1 + .../volmit/adapt/content/skill/SkillDiscovery.java | 1 + .../volmit/adapt/content/skill/SkillEnchanting.java | 2 ++ .../volmit/adapt/content/skill/SkillExcavation.java | 2 ++ .../volmit/adapt/content/skill/SkillHerbalism.java | 2 ++ .../com/volmit/adapt/content/skill/SkillHunter.java | 2 ++ .../volmit/adapt/content/skill/SkillPickaxes.java | 2 ++ .../com/volmit/adapt/content/skill/SkillRanged.java | 2 ++ .../com/volmit/adapt/content/skill/SkillRift.java | 2 ++ .../volmit/adapt/content/skill/SkillSeaborne.java | 2 ++ .../com/volmit/adapt/content/skill/SkillStealth.java | 1 + .../com/volmit/adapt/content/skill/SkillSwords.java | 2 ++ .../com/volmit/adapt/content/skill/SkillTragOul.java | 5 +---- .../com/volmit/adapt/content/skill/SkillUnarmed.java | 5 +---- .../advancements/manager/AdvancementManager.java | 3 +++ 25 files changed, 57 insertions(+), 14 deletions(-) diff --git a/build.gradle b/build.gradle index bd3195ed..92264bff 100644 --- a/build.gradle +++ b/build.gradle @@ -24,7 +24,7 @@ plugins { } -version '1.3.5-1.19.2' // Needs to be version specific +version '1.3.6-1.19.2' // Needs to be version specific def nmsVersion = "1.19.2" //[NMS] def apiVersion = '1.19' def specialSourceVersion = '1.11.0' //[NMS] diff --git a/src/main/java/com/volmit/adapt/AdaptConfig.java b/src/main/java/com/volmit/adapt/AdaptConfig.java index 24f8c564..fdb2a15d 100644 --- a/src/main/java/com/volmit/adapt/AdaptConfig.java +++ b/src/main/java/com/volmit/adapt/AdaptConfig.java @@ -54,6 +54,8 @@ public class AdaptConfig { private boolean loginBonus = true; private boolean advancements = true; private boolean useSql = false; + private boolean actionbarNotifyXp = true; + private boolean actionbarNotifyLevel = true; private SqlSettings sql = new SqlSettings(); public static AdaptConfig get() { @@ -84,6 +86,7 @@ public static AdaptConfig get() { return config; } + @Getter public static class SqlSettings { private String host = "localhost"; diff --git a/src/main/java/com/volmit/adapt/api/world/AdvancementHandler.java b/src/main/java/com/volmit/adapt/api/world/AdvancementHandler.java index cf5a75cc..8fe90a70 100644 --- a/src/main/java/com/volmit/adapt/api/world/AdvancementHandler.java +++ b/src/main/java/com/volmit/adapt/api/world/AdvancementHandler.java @@ -77,11 +77,19 @@ public void activate() { public void grant(String key, boolean toast) { getPlayer().getData().ensureGranted(key); - J.s(() -> getManager().grantAdvancement(player.getPlayer(), real.get(key)), 5); + try { + J.s(() -> getManager().grantAdvancement(player.getPlayer(), real.get(key)), 5); + } catch (Exception e) { + Adapt.error("Failed to grant advancement " + key); + } if (toast) { if (getPlayer() != null && getPlayer().getPlayer() != null) { - real.get(key).displayToast(getPlayer().getPlayer()); + try { + real.get(key).displayToast(getPlayer().getPlayer()); + } catch (Exception e) { + Adapt.error("Failed to grant advancement " + key + " Reattaching!"); + } } } } diff --git a/src/main/java/com/volmit/adapt/api/world/PlayerSkillLine.java b/src/main/java/com/volmit/adapt/api/world/PlayerSkillLine.java index 35e6d7ca..aaf51b78 100644 --- a/src/main/java/com/volmit/adapt/api/world/PlayerSkillLine.java +++ b/src/main/java/com/volmit/adapt/api/world/PlayerSkillLine.java @@ -65,7 +65,9 @@ public void giveXP(Notifier p, double xp) { if (p != null) { last = M.ms(); - p.notifyXP(line, xp); + if (AdaptConfig.get().isActionbarNotifyXp()) { + p.notifyXP(line, xp); + } } } @@ -173,8 +175,9 @@ public void update(AdaptPlayer p, String line, PlayerData data) { giveKnowledge((i / 13) + 1); p.getData().giveMasterXp((i * AdaptConfig.get().getPlayerXpPerSkillLevelUpLevelMultiplier()) + AdaptConfig.get().getPlayerXpPerSkillLevelUpBase()); } - - notifyLevel(p, getLevel(), getKnowledge()); + if (AdaptConfig.get().isActionbarNotifyLevel()) { + notifyLevel(p, getLevel(), getKnowledge()); + } lastLevel = getLevel(); } } diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java b/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java index d9107bdd..4a556621 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillAgility.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.advancement.AdaptAdvancement; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptStatTracker; @@ -31,6 +32,7 @@ import com.volmit.adapt.util.advancements.advancement.AdvancementVisibility; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java b/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java index 586e141c..3f889ee3 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.advancement.AdaptAdvancement; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptStatTracker; @@ -31,6 +32,7 @@ import com.volmit.adapt.util.advancements.advancement.AdvancementVisibility; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java b/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java index 6978c0b9..08d63f14 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillAxes.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptPlayer; import com.volmit.adapt.content.adaptation.axe.AxeChop; @@ -28,6 +29,7 @@ import com.volmit.adapt.util.C; import com.volmit.adapt.util.J; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java b/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java index 800ad19a..b1f1678d 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillBlocking.java @@ -19,11 +19,13 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.content.adaptation.blocking.BlockingMultiArmor; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.entity.Player; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java b/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java index f04d2b6d..cb3eae9b 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillBrewing.java @@ -20,6 +20,7 @@ import art.arcane.spatial.matter.SpatialMatter; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.data.WorldData; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptPlayer; @@ -29,6 +30,7 @@ import com.volmit.adapt.content.matter.BrewingStandOwnerMatter; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java b/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java index b680c4c4..bf5766aa 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillChronos.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java b/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java index b2d91e36..7587cef8 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillCrafting.java @@ -30,6 +30,7 @@ import com.volmit.adapt.util.advancements.advancement.AdvancementVisibility; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java b/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java index c93c396a..f4ae7b06 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillDiscovery.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.Discovery; import com.volmit.adapt.content.adaptation.discovery.DiscoveryArmor; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java b/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java index b059f437..b556c228 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillEnchanting.java @@ -19,12 +19,14 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.content.adaptation.enchanting.EnchantingLapisReturn; import com.volmit.adapt.content.adaptation.enchanting.EnchantingQuickEnchant; import com.volmit.adapt.content.adaptation.enchanting.EnchantingXPReturn; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java b/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java index 7eb95da3..d3a288a3 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillExcavation.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptPlayer; import com.volmit.adapt.content.adaptation.excavation.ExcavationDropToInventory; @@ -27,6 +28,7 @@ import com.volmit.adapt.util.C; import com.volmit.adapt.util.J; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java b/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java index 2fd58b90..8c0f5365 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillHerbalism.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.advancement.AdaptAdvancement; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptStatTracker; @@ -28,6 +29,7 @@ import com.volmit.adapt.util.advancements.advancement.AdvancementDisplay; import com.volmit.adapt.util.advancements.advancement.AdvancementVisibility; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.block.data.Ageable; import org.bukkit.block.data.Levelled; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java b/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java index 5c9d090b..0551a2a6 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillHunter.java @@ -19,10 +19,12 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.content.adaptation.hunter.*; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.attribute.Attribute; import org.bukkit.entity.Entity; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java b/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java index 9cddc256..6911213c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillPickaxes.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptPlayer; import com.volmit.adapt.content.adaptation.pickaxe.PickaxeAutosmelt; @@ -28,6 +29,7 @@ import com.volmit.adapt.util.C; import com.volmit.adapt.util.J; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.Player; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java b/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java index b1069bac..917476d3 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillRanged.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.content.adaptation.ranged.RangedArrowRecovery; import com.volmit.adapt.content.adaptation.ranged.RangedForce; @@ -26,6 +27,7 @@ import com.volmit.adapt.content.adaptation.ranged.RangedPiercing; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.entity.Projectile; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillRift.java b/src/main/java/com/volmit/adapt/content/skill/SkillRift.java index 9cca5afa..3e264145 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillRift.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillRift.java @@ -19,11 +19,13 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.content.adaptation.rift.*; import com.volmit.adapt.util.C; import com.volmit.adapt.util.M; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.attribute.Attribute; import org.bukkit.entity.*; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java b/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java index cc0b7cad..15f41a29 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillSeaborne.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.advancement.AdaptAdvancement; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptStatTracker; @@ -28,6 +29,7 @@ import com.volmit.adapt.util.advancements.advancement.AdvancementVisibility; import lombok.NoArgsConstructor; import org.bukkit.Bukkit; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java b/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java index 32318343..bdbad4c2 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillStealth.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.advancement.AdaptAdvancement; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptStatTracker; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java b/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java index de991e76..998bfdb7 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillSwords.java @@ -19,6 +19,7 @@ package com.volmit.adapt.content.skill; import com.volmit.adapt.Adapt; +import com.volmit.adapt.AdaptConfig; import com.volmit.adapt.api.skill.SimpleSkill; import com.volmit.adapt.api.world.AdaptPlayer; import com.volmit.adapt.content.adaptation.sword.SwordsBloodyBlade; @@ -26,6 +27,7 @@ import com.volmit.adapt.content.adaptation.sword.SwordsPoisonedBlade; import com.volmit.adapt.util.C; import lombok.NoArgsConstructor; +import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java b/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java index 4f375a6c..519e01a8 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillTragOul.java @@ -27,10 +27,7 @@ import com.volmit.adapt.util.C; import de.slikey.effectlib.effect.CloudEffect; import lombok.NoArgsConstructor; -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.Particle; -import org.bukkit.Sound; +import org.bukkit.*; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; diff --git a/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java b/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java index 1e4b4c3c..3690054c 100644 --- a/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java +++ b/src/main/java/com/volmit/adapt/content/skill/SkillUnarmed.java @@ -56,10 +56,7 @@ public void on(EntityDamageByEntityEvent e) { } if (!e.isCancelled()) { if (e.getDamager() instanceof Player p) { - if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName())) { - return; - } - if (!AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) + if (AdaptConfig.get().blacklistedWorlds.contains(p.getWorld().getName()) || !AdaptConfig.get().isXpInCreative() && (p.getGameMode().equals(GameMode.CREATIVE) || p.getGameMode().equals(GameMode.SPECTATOR)) || e.getEntity().isDead() || e.getEntity().isInvulnerable() diff --git a/src/main/java/com/volmit/adapt/util/advancements/manager/AdvancementManager.java b/src/main/java/com/volmit/adapt/util/advancements/manager/AdvancementManager.java index 94291905..d4fa3e6e 100644 --- a/src/main/java/com/volmit/adapt/util/advancements/manager/AdvancementManager.java +++ b/src/main/java/com/volmit/adapt/util/advancements/manager/AdvancementManager.java @@ -465,6 +465,9 @@ public void updateVisibility(Player player) { * @return The Result of this operation */ public GenericResult grantAdvancement(Player player, Advancement advancement) { + if (advancement == null || player == null) { + return null; + } AdvancementProgress progress = advancement.getProgress(player); GenericResult result = progress.grant();