diff --git a/api/src/main/java/com/alttd/boosterapi/BoosterType.java b/api/src/main/java/com/alttd/boosterapi/BoosterType.java index 0e8819e..71aeb62 100644 --- a/api/src/main/java/com/alttd/boosterapi/BoosterType.java +++ b/api/src/main/java/com/alttd/boosterapi/BoosterType.java @@ -6,7 +6,23 @@ public enum BoosterType { * MCMMO - implies all mcmmo skills are boosted */ MCMMO("mcmmo"), - // TODO : add individual mcmmo skills + + ACROBATICS("acrobatics"), + ALCHEMY("alchemy"), + ARCHERY("archery"), + AXES("axes"), + EXCAVATION("excavation"), + FISHING("fishing"), + HERBALISM("herbalism"), + MINING("mining"), + REPAIR("repair"), + SALVAGE("salvage"), + SMELTING("smelting"), + SWORDS("swords"), + TAMING("taming"), + UNARMED("unarmed"), + WOODCUTTING("woodcutting"), + /** * MYPET - Boosts MyPet exp gains */ @@ -33,7 +49,7 @@ public enum BoosterType { */ UNKNOWN("unknown"); - public String BoosterName; + public final String BoosterName; BoosterType(String BoosterName) { this.BoosterName = BoosterName; } diff --git a/build.gradle.kts b/build.gradle.kts index d2411f9..43e1e1f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -2,6 +2,7 @@ plugins { `java-library` `maven-publish` id("com.github.johnrengelman.shadow") version "7.1.0" + id("net.minecrell.plugin-yml.bukkit") version "0.5.1" } allprojects { diff --git a/plugin/build.gradle.kts b/plugin/build.gradle.kts index aa2c0d2..90579ec 100644 --- a/plugin/build.gradle.kts +++ b/plugin/build.gradle.kts @@ -1,6 +1,7 @@ plugins { `maven-publish` id("com.github.johnrengelman.shadow") + id("net.minecrell.plugin-yml.bukkit") } dependencies { @@ -27,4 +28,12 @@ tasks { dependsOn(shadowJar) } +} + +bukkit { + name = rootProject.name + main = "$group.BoostersPlugin" + apiVersion = "1.18" + authors = listOf("destro174") + softDepend = listOf("MyPet", "mcMMO") } \ No newline at end of file diff --git a/plugin/src/main/java/com/alttd/boosters/BoostersPlugin.java b/plugin/src/main/java/com/alttd/boosters/BoostersPlugin.java index 9ad837d..6097f28 100644 --- a/plugin/src/main/java/com/alttd/boosters/BoostersPlugin.java +++ b/plugin/src/main/java/com/alttd/boosters/BoostersPlugin.java @@ -23,12 +23,15 @@ public final class BoostersPlugin extends JavaPlugin { instance = this; boosterAPI = new BoosterImplementation(); boosterManager = new BoosterManager(); + if (getServer().getPluginManager().isPluginEnabled("MyPet")) { registerListener(new MyPetListener()); } + if (getServer().getPluginManager().isPluginEnabled("mcMMO")) { registerListener(new MCmmoListener()); } + registerListener(new PhantomSpawnListener()); getServer().getMessenger().registerOutgoingPluginChannel(this, Config.pluginMessageChannel); diff --git a/plugin/src/main/java/com/alttd/boosters/data/Booster.java b/plugin/src/main/java/com/alttd/boosters/data/Booster.java index 18e4824..a4d3e46 100644 --- a/plugin/src/main/java/com/alttd/boosters/data/Booster.java +++ b/plugin/src/main/java/com/alttd/boosters/data/Booster.java @@ -30,7 +30,6 @@ public class Booster implements com.alttd.boosterapi.Booster { this(UUID.randomUUID(), type, playerName, duration, multiplier); } - @Override public boolean isActive() { return active; diff --git a/plugin/src/main/java/com/alttd/boosters/listeners/MCmmoListener.java b/plugin/src/main/java/com/alttd/boosters/listeners/MCmmoListener.java index 7872786..0a0732a 100755 --- a/plugin/src/main/java/com/alttd/boosters/listeners/MCmmoListener.java +++ b/plugin/src/main/java/com/alttd/boosters/listeners/MCmmoListener.java @@ -13,10 +13,19 @@ public class MCmmoListener implements Listener { @EventHandler public void onMcMMOExperienceEvent(McMMOPlayerXpGainEvent event) { BoosterManager bm = BoostersPlugin.getInstance().getBoosterManager(); - if(bm.isBoosted(BoosterType.MCMMO)) { - Booster b = bm.getBoosted(BoosterType.MCMMO); + if (bm.isBoosted(BoosterType.MCMMO)) { + Booster b = bm.getBooster(BoosterType.MCMMO); int multiplier = b.getMultiplier(); event.setRawXpGained(event.getRawXpGained() * multiplier); + return; + } + String skillName = event.getSkill().name(); + BoosterType type = BoosterType.getByName(skillName); + if (bm.isBoosted(type)) { + Booster b = bm.getBooster(type); + int multiplier = b.getMultiplier(); + event.setRawXpGained(event.getRawXpGained() * multiplier); + return; } } // TODO : add individual mcmmo skill boosters diff --git a/plugin/src/main/java/com/alttd/boosters/listeners/MyPetListener.java b/plugin/src/main/java/com/alttd/boosters/listeners/MyPetListener.java index bfdbe8d..d44088d 100755 --- a/plugin/src/main/java/com/alttd/boosters/listeners/MyPetListener.java +++ b/plugin/src/main/java/com/alttd/boosters/listeners/MyPetListener.java @@ -14,7 +14,7 @@ public class MyPetListener implements Listener { public void onMyPetExpEvent(MyPetExpEvent event) { BoosterManager bm = BoostersPlugin.getInstance().getBoosterManager(); if(bm.isBoosted(BoosterType.MYPET)) { - Booster b = bm.getBoosted(BoosterType.MYPET); + Booster b = bm.getBooster(BoosterType.MYPET); int multiplier = b.getMultiplier(); event.setExp(event.getExp() * multiplier); } diff --git a/plugin/src/main/java/com/alttd/boosters/managers/BoosterManager.java b/plugin/src/main/java/com/alttd/boosters/managers/BoosterManager.java index 3cf1722..62c5254 100644 --- a/plugin/src/main/java/com/alttd/boosters/managers/BoosterManager.java +++ b/plugin/src/main/java/com/alttd/boosters/managers/BoosterManager.java @@ -18,7 +18,7 @@ public class BoosterManager { return false; } - public Booster getBoosted(BoosterType type) { + public Booster getBooster(BoosterType type) { for (Booster b : activeBoosters) { if (b.getType() == type && b.isActive()) { return b; diff --git a/plugin/src/main/resources/plugin.yml b/plugin/src/main/resources/plugin.yml deleted file mode 100644 index 327d17f..0000000 --- a/plugin/src/main/resources/plugin.yml +++ /dev/null @@ -1,7 +0,0 @@ -# we can have gradle generate this file -name: BoosterPlugin -version: 1.0 # TODO version from gradle -main: com.alttd.boosters.BoosterPlugin -api-version: 1.17 -load: STARTUP -authors: [Destro, Teriuihi]