mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2024-09-17 17:21:00 +02:00
BanManager Data #125
This commit is contained in:
parent
26f42be2d3
commit
1765819b14
@ -3,6 +3,7 @@ package com.djrapitops.pluginbridge.plan;
|
||||
import com.djrapitops.plugin.api.utility.log.Log;
|
||||
import com.djrapitops.pluginbridge.plan.advancedachievements.AdvancedAchievementsHook;
|
||||
import com.djrapitops.pluginbridge.plan.askyblock.ASkyBlockHook;
|
||||
import com.djrapitops.pluginbridge.plan.banmanager.BanManagerHook;
|
||||
import com.djrapitops.pluginbridge.plan.essentials.EssentialsHook;
|
||||
import com.djrapitops.pluginbridge.plan.factions.FactionsHook;
|
||||
import com.djrapitops.pluginbridge.plan.griefprevention.GriefPreventionHook;
|
||||
@ -19,8 +20,12 @@ import main.java.com.djrapitops.plan.Settings;
|
||||
import main.java.com.djrapitops.plan.data.additional.HookHandler;
|
||||
|
||||
/**
|
||||
* Manages connection to other plugins.
|
||||
*
|
||||
* @author Rsl1122
|
||||
* @see AdvancedAchievementsHook
|
||||
* @see ASkyBlockHook
|
||||
* @see BanManagerHook
|
||||
* @see EssentialsHook
|
||||
* @see FactionsHook
|
||||
* @see GriefPreventionHook
|
||||
@ -45,6 +50,7 @@ public class Bridge {
|
||||
Hook[] hooks = new Hook[]{
|
||||
new AdvancedAchievementsHook(h),
|
||||
new ASkyBlockHook(h),
|
||||
new BanManagerHook(h),
|
||||
new EssentialsHook(h),
|
||||
new FactionsHook(h),
|
||||
new GriefPreventionHook(h),
|
||||
|
@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Licence is provided in the jar as license.yml also here:
|
||||
* https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/license.yml
|
||||
*/
|
||||
package com.djrapitops.pluginbridge.plan.banmanager;
|
||||
|
||||
import main.java.com.djrapitops.plan.Plan;
|
||||
import main.java.com.djrapitops.plan.data.additional.*;
|
||||
import main.java.com.djrapitops.plan.utilities.FormatUtils;
|
||||
import main.java.com.djrapitops.plan.utilities.html.Html;
|
||||
import me.confuser.banmanager.BmAPI;
|
||||
import me.confuser.banmanager.data.PlayerBanData;
|
||||
import me.confuser.banmanager.data.PlayerMuteData;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* PluginData for BanManager plugin.
|
||||
*
|
||||
* @author Rsl1122
|
||||
*/
|
||||
public class BanManagerData extends PluginData implements BanData {
|
||||
|
||||
public BanManagerData() {
|
||||
super(ContainerSize.THIRD, "BanManager");
|
||||
super.setIconColor("red");
|
||||
super.setPluginIcon("gavel");
|
||||
}
|
||||
|
||||
@Override
|
||||
public InspectContainer getPlayerData(UUID uuid, InspectContainer inspectContainer) throws Exception {
|
||||
boolean banned = BmAPI.isBanned(uuid);
|
||||
boolean muted = BmAPI.isMuted(uuid);
|
||||
|
||||
inspectContainer.addValue(getWithIcon("Banned", "gavel", "red"), banned ? "Yes" : "No");
|
||||
|
||||
if (banned) {
|
||||
PlayerBanData currentBan = BmAPI.getCurrentBan(uuid);
|
||||
String bannedBy = currentBan.getActor().getName();
|
||||
String link = Html.LINK.parse(Plan.getPlanAPI().getPlayerInspectPageLink(bannedBy), bannedBy);
|
||||
long date = currentBan.getCreated();
|
||||
long ends = currentBan.getExpires();
|
||||
String reason = currentBan.getReason();
|
||||
|
||||
inspectContainer.addValue(" " + getWithIcon("Banned by", "user", "red"), link);
|
||||
inspectContainer.addValue(" " + getWithIcon("Date", "calendar", "red"), FormatUtils.formatTimeStampYear(date));
|
||||
inspectContainer.addValue(" " + getWithIcon("Ends", "calendar-check-o", "red"), FormatUtils.formatTimeStampYear(ends));
|
||||
inspectContainer.addValue(" " + getWithIcon("Reason", "comment", "red"), reason);
|
||||
}
|
||||
inspectContainer.addValue(getWithIcon("Muted", "bell-slash-o", "deep-orange"), muted ? "Yes" : "No");
|
||||
if (muted) {
|
||||
PlayerMuteData currentMute = BmAPI.getCurrentMute(uuid);
|
||||
String mutedBy = currentMute.getActor().getName();
|
||||
String link = Html.LINK.parse(Plan.getPlanAPI().getPlayerInspectPageLink(mutedBy), mutedBy);
|
||||
long date = currentMute.getCreated();
|
||||
long ends = currentMute.getExpires();
|
||||
String reason = currentMute.getReason();
|
||||
|
||||
inspectContainer.addValue(" " + getWithIcon("Muted by", "user", "deep-orange"), link);
|
||||
inspectContainer.addValue(" " + getWithIcon("Date", "calendar", "deep-orange"), FormatUtils.formatTimeStampYear(date));
|
||||
inspectContainer.addValue(" " + getWithIcon("Ends", "calendar-check-o", "deep-orange"), FormatUtils.formatTimeStampYear(ends));
|
||||
inspectContainer.addValue(" " + getWithIcon("Reason", "comment", "deep-orange"), reason);
|
||||
}
|
||||
|
||||
return inspectContainer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AnalysisContainer getServerData(Collection<UUID> collection, AnalysisContainer analysisContainer) throws Exception {
|
||||
return analysisContainer;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBanned(UUID uuid) {
|
||||
return BmAPI.isBanned(uuid);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<UUID> filterBanned(Collection<UUID> collection) {
|
||||
return collection.stream().filter(BmAPI::isBanned).collect(Collectors.toList());
|
||||
}
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
/*
|
||||
* Licence is provided in the jar as license.yml also here:
|
||||
* https://github.com/Rsl1122/Plan-PlayerAnalytics/blob/master/Plan/src/main/resources/license.yml
|
||||
*/
|
||||
package com.djrapitops.pluginbridge.plan.banmanager;
|
||||
|
||||
import com.djrapitops.pluginbridge.plan.Hook;
|
||||
import main.java.com.djrapitops.plan.data.additional.HookHandler;
|
||||
|
||||
/**
|
||||
* Hook for BanManager plugin.
|
||||
*
|
||||
* @author Rsl1122
|
||||
*/
|
||||
public class BanManagerHook extends Hook {
|
||||
|
||||
public BanManagerHook(HookHandler hookHandler) {
|
||||
super("me.confuser.banmanager.BanManager", hookHandler);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void hook() throws NoClassDefFoundError {
|
||||
if (!enabled) {
|
||||
return;
|
||||
}
|
||||
|
||||
addPluginDataSource(new BanManagerData());
|
||||
}
|
||||
}
|
@ -48,17 +48,17 @@ public class TownyData extends PluginData {
|
||||
String townMayor = Html.LINK.parse(Plan.getPlanAPI().getPlayerInspectPageLink(mayorName), mayorName);
|
||||
|
||||
inspectContainer.addValue(getWithIcon("Town", "bank", "brown"), townName);
|
||||
inspectContainer.addValue(getWithIcon("Mayor", "user", "brown"), townMayor);
|
||||
inspectContainer.addValue(" " + getWithIcon("Mayor", "user", "brown"), townMayor);
|
||||
|
||||
try {
|
||||
Coord homeBlock = town.getHomeBlock().getCoord();
|
||||
String coordinates = "x: " + homeBlock.getX() + " z: " + homeBlock.getZ();
|
||||
inspectContainer.addValue(getWithIcon("Coordinates", "map-pin", "red"), coordinates);
|
||||
inspectContainer.addValue(" " + getWithIcon("Coordinates", "map-pin", "red"), coordinates);
|
||||
} catch (TownyException e) {
|
||||
}
|
||||
|
||||
int residents = town.getResidents().size();
|
||||
inspectContainer.addValue(getWithIcon("Residents", "users", "brown"), residents);
|
||||
inspectContainer.addValue(" " + getWithIcon("Residents", "users", "brown"), residents);
|
||||
} else {
|
||||
inspectContainer.addValue(getWithIcon("Town", "bank", "brown"), "No Town");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user