Skip to content
This repository has been archived by the owner on Jul 27, 2019. It is now read-only.

Commit

Permalink
Compatible with Jobs 2.12.0 and 2.13.1.
Browse files Browse the repository at this point in the history
  • Loading branch information
cnaude committed Dec 5, 2014
1 parent f22b5a7 commit 74107f9
Show file tree
Hide file tree
Showing 6 changed files with 109 additions and 7 deletions.
6 changes: 6 additions & 0 deletions dependency-reduced-pom.xml
Expand Up @@ -168,6 +168,12 @@
<dependency>
<groupId>com.cnaude.jobs</groupId>
<artifactId>Jobs</artifactId>
<version>2.13.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.cnaude.jobs</groupId>
<artifactId>JobsOld</artifactId>
<version>2.12.0</version>
<scope>compile</scope>
</dependency>
Expand Down
7 changes: 7 additions & 0 deletions pom.xml
Expand Up @@ -116,6 +116,13 @@
<dependency>
<groupId>com.cnaude.jobs</groupId>
<artifactId>Jobs</artifactId>
<version>2.13.1</version>
</dependency>

<!-- Jobs -->
<dependency>
<groupId>com.cnaude.jobs</groupId>
<artifactId>JobsOld</artifactId>
<version>2.12.0</version>
</dependency>

Expand Down
9 changes: 3 additions & 6 deletions src/main/java/com/cnaude/purpleirc/Hooks/JobsHook.java
Expand Up @@ -18,14 +18,11 @@

import com.cnaude.purpleirc.TemplateName;
import com.cnaude.purpleirc.PurpleIRC;
import com.gamingmesh.jobs.Jobs;
import com.gamingmesh.jobs.PlayerManager;
import com.gamingmesh.jobs.container.Job;
import com.google.common.base.Joiner;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import me.zford.jobs.Jobs;
import me.zford.jobs.PlayerManager;
import me.zford.jobs.container.Job;
import me.zford.jobs.container.JobsPlayer;
import org.bukkit.entity.Player;

/**
Expand Down
73 changes: 73 additions & 0 deletions src/main/java/com/cnaude/purpleirc/Hooks/JobsHookOld.java
@@ -0,0 +1,73 @@
/*
* Copyright (C) 2014 cnaude
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.cnaude.purpleirc.Hooks;

import com.cnaude.purpleirc.TemplateName;
import com.cnaude.purpleirc.PurpleIRC;
import com.google.common.base.Joiner;
import java.util.ArrayList;
import me.zford.jobs.Jobs;
import me.zford.jobs.PlayerManager;
import me.zford.jobs.container.Job;
import org.bukkit.entity.Player;

/**
*
* @author cnaude
*/
public class JobsHookOld {

private final PurpleIRC plugin;
private PlayerManager playerManager = null;

/**
*
* @param plugin
*/
public JobsHookOld(PurpleIRC plugin) {
this.plugin = plugin;
try {
this.playerManager = Jobs.getPlayerManager();
} catch (Exception ex) {
plugin.logError("Jobs: " + ex.getMessage());
}
}

public String getPlayerJob(Player player, boolean shortName) {
if (playerManager == null) {
return "";
}
if (player != null) {
ArrayList<String> j = new ArrayList<>();
if (plugin.isPluginEnabled("Jobs")) {
for (Job job : Jobs.getJobs()) {
if (playerManager.getJobsPlayer(player).isInJob(job)) {
if (shortName) {
j.add(job.getShortName());
} else {
j.add(job.getName());
}
}
}
if (!j.isEmpty()) {
return Joiner.on(plugin.getMsgTemplate(TemplateName.JOBS_SEPARATOR)).join(j);
}
}
}
return "";
}
}
11 changes: 10 additions & 1 deletion src/main/java/com/cnaude/purpleirc/PurpleIRC.java
Expand Up @@ -40,6 +40,7 @@
import com.cnaude.purpleirc.Hooks.DynmapHook;
import com.cnaude.purpleirc.Hooks.FactionChatHook;
import com.cnaude.purpleirc.Hooks.JobsHook;
import com.cnaude.purpleirc.Hooks.JobsHookOld;
import com.cnaude.purpleirc.Hooks.ReportRTSHook;
import com.cnaude.purpleirc.Hooks.ShortifyHook;
import com.cnaude.purpleirc.Hooks.TownyChatHook;
Expand Down Expand Up @@ -156,6 +157,7 @@ public class PurpleIRC extends JavaPlugin {
public TownyChatHook tcHook;
public DynmapHook dynmapHook;
public JobsHook jobsHook;
public JobsHookOld jobsHookOld;
public ShortifyHook shortifyHook;
public ReportRTSHook reportRTSHook;
public NetPackets netPackets;
Expand Down Expand Up @@ -282,7 +284,14 @@ public void onEnable() {
}
if (isPluginEnabled("Jobs")) {
logInfo("Enabling Jobs support.");
jobsHook = new JobsHook(this);
String m = getServer().getPluginManager().getPlugin("Jobs").getDescription().getMain();
if (m.contains("me.zford")) {
jobsHookOld = new JobsHookOld(this);
} else if (m.contains("com.gamingmesh")) {
jobsHook = new JobsHook(this);
} else {
logError("Unable to hook into Jobs: " + m);
}
} else {
logInfo("Jobs not detected.");
}
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/com/cnaude/purpleirc/Utilities/ChatTokenizer.java
Expand Up @@ -584,6 +584,10 @@ public String playerTokenizer(Player player, String message) {
job = plugin.jobsHook.getPlayerJob(player, false);
jobShort = plugin.jobsHook.getPlayerJob(player, true);
}
if (plugin.jobsHookOld != null) {
job = plugin.jobsHookOld.getPlayerJob(player, false);
jobShort = plugin.jobsHookOld.getPlayerJob(player, true);
}
plugin.logDebug("[P]Raw message: " + message);
return message.replace("%DISPLAYNAME%", displayName)
.replace("%JOBS%", job)
Expand Down Expand Up @@ -640,6 +644,12 @@ private String playerTokenizer(String playerName, String message) {
jobShort = plugin.jobsHook.getPlayerJob(player, true);
}
}
if (player != null) {
if (plugin.jobsHookOld != null) {
job = plugin.jobsHookOld.getPlayerJob(player, false);
jobShort = plugin.jobsHookOld.getPlayerJob(player, true);
}
}
plugin.logDebug("[S]Raw message: " + message);
return message.replace("%DISPLAYNAME%", displayName)
.replace("%JOBS%", job)
Expand Down

0 comments on commit 74107f9

Please sign in to comment.