Skip to content

Commit 848fb69

Browse files
committed
Commit
1 parent 6620b72 commit 848fb69

12 files changed

Lines changed: 91 additions & 43 deletions

File tree

src/main/java/me/nik/combatplus/files/Config.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ public static void reload() {
4141
public static void addDefaults() {
4242
//config.yml
4343
//string lists
44+
List<String> combatList = Config.get().getStringList("combat.settings.disabled_worlds");
45+
combatList.add("example_world");
4446
List<String> gappleList = Config.get().getStringList("general.settings.golden_apple_cooldown.disabled_worlds");
4547
gappleList.add("example_world");
4648
List<String> itemsList = Config.get().getStringList("general.settings.disabled_items.items");
@@ -50,6 +52,8 @@ public static void addDefaults() {
5052
itemFrameRotation.add("example_world");
5153
List<String> epearlList = Config.get().getStringList("enderpearl_cooldown.disabled_worlds");
5254
epearlList.add("example_world");
55+
List<String> offhandWorlds = Config.get().getStringList("disable_offhand.disabled_worlds");
56+
offhandWorlds.add("example_world");
5357
Config.get().options().header("+----------------------------------------------------------------------------------------------+" + "\n" + "| |" + "\n" + "| Combat Plus |" + "\n" + "| |" + "\n" + "| Discord: https://discord.gg/m7j2Y9H |" + "\n" + "| |" + "\n" + "| Author: Nik |" + "\n" + "| |" + "\n" + "+----------------------------------------------------------------------------------------------+" + "\n");
5458
Config.get().addDefault("settings.check_for_updates", true);
5559
Config.get().addDefault("settings.developer_mode", false);
@@ -61,6 +65,7 @@ public static void addDefaults() {
6165
Config.get().addDefault("combat.settings.disable_sweep_attacks.ignore_sweeping_edge", false);
6266
Config.get().addDefault("combat.settings.disable_arrow_boost", true);
6367
Config.get().addDefault("combat.settings.old_player_regen", true);
68+
Config.get().addDefault("combat.settings.disabled_worlds", combatList);
6469
Config.get().addDefault("golden_apple_cooldown.golden_apple.enabled", true);
6570
Config.get().addDefault("golden_apple_cooldown.golden_apple.cooldown", 10);
6671
Config.get().addDefault("golden_apple_cooldown.golden_apple.actionbar", true);
@@ -77,6 +82,7 @@ public static void addDefaults() {
7782
Config.get().addDefault("disable_item_frame_rotation.enabled", true);
7883
Config.get().addDefault("disable_item_frame_rotation.disabled_worlds", itemFrameRotation);
7984
Config.get().addDefault("disable_offhand.enabled", true);
85+
Config.get().addDefault("disable_offhand.disabled_worlds", offhandWorlds);
8086
Config.get().addDefault("recipes.enchanted_golden_apple", false);
8187
Config.get().addDefault("fixes.kill_aura", false);
8288
Config.get().addDefault("fixes.projectile_fixer", true);

src/main/java/me/nik/combatplus/listeners/BowBoost.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.nik.combatplus.listeners;
22

33
import me.nik.combatplus.utils.Messenger;
4+
import me.nik.combatplus.utils.WorldUtils;
45
import org.bukkit.entity.Arrow;
56
import org.bukkit.entity.Player;
67
import org.bukkit.event.EventHandler;
@@ -21,6 +22,7 @@ public void onArrowDamage(EntityDamageByEntityEvent e) {
2122
if (!(e.getEntity() instanceof Player)) return;
2223
if (!(e.getDamager() instanceof Arrow)) return;
2324
Player player = (Player) e.getEntity();
25+
if (WorldUtils.combatDisabledWorlds(player)) return;
2426
if (player.hasPermission("cp.bypass.bowboost")) return;
2527
Arrow arrow = (Arrow) e.getDamager();
2628
ProjectileSource holder = arrow.getShooter();

src/main/java/me/nik/combatplus/listeners/DamageModifiers.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import me.nik.combatplus.files.Config;
44
import me.nik.combatplus.utils.Messenger;
5+
import me.nik.combatplus.utils.WorldUtils;
56
import org.bukkit.enchantments.Enchantment;
67
import org.bukkit.entity.Entity;
78
import org.bukkit.entity.Player;
@@ -79,6 +80,7 @@ private void oldSharpDamage(EntityDamageByEntityEvent e, Entity player, ItemStac
7980
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
8081
public void onEntityDamage(EntityDamageByEntityEvent e) {
8182
if (!(e.getDamager() instanceof Player)) return;
83+
if (WorldUtils.combatDisabledWorlds((Player) e.getDamager())) return;
8284
Player player = (Player) e.getDamager();
8385
ItemStack handItem = player.getInventory().getItemInMainHand();
8486
String isWeapon = handItem.getType().name();

src/main/java/me/nik/combatplus/listeners/EnchantedGoldenApple.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.nik.combatplus.files.Config;
55
import me.nik.combatplus.files.Lang;
66
import me.nik.combatplus.utils.Messenger;
7+
import me.nik.combatplus.utils.WorldUtils;
78
import net.md_5.bungee.api.ChatMessageType;
89
import net.md_5.bungee.api.chat.TextComponent;
910
import org.bukkit.Material;
@@ -43,7 +44,7 @@ public void run() {
4344

4445
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
4546
public void onEatEnchantedGoldenApple(PlayerItemConsumeEvent e) {
46-
if (gappleDisabledWorlds(e.getPlayer())) return;
47+
if (WorldUtils.gappleDisabledWorlds(e.getPlayer())) return;
4748
if (e.getPlayer().hasPermission("cp.bypass.gapple")) return;
4849
final Material handItem = e.getItem().getType();
4950
if (handItem == Material.ENCHANTED_GOLDEN_APPLE) {
@@ -74,12 +75,4 @@ public void run() {
7475
}
7576
}
7677
}
77-
78-
private boolean gappleDisabledWorlds(Player player) {
79-
for (String world : Config.get().getStringList("golden_apple_cooldown.disabled_worlds")) {
80-
if (player.getWorld().getName().equalsIgnoreCase(world))
81-
return true;
82-
}
83-
return false;
84-
}
8578
}

src/main/java/me/nik/combatplus/listeners/Enderpearl.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.nik.combatplus.files.Config;
55
import me.nik.combatplus.files.Lang;
66
import me.nik.combatplus.utils.Messenger;
7+
import me.nik.combatplus.utils.WorldUtils;
78
import net.md_5.bungee.api.ChatMessageType;
89
import net.md_5.bungee.api.chat.TextComponent;
910
import org.bukkit.Material;
@@ -48,9 +49,10 @@ private boolean holdsEnderPearl(Player p) {
4849

4950
@EventHandler(priority = EventPriority.NORMAL)
5051
public void onInteract(PlayerInteractEvent e) {
52+
if (WorldUtils.enderpearlDisabledWorlds(e.getPlayer())) return;
5153
if (e.getAction().equals(Action.RIGHT_CLICK_AIR) || e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
5254
Player player = e.getPlayer();
53-
if (holdsEnderPearl(player) && !enderpearlDisabledWorlds(player)) {
55+
if (holdsEnderPearl(player)) {
5456
if (player.hasPermission("cp.bypass.epearl")) return;
5557
final UUID p = player.getUniqueId();
5658
if (cooldown.containsKey(p)) {
@@ -80,12 +82,4 @@ public void run() {
8082
}
8183
}
8284
}
83-
84-
private boolean enderpearlDisabledWorlds(Player player) {
85-
for (String world : Config.get().getStringList("enderpearl_cooldown.disabled_worlds")) {
86-
if (player.getWorld().getName().equalsIgnoreCase(world))
87-
return true;
88-
}
89-
return false;
90-
}
9185
}

src/main/java/me/nik/combatplus/listeners/GoldenApple.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import me.nik.combatplus.files.Config;
55
import me.nik.combatplus.files.Lang;
66
import me.nik.combatplus.utils.Messenger;
7+
import me.nik.combatplus.utils.WorldUtils;
78
import net.md_5.bungee.api.ChatMessageType;
89
import net.md_5.bungee.api.chat.TextComponent;
910
import org.bukkit.Material;
@@ -43,7 +44,7 @@ public void run() {
4344

4445
@EventHandler(ignoreCancelled = true, priority = EventPriority.NORMAL)
4546
public void onEatGoldenApple(PlayerItemConsumeEvent e) {
46-
if (gappleDisabledWorlds(e.getPlayer())) return;
47+
if (WorldUtils.gappleDisabledWorlds(e.getPlayer())) return;
4748
if (e.getPlayer().hasPermission("cp.bypass.gapple")) return;
4849
final Material handItem = e.getItem().getType();
4950
if (handItem == Material.GOLDEN_APPLE) {
@@ -74,12 +75,4 @@ public void run() {
7475
}
7576
}
7677
}
77-
78-
private boolean gappleDisabledWorlds(Player player) {
79-
for (String world : Config.get().getStringList("golden_apple_cooldown.disabled_worlds")) {
80-
if (player.getWorld().getName().equalsIgnoreCase(world))
81-
return true;
82-
}
83-
return false;
84-
}
8578
}
Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,27 @@
11
package me.nik.combatplus.listeners;
22

3-
import me.nik.combatplus.files.Config;
43
import me.nik.combatplus.utils.Messenger;
4+
import me.nik.combatplus.utils.WorldUtils;
55
import org.bukkit.Material;
66
import org.bukkit.entity.ItemFrame;
7-
import org.bukkit.entity.Player;
87
import org.bukkit.event.EventHandler;
98
import org.bukkit.event.EventPriority;
109
import org.bukkit.event.Listener;
1110
import org.bukkit.event.player.PlayerInteractEntityEvent;
1211

1312
public class ItemFrameRotate implements Listener {
1413

15-
// This Listener removes the ability to rotate item frames
14+
/*
15+
This Listener removes the ability to rotate item frames
16+
*/
1617

1718
@EventHandler(priority = EventPriority.NORMAL)
1819
public void onRotate(PlayerInteractEntityEvent e) {
1920
if (!(e.getRightClicked() instanceof ItemFrame)) return;
2021
if (e.getPlayer().hasPermission("cp.bypass.rotate")) return;
21-
if (itemFrameRotationDisabledWorlds(e.getPlayer())) return;
22+
if (WorldUtils.itemFrameRotationDisabledWorlds(e.getPlayer())) return;
2223
if (((ItemFrame) e.getRightClicked()).getItem().getType().equals(Material.AIR)) return;
2324
e.setCancelled(true);
2425
Messenger.debug(e.getPlayer(), "&3Item Frame Rotation &f&l>> &6Canceled: &a" + e.isCancelled());
2526
}
26-
27-
private boolean itemFrameRotationDisabledWorlds(Player player) {
28-
for (String world : Config.get().getStringList("disable_item_frame_rotation.disabled_worlds")) {
29-
if (player.getWorld().getName().equalsIgnoreCase(world))
30-
return true;
31-
}
32-
return false;
33-
}
3427
}

src/main/java/me/nik/combatplus/listeners/Offhand.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.nik.combatplus.listeners;
22

33
import me.nik.combatplus.utils.Messenger;
4+
import me.nik.combatplus.utils.WorldUtils;
45
import org.bukkit.Material;
56
import org.bukkit.entity.Player;
67
import org.bukkit.event.Event;
@@ -16,23 +17,25 @@
1617

1718
public class Offhand implements Listener {
1819

19-
private static final int OFFHAND_SLOT = 40;
20+
private static final int OFFHANDSLOT = 40;
2021

2122
/*
2223
This Listener completely disables the use of the Offhand
2324
*/
2425

2526
@EventHandler(priority = EventPriority.HIGHEST)
2627
public void onSwapHands(PlayerSwapHandItemsEvent e) {
28+
if (WorldUtils.offhandDisabledWorlds(e.getPlayer())) return;
2729
if (e.getPlayer().hasPermission("cp.bypass.offhand")) return;
2830
e.setCancelled(true);
2931
Messenger.debug(e.getPlayer(), "&3Offhand &f&l>> &6Canceled: &a" + e.isCancelled());
3032
}
3133

3234
@EventHandler(priority = EventPriority.HIGHEST)
3335
public void onClickOffHand(InventoryClickEvent e) {
36+
if (WorldUtils.offhandDisabledWorlds((Player) e.getWhoClicked())) return;
3437
if (e.getWhoClicked().hasPermission("cp.bypass.offhand")) return;
35-
if (e.getInventory().getType() != InventoryType.CRAFTING || e.getSlot() != OFFHAND_SLOT) return;
38+
if (e.getInventory().getType() != InventoryType.CRAFTING || e.getSlot() != OFFHANDSLOT) return;
3639
if (e.getClick().equals(ClickType.NUMBER_KEY) || itemCheck(e.getCursor())) {
3740
e.setResult(Event.Result.DENY);
3841
e.setCancelled(true);
@@ -42,8 +45,9 @@ public void onClickOffHand(InventoryClickEvent e) {
4245

4346
@EventHandler(priority = EventPriority.HIGHEST)
4447
public void onDrag(InventoryDragEvent e) {
48+
if (WorldUtils.offhandDisabledWorlds((Player) e.getWhoClicked())) return;
4549
if (e.getWhoClicked().hasPermission("cp.bypass.offhand")) return;
46-
if (e.getInventory().getType() != InventoryType.CRAFTING || !e.getInventorySlots().contains(OFFHAND_SLOT))
50+
if (e.getInventory().getType() != InventoryType.CRAFTING || !e.getInventorySlots().contains(OFFHANDSLOT))
4751
return;
4852
if (itemCheck(e.getOldCursor())) {
4953
e.setResult(Event.Result.DENY);

src/main/java/me/nik/combatplus/listeners/PlayerRegen.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import me.nik.combatplus.CombatPlus;
44
import me.nik.combatplus.files.Config;
55
import me.nik.combatplus.utils.Messenger;
6+
import me.nik.combatplus.utils.WorldUtils;
67
import org.bukkit.attribute.Attribute;
78
import org.bukkit.entity.EntityType;
89
import org.bukkit.entity.Player;
@@ -35,6 +36,7 @@ public PlayerRegen(CombatPlus plugin) {
3536

3637
@EventHandler(priority = EventPriority.HIGHEST)
3738
public void onRegen(EntityRegainHealthEvent e) {
39+
if (WorldUtils.combatDisabledWorlds((Player) e.getEntity())) return;
3840
if (e.getEntityType() != EntityType.PLAYER || e.getRegainReason() != EntityRegainHealthEvent.RegainReason.SATIATED) {
3941
return;
4042
}

src/main/java/me/nik/combatplus/utils/SetAttackSpeed.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ public class SetAttackSpeed {
88
private final double attackSpeed = Config.get().getDouble("advanced.settings.old_pvp.attack_speed");
99

1010
public void setAttackSpd(Player player) {
11+
if (WorldUtils.combatDisabledWorlds(player)) {
12+
new ResetStats().resetAttackSpeed(player);
13+
return;
14+
}
1115
player.getAttribute(Attribute.GENERIC_ATTACK_SPEED).setBaseValue(attackSpeed);
1216
player.saveData();
1317
Messenger.debug(player, "&6Set Attack Speed to: &a" + attackSpeed);

0 commit comments

Comments
 (0)