Skip to content

Commit ba9afcb

Browse files
committed
Commit
1 parent a9e0dbc commit ba9afcb

24 files changed

Lines changed: 254 additions & 78 deletions

src/main/java/me/nik/combatplus/CombatPlus.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -129,71 +129,71 @@ private void setDefaultStats() {
129129
private void loadStats() {
130130
if (isEnabled("combat.settings.old_pvp")) {
131131
Bukkit.getOnlinePlayers().forEach(player -> {
132-
new SetAttackSpeed().setAttackSpd(player);
132+
new SetAttackSpeed(this).setAttackSpd(player);
133133
});
134134
} else {
135135
Bukkit.getOnlinePlayers().forEach(player -> {
136-
new ResetStats().resetAttackSpeed(player);
136+
new ResetStats(this).resetAttackSpeed(player);
137137
});
138138
}
139139

140140
if (isEnabled("custom.player_health.enabled")) {
141141
Bukkit.getOnlinePlayers().forEach(player -> {
142-
new SetCustomHealth().setHealth(player);
142+
new SetCustomHealth(this).setHealth(player);
143143
});
144144
} else {
145145
Bukkit.getOnlinePlayers().forEach(player -> {
146-
new ResetStats().resetMaxHealth(player);
146+
new ResetStats(this).resetMaxHealth(player);
147147
});
148148
}
149149
}
150150

151151
private void initialize() {
152152
System.out.println(Messenger.message("console.initialize"));
153153
if (isEnabled("combat.settings.old_pvp") || isEnabled("custom.player_health.enabled")) {
154-
registerEvent(new AttributesSet());
154+
registerEvent(new AttributesSet(this));
155155
}
156156
if (isEnabled("combat.settings.old_weapon_damage") || isEnabled("combat.settings.old_tool_damage") || isEnabled("combat.settings.disable_sweep_attacks.enabled")) {
157-
registerEvent(new DamageModifiers());
157+
registerEvent(new DamageModifiers(this));
158158
}
159159
if (isEnabled("combat.settings.disable_arrow_boost")) {
160-
registerEvent(new BowBoost());
160+
registerEvent(new BowBoost(this));
161161
}
162162
if (isEnabled("combat.settings.old_player_regen")) {
163-
registerEvent(new PlayerRegen());
163+
registerEvent(new PlayerRegen(this));
164164
}
165165
if (isEnabled("disabled_items.enabled")) {
166-
registerEvent(new DisabledItems());
166+
registerEvent(new DisabledItems(this));
167167
}
168168
if (isEnabled("disable_item_frame_rotation.enabled")) {
169-
registerEvent(new ItemFrameRotate());
169+
registerEvent(new ItemFrameRotate(this));
170170
}
171171
if (isEnabled("disable_offhand.enabled")) {
172-
registerEvent(new Offhand());
172+
registerEvent(new Offhand(this));
173173
}
174174
if (isEnabled("fixes.projectile_fixer")) {
175-
registerEvent(new Projectiles());
175+
registerEvent(new Projectiles(this));
176176
}
177177
if (isEnabled("fixes.invalid_criticals")) {
178-
registerEvent(new Criticals());
178+
registerEvent(new Criticals(this));
179179
}
180180
if (isEnabled("fixes.health_spoof")) {
181-
registerEvent(new HealthSpoof());
181+
registerEvent(new HealthSpoof(this));
182182
}
183183
if (isEnabled("fixes.kill_aura")) {
184-
registerEvent(new KillAura());
184+
registerEvent(new KillAura(this));
185185
}
186186
if (isEnabled("golden_apple_cooldown.golden_apple.enabled")) {
187-
registerEvent(new GoldenApple());
187+
registerEvent(new GoldenApple(this));
188188
}
189189
if (isEnabled("golden_apple_cooldown.enchanted_golden_apple.enabled")) {
190-
registerEvent(new EnchantedGoldenApple());
190+
registerEvent(new EnchantedGoldenApple(this));
191191
}
192192
if (isEnabled("enderpearl_cooldown.enabled")) {
193-
registerEvent(new Enderpearl());
193+
registerEvent(new Enderpearl(this));
194194
}
195195
//GUI Listener (Do not remove this, idiot nik)
196-
registerEvent(new GUIListener());
196+
registerEvent(new GUIListener(this));
197197
}
198198

199199
private void checkSupported() {

src/main/java/me/nik/combatplus/api/Manager.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010

1111
public class Manager implements Listener {
1212

13-
protected CombatPlus plugin = CombatPlus.getInstance();
13+
protected final CombatPlus plugin;
14+
15+
public Manager(CombatPlus plugin) {
16+
this.plugin = plugin;
17+
}
1418

1519
protected boolean gappleDisabledWorlds(Player player) {
1620
for (String world : configStringList("golden_apple_cooldown.disabled_worlds")) {
@@ -52,6 +56,22 @@ protected boolean itemFrameRotationDisabledWorlds(Player player) {
5256
return false;
5357
}
5458

59+
protected boolean enderpearlDisabledWorlds(Player player) {
60+
for (String world : configStringList("enderpearl_cooldown.disabled_worlds")) {
61+
if (player.getWorld().getName().equalsIgnoreCase(world))
62+
return true;
63+
}
64+
return false;
65+
}
66+
67+
protected boolean customStatsWorlds(Player player) {
68+
for (String world : configStringList("custom.disabled_worlds")) {
69+
if (player.getWorld().getName().equalsIgnoreCase(world))
70+
return true;
71+
}
72+
return false;
73+
}
74+
5575
protected void debug(Player player, String message) {
5676
if (configBoolean("settings.developer_mode") && player.hasPermission("cp.debug")) {
5777
player.sendMessage(Messenger.prefix(message));

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

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,20 +41,23 @@ 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");
46-
List<String> gapplelist = Config.get().getStringList("general.settings.golden_apple_cooldown.disabled_worlds");
47-
gapplelist.add("example_world");
48-
//actual config
49-
List<String> itemslist = Config.get().getStringList("general.settings.disabled_items.items");
50-
itemslist.add("item_frame");
51-
itemslist.add("armor_stand");
52-
List<String> offhandworlds = Config.get().getStringList("general.settings.disable_offhand.disabled_worlds");
53-
offhandworlds.add("example_world");
54-
List<String> craftingworlds = Config.get().getStringList("disabled_items.disabled_worlds");
55-
craftingworlds.add("example_world");
56-
List<String> itemframerotation = Config.get().getStringList("disable_item_frame_rotation.disabled_worlds");
57-
itemframerotation.add("example_world");
44+
List<String> combatList = Config.get().getStringList("combat.settings.disabled_worlds");
45+
combatList.add("example_world");
46+
List<String> gappleList = Config.get().getStringList("general.settings.golden_apple_cooldown.disabled_worlds");
47+
gappleList.add("example_world");
48+
List<String> itemsList = Config.get().getStringList("general.settings.disabled_items.items");
49+
itemsList.add("item_frame");
50+
itemsList.add("armor_stand");
51+
List<String> offhandWorlds = Config.get().getStringList("general.settings.disable_offhand.disabled_worlds");
52+
offhandWorlds.add("example_world");
53+
List<String> craftingWorlds = Config.get().getStringList("disabled_items.disabled_worlds");
54+
craftingWorlds.add("example_world");
55+
List<String> itemFrameRotation = Config.get().getStringList("disable_item_frame_rotation.disabled_worlds");
56+
itemFrameRotation.add("example_world");
57+
List<String> epearlList = Config.get().getStringList("enderpearl_cooldown.disabled_worlds");
58+
epearlList.add("example_world");
59+
List<String> customStats = Config.get().getStringList("custom.disabled_worlds");
60+
customStats.add("example_world");
5861
Config.get().options().header("+----------------------------------------------------------------------------------------------+" + "\n" + "| |" + "\n" + "| Combat Plus |" + "\n" + "| |" + "\n" + "| Discord: https://discord.gg/m7j2Y9H |" + "\n" + "| |" + "\n" + "| Author: Nik |" + "\n" + "| |" + "\n" + "+----------------------------------------------------------------------------------------------+" + "\n");
5962
Config.get().addDefault("settings.check_for_updates", true);
6063
Config.get().addDefault("settings.async", false);
@@ -67,27 +70,32 @@ public static void addDefaults() {
6770
Config.get().addDefault("combat.settings.disable_sweep_attacks.ignore_sweeping_edge", false);
6871
Config.get().addDefault("combat.settings.disable_arrow_boost", true);
6972
Config.get().addDefault("combat.settings.old_player_regen", true);
70-
Config.get().addDefault("combat.settings.disabled_worlds", combatlist);
73+
Config.get().addDefault("combat.settings.disabled_worlds", combatList);
7174
Config.get().addDefault("golden_apple_cooldown.golden_apple.enabled", true);
7275
Config.get().addDefault("golden_apple_cooldown.golden_apple.cooldown", 10);
76+
Config.get().addDefault("golden_apple_cooldown.golden_apple.actionbar", true);
7377
Config.get().addDefault("golden_apple_cooldown.enchanted_golden_apple.enabled", true);
7478
Config.get().addDefault("golden_apple_cooldown.enchanted_golden_apple.cooldown", 20);
75-
Config.get().addDefault("golden_apple_cooldown.disabled_worlds", gapplelist);
79+
Config.get().addDefault("golden_apple_cooldown.enchanted_golden_apple.actionbar", true);
80+
Config.get().addDefault("golden_apple_cooldown.disabled_worlds", gappleList);
7681
Config.get().addDefault("enderpearl_cooldown.enabled", true);
7782
Config.get().addDefault("enderpearl_cooldown.cooldown", 10);
83+
Config.get().addDefault("enderpearl_cooldown.actionbar", true);
84+
Config.get().addDefault("enderpearl_cooldown.disabled_worlds", epearlList);
7885
Config.get().addDefault("disabled_items.enabled", false);
79-
Config.get().addDefault("disabled_items.items", itemslist);
80-
Config.get().addDefault("disabled_items.disabled_worlds", craftingworlds);
86+
Config.get().addDefault("disabled_items.items", itemsList);
87+
Config.get().addDefault("disabled_items.disabled_worlds", craftingWorlds);
8188
Config.get().addDefault("disable_item_frame_rotation.enabled", true);
82-
Config.get().addDefault("disable_item_frame_rotation.disabled_worlds", itemframerotation);
89+
Config.get().addDefault("disable_item_frame_rotation.disabled_worlds", itemFrameRotation);
8390
Config.get().addDefault("disable_offhand.enabled", true);
84-
Config.get().addDefault("disable_offhand.disabled_worlds", offhandworlds);
91+
Config.get().addDefault("disable_offhand.disabled_worlds", offhandWorlds);
8592
Config.get().addDefault("fixes.kill_aura", false);
8693
Config.get().addDefault("fixes.projectile_fixer", true);
8794
Config.get().addDefault("fixes.invalid_criticals", true);
8895
Config.get().addDefault("fixes.health_spoof", true);
8996
Config.get().addDefault("custom.player_health.enabled", false);
9097
Config.get().addDefault("custom.player_health.max_health", 20);
98+
Config.get().addDefault("custom.disabled_worlds", customStats);
9199
Config.get().addDefault("advanced.settings.old_pvp.attack_speed", 24);
92100
Config.get().addDefault("advanced.settings.new_pvp.attack_speed", 4);
93101
Config.get().addDefault("advanced.settings.modifiers.old_swords_damage", 1);

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@ public static void addDefaults() {
4646
Lang.get().addDefault("reloaded", "&fYou have successfully reloaded the plugin!");
4747
Lang.get().addDefault("update_reminder", "&eThere is a new Version of &c&lCombat Plus&e available. Make sure to stay up to date!");
4848
Lang.get().addDefault("golden_apple_cooldown", "&fYou cannot eat a Golden Apple yet, You must wait %seconds% seconds.");
49+
Lang.get().addDefault("golden_apple_cooldown_actionbar", "&6You can eat a Golden Apple again in &a%seconds% &6seconds.");
4950
Lang.get().addDefault("enchanted_golden_apple_cooldown", "&fYou cannot eat an Enchanted Golden Apple yet, You must wait %seconds% seconds.");
51+
Lang.get().addDefault("enchanted_golden_apple_cooldown_actionbar", "&6You can eat an Enchanted Golden Apple again in &a%seconds% &6seconds.");
5052
Lang.get().addDefault("enderpearl_cooldown", "&fYou cannot use an Ender Pearl yet, You must wait %seconds% seconds.");
53+
Lang.get().addDefault("enderpearl_cooldown_actionbar", "&6You can use an Ender Pearl again in &a%seconds% &6seconds.");
5154
Lang.get().addDefault("cannot_craft_this", "&cYou cannot craft this item!");
5255
Lang.get().addDefault("gui.main", "&c&lCombatPlus Menu");
5356
Lang.get().addDefault("gui.plugin", "&c&lPlugin Settings");

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

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

3+
import me.nik.combatplus.CombatPlus;
34
import me.nik.combatplus.api.Manager;
45
import me.nik.combatplus.utils.ResetStats;
56
import me.nik.combatplus.utils.SetAttackSpeed;
@@ -13,24 +14,28 @@
1314

1415
public class AttributesSet extends Manager {
1516

17+
public AttributesSet(CombatPlus plugin) {
18+
super(plugin);
19+
}
20+
1621
// Changes the attribute of the player to the Old Attack Speed (On Join)
1722

1823
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
1924
public void onJoin(PlayerJoinEvent e) {
2025
if (configBoolean("combat.settings.old_pvp")) {
2126
final Player player = e.getPlayer();
22-
new SetAttackSpeed().setAttackSpd(player);
27+
new SetAttackSpeed(plugin).setAttackSpd(player);
2328
} else {
2429
final Player player = e.getPlayer();
25-
new ResetStats().resetAttackSpeed(player);
30+
new ResetStats(plugin).resetAttackSpeed(player);
2631
}
2732

2833
if (configBoolean("custom.player_health.enabled")) {
2934
final Player player = e.getPlayer();
30-
new SetCustomHealth().setHealth(player);
35+
new SetCustomHealth(plugin).setHealth(player);
3136
} else {
3237
final Player player = e.getPlayer();
33-
new ResetStats().resetMaxHealth(player);
38+
new ResetStats(plugin).resetMaxHealth(player);
3439
}
3540

3641
}
@@ -40,11 +45,11 @@ public void onJoin(PlayerJoinEvent e) {
4045
public void onLeave(PlayerQuitEvent e) {
4146
if (configBoolean("combat.settings.old_pvp")) {
4247
final Player player = e.getPlayer();
43-
new ResetStats().resetAttackSpeed(player);
48+
new ResetStats(plugin).resetAttackSpeed(player);
4449
}
4550
if (configBoolean("custom.player_health.enabled")) {
4651
final Player player = e.getPlayer();
47-
new ResetStats().resetMaxHealth(player);
52+
new ResetStats(plugin).resetMaxHealth(player);
4853
}
4954
}
5055

@@ -54,6 +59,6 @@ public void onLeave(PlayerQuitEvent e) {
5459
public void onWorldChange(PlayerChangedWorldEvent e) {
5560
if (!configBoolean("combat.settings.old_pvp")) return;
5661
final Player player = e.getPlayer();
57-
new SetAttackSpeed().setAttackSpd(player);
62+
new SetAttackSpeed(plugin).setAttackSpd(player);
5863
}
5964
}

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

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

3+
import me.nik.combatplus.CombatPlus;
34
import me.nik.combatplus.api.Manager;
45
import org.bukkit.entity.Arrow;
56
import org.bukkit.entity.Player;
@@ -10,6 +11,10 @@
1011

1112
public class BowBoost extends Manager {
1213

14+
public BowBoost(CombatPlus plugin) {
15+
super(plugin);
16+
}
17+
1318
// Disables the ability to Boost yourself up using a Bow, By shooting yourself
1419
// This Listener prevents players hitting themselves with a bow
1520

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

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

3+
import me.nik.combatplus.CombatPlus;
34
import me.nik.combatplus.api.Manager;
45
import org.bukkit.enchantments.Enchantment;
56
import org.bukkit.entity.Entity;
@@ -13,6 +14,10 @@
1314

1415
public class DamageModifiers extends Manager {
1516

17+
public DamageModifiers(CombatPlus plugin) {
18+
super(plugin);
19+
}
20+
1621
private void disableSweep(EntityDamageEvent e, Entity player, ItemStack handItem) {
1722
if (handItem.containsEnchantment(Enchantment.SWEEPING_EDGE) && configBoolean("combat.settings.disable_sweep_attacks.ignore_sweeping_edge"))
1823
return;

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

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

3+
import me.nik.combatplus.CombatPlus;
34
import me.nik.combatplus.api.Manager;
45
import me.nik.combatplus.utils.Messenger;
56
import org.bukkit.entity.Player;
@@ -15,6 +16,10 @@ public class DisabledItems extends Manager {
1516

1617
private final List<String> disabledItems = configStringList("disabled_items.items");
1718

19+
public DisabledItems(CombatPlus plugin) {
20+
super(plugin);
21+
}
22+
1823
// This Listener Disables the crafting of the items defined in the Config
1924

2025
@EventHandler(priority = EventPriority.HIGHEST)

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

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

3+
import me.nik.combatplus.CombatPlus;
34
import me.nik.combatplus.api.Manager;
45
import me.nik.combatplus.utils.Messenger;
6+
import net.md_5.bungee.api.ChatMessageType;
7+
import net.md_5.bungee.api.chat.TextComponent;
58
import org.bukkit.Material;
69
import org.bukkit.entity.Player;
710
import org.bukkit.event.EventHandler;
@@ -13,16 +16,20 @@
1316
import java.util.UUID;
1417

1518
public class EnchantedGoldenApple extends Manager {
16-
private final HashMap<UUID, Long> cooldown = new HashMap<UUID, Long>();
19+
private final HashMap<UUID, Long> cooldown = new HashMap<>();
1720
private final int cdtime = configInt("golden_apple_cooldown.enchanted_golden_apple.cooldown");
1821

19-
private void taskRun(PlayerItemConsumeEvent e) {
20-
cooldown.put(e.getPlayer().getUniqueId(), System.currentTimeMillis());
22+
public EnchantedGoldenApple(CombatPlus plugin) {
23+
super(plugin);
24+
}
25+
26+
private void taskRun(UUID uuid) {
27+
cooldown.put(uuid, System.currentTimeMillis());
2128
new BukkitRunnable() {
2229

2330
@Override
2431
public void run() {
25-
cooldown.remove(e.getPlayer().getUniqueId());
32+
cooldown.remove(uuid);
2633
}
2734
}.runTaskLaterAsynchronously(plugin, cdtime * 20);
2835
}
@@ -42,9 +49,23 @@ public void onEatEnchantedGoldenApple(PlayerItemConsumeEvent e) {
4249
long secondsleft = ((cooldown.get(p) / 1000) + cdtime) - (System.currentTimeMillis() / 1000);
4350
player.sendMessage(Messenger.message("enchanted_golden_apple_cooldown").replaceAll("%seconds%", String.valueOf(secondsleft)));
4451
} else {
45-
taskRun(e);
52+
taskRun(p);
4653
debug(player, "&3Enchanted Golden Apple Cooldown &f&l>> &6Added to cooldown: &atrue");
54+
if (configBoolean("golden_apple_cooldown.enchanted_golden_apple.actionbar")) {
55+
new BukkitRunnable() {
56+
57+
@Override
58+
public void run() {
59+
if (cooldown.containsKey(p)) {
60+
long secondsleft = ((cooldown.get(p) / 1000) + cdtime) - (System.currentTimeMillis() / 1000);
61+
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(Messenger.sendLang("enchanted_golden_apple_cooldown_actionbar").replaceAll("%seconds%", String.valueOf(secondsleft))));
62+
} else {
63+
cancel();
64+
}
65+
}
66+
}.runTaskTimerAsynchronously(plugin, 0, 20);
67+
}
4768
}
4869
}
4970
}
50-
}
71+
}

0 commit comments

Comments
 (0)