-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Preliminary support for classic, remove more lurking debug logs
- Loading branch information
1 parent
1d2a190
commit 5320b79
Showing
11 changed files
with
253 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
plugins { | ||
id 'java' | ||
} | ||
|
||
group 'pw.valaria' | ||
version '1.0-SNAPSHOT' | ||
|
||
sourceCompatibility = 1.8 | ||
|
||
repositories { | ||
mavenCentral() | ||
maven { url = 'http://repo.extendedclip.com/content/repositories/placeholderapi/'} | ||
maven { url = 'https://repo.valaria.pw/repository/maven-snapshots' } | ||
maven { url = 'https://papermc.io/repo/repository/maven-public/'} | ||
|
||
maven { url = 'https://maven.sk89q.com/repo/' } | ||
} | ||
|
||
dependencies { | ||
testCompile group: 'junit', name: 'junit', version: '4.12' | ||
compile project(":mcmmo-placeholders-bridge") | ||
compileOnly("com.destroystokyo.paper:paper-api:1.12.2-R0.1-SNAPSHOT") | ||
compileOnly("com.gmail.nossr50.mcMMO:mcMMO:1.6.2-SNAPSHOT") | ||
compileOnly("me.clip:placeholderapi:2.9.2") | ||
} |
154 changes: 154 additions & 0 deletions
154
...lassic/src/main/java/pw/valaria/placeholders/mcmmo/bridge/classic/McmmoBridgeClassic.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
package pw.valaria.placeholders.mcmmo.bridge.classic; | ||
|
||
import com.gmail.nossr50.api.ExperienceAPI; | ||
import com.gmail.nossr50.config.Config; | ||
import com.gmail.nossr50.config.experience.ExperienceConfig; | ||
import com.gmail.nossr50.datatypes.party.Party; | ||
import com.gmail.nossr50.datatypes.player.McMMOPlayer; | ||
import com.gmail.nossr50.mcMMO; | ||
import com.gmail.nossr50.util.player.UserManager; | ||
|
||
import org.bukkit.Bukkit; | ||
import org.bukkit.entity.Player; | ||
|
||
import java.util.Collection; | ||
import java.util.LinkedHashMap; | ||
import java.util.Map; | ||
import java.util.logging.LogManager; | ||
import java.util.logging.Logger; | ||
|
||
import me.clip.placeholderapi.PlaceholderAPIPlugin; | ||
import pw.valaria.placeholders.mcmmo.bridge.McmmoBridge; | ||
import pw.valaria.placeholders.mcmmo.bridge.data.ISkillType; | ||
import pw.valaria.placeholders.mcmmo.bridge.classic.data.SkillType; | ||
|
||
public class McmmoBridgeClassic extends McmmoBridge<SkillType> { | ||
private static Logger LOGGER = LogManager.getLogManager().getLogger("mcmmo-placeholders"); | ||
|
||
private final mcMMO mcMMOPlugin; | ||
private final Map<String, SkillType> skills = new LinkedHashMap<>(); | ||
|
||
public McmmoBridgeClassic() { | ||
mcMMOPlugin = (mcMMO) Bukkit.getPluginManager().getPlugin("mcMMO"); | ||
} | ||
|
||
protected boolean canHook() { | ||
try { | ||
Class.forName("com.gmail.nossr50.datatypes.skills.SkillType"); | ||
} catch (ClassNotFoundException e) { | ||
return false; | ||
} | ||
|
||
return true; | ||
} | ||
|
||
@Override | ||
protected void init() { | ||
// Register all skills | ||
for (com.gmail.nossr50.datatypes.skills.SkillType skillType: com.gmail.nossr50.datatypes.skills.SkillType.values()) { | ||
skills.put(skillType.getName().toLowerCase(), new SkillType(skillType)); | ||
} | ||
|
||
|
||
} | ||
|
||
@Override | ||
public Collection<SkillType> getSkills() { | ||
return skills.values(); | ||
} | ||
|
||
|
||
|
||
|
||
|
||
@Override | ||
public Integer getSkillLevel(ISkillType skillType, Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
return user.getSkillLevel((com.gmail.nossr50.datatypes.skills.SkillType) skillType.getNativeSkill()); | ||
} | ||
|
||
@Override | ||
public Integer getExpNeeded(ISkillType skillType, Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
return user.getXpToLevel((com.gmail.nossr50.datatypes.skills.SkillType) skillType.getNativeSkill()); | ||
} | ||
|
||
@Override | ||
public Integer getExp(ISkillType skill, Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
|
||
return user.getSkillXpLevel((com.gmail.nossr50.datatypes.skills.SkillType) skill.getNativeSkill()); | ||
} | ||
|
||
|
||
@Override | ||
public Integer getExpRemaining(ISkillType skillType, Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
int current = user.getSkillXpLevel((com.gmail.nossr50.datatypes.skills.SkillType) skillType.getNativeSkill()); | ||
int needed = user.getXpToLevel((com.gmail.nossr50.datatypes.skills.SkillType) skillType.getNativeSkill()); | ||
|
||
return needed - current; | ||
} | ||
|
||
@Override | ||
public Integer getRank(ISkillType skill, Player player) { | ||
try { | ||
return ExperienceAPI.getPlayerRankSkill(player.getUniqueId(), skill.getSkillName()); | ||
} catch (Exception ex) { | ||
return null; | ||
} | ||
} | ||
|
||
@Override | ||
public Integer getPowerLevel(Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
return user.getPowerLevel(); | ||
} | ||
|
||
@Override | ||
public Integer getPowerCap(Player player) { | ||
return Config.getInstance().getPowerLevelCap(); | ||
} | ||
|
||
@Override | ||
public String getPartyName(Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
final Party party = user.getParty(); | ||
|
||
return (party == null) ? null : party.getName(); | ||
} | ||
|
||
@Override | ||
public String getPartyLeader(Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
final Party party = user.getParty(); | ||
return (party == null) ? null : party.getLeader().getPlayerName(); | ||
} | ||
|
||
@Override | ||
public Integer getPartySize(Player player) { | ||
final McMMOPlayer user = UserManager.getPlayer(player); | ||
if (user == null) return null; | ||
final Party party = user.getParty(); | ||
return (party == null) ? null : party.getMembers().size(); | ||
} | ||
|
||
@Override | ||
public String getXpRate(Player player) { | ||
return String.valueOf(ExperienceConfig.getInstance().getExperienceGainsGlobalMultiplier()); | ||
} | ||
|
||
@Override | ||
public String isExpEventActive(Player player) { | ||
return mcMMO.p.isXPEventEnabled() ? PlaceholderAPIPlugin.booleanTrue() : PlaceholderAPIPlugin.booleanFalse(); | ||
} | ||
|
||
|
||
} |
28 changes: 28 additions & 0 deletions
28
...ge-classic/src/main/java/pw/valaria/placeholders/mcmmo/bridge/classic/data/SkillType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package pw.valaria.placeholders.mcmmo.bridge.classic.data; | ||
|
||
|
||
import pw.valaria.placeholders.mcmmo.bridge.data.ISkillType; | ||
|
||
public class SkillType implements ISkillType<com.gmail.nossr50.datatypes.skills.SkillType> { | ||
|
||
com.gmail.nossr50.datatypes.skills.SkillType skillType; | ||
|
||
public SkillType(com.gmail.nossr50.datatypes.skills.SkillType skillType) { | ||
this.skillType = skillType; | ||
} | ||
|
||
@Override | ||
public com.gmail.nossr50.datatypes.skills.SkillType getNativeSkill() { | ||
return skillType; | ||
} | ||
|
||
@Override | ||
public String getSkillName() { | ||
return skillType.getName(); | ||
} | ||
|
||
@Override | ||
public String toString() { | ||
return getSkillName(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters