forked from Upstream/mmocore
Compatibility with new MythicDungeons API
This commit is contained in:
parent
be62d73fcb
commit
2d08d4403b
@ -109,6 +109,14 @@
|
||||
<id>simonsators Repo</id>
|
||||
<url>https://simonsator.de/repo</url>
|
||||
</repository>
|
||||
|
||||
<!-- MythicDungeons repository -->
|
||||
<repository>
|
||||
<id>aestrus-releases</id>
|
||||
<name>Aestrus's Repository</name>
|
||||
<url>https://maven.aestrus.io/releases</url>
|
||||
</repository>
|
||||
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
@ -144,6 +152,13 @@
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.playavalon</groupId>
|
||||
<artifactId>MythicDungeons</artifactId>
|
||||
<version>1.3.0-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>fr.phoenixdevt</groupId>
|
||||
<artifactId>Profile-API</artifactId>
|
||||
@ -216,13 +231,6 @@
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.playavalon</groupId>
|
||||
<artifactId>DungeonParties</artifactId>
|
||||
<version>1.0</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alessiodp</groupId>
|
||||
<artifactId>Parties</artifactId>
|
||||
|
@ -17,6 +17,10 @@ public interface AbstractParty {
|
||||
*/
|
||||
List<PlayerData> getOnlineMembers();
|
||||
|
||||
/**
|
||||
* @deprecated Prefer using {@link #getOnlineMembers()}
|
||||
*/
|
||||
@Deprecated
|
||||
default PlayerData getMember(int n) {
|
||||
return getOnlineMembers().get(n);
|
||||
}
|
||||
|
@ -7,15 +7,15 @@ import org.bukkit.Bukkit;
|
||||
import javax.inject.Provider;
|
||||
|
||||
public enum PartyModuleType {
|
||||
MMOCORE("MMOCore", MMOCorePartyModule::new),
|
||||
// DUNGEONS("Dungeons", DungeonsPartyModule::new),
|
||||
DUNGEONSXL("DungeonsXL", DungeonsXLPartyModule::new),
|
||||
MCMMO("mcMMO", McMMOPartyModule::new),
|
||||
MMOCORE("MMOCore", MMOCorePartyModule::new),
|
||||
PARTIES("Parties", PartiesPartyModule::new),
|
||||
MYTHICDUNGEONS("MythicDungeons", DungeonPartiesPartyModule::new),
|
||||
MYTHICDUNGEONS("MythicDungeons", MythicDungeonsPartyModule::new),
|
||||
OBTEAM("OBTeam", OBTeamPartyModule::new),
|
||||
PARTY_AND_FRIENDS("PartyAndFriends", PAFPartyModule::new),
|
||||
PARTY_AND_FRIENDS_BUNGEECORD_VELOCITY("Spigot-Party-API-PAF", PAFProxyPartyModule::new),
|
||||
PARTIES("Parties", PartiesPartyModule::new),
|
||||
;
|
||||
|
||||
private final String pluginName;
|
||||
|
@ -3,9 +3,10 @@ package net.Indyuce.mmocore.party.compat;
|
||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||
import net.Indyuce.mmocore.party.AbstractParty;
|
||||
import net.Indyuce.mmocore.party.PartyModule;
|
||||
import net.playavalon.avnparty.AvNParty;
|
||||
import net.playavalon.avnparty.party.Party;
|
||||
import net.playavalon.avnparty.player.AvalonPlayer;
|
||||
import net.playavalon.mythicdungeons.api.MythicDungeonsService;
|
||||
import net.playavalon.mythicdungeons.player.party.partysystem.MythicParty;
|
||||
import org.apache.commons.lang3.Validate;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@ -13,26 +14,33 @@ import org.jetbrains.annotations.Nullable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DungeonPartiesPartyModule implements PartyModule, Listener {
|
||||
public class MythicDungeonsPartyModule implements PartyModule, Listener {
|
||||
private final MythicDungeonsService hook;
|
||||
|
||||
public MythicDungeonsPartyModule() {
|
||||
this.hook = Bukkit.getServer().getServicesManager().load(MythicDungeonsService.class);
|
||||
Validate.notNull(hook, "Could not load compatibility with MythicDungeons");
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public AbstractParty getParty(PlayerData playerData) {
|
||||
final @Nullable Party party = AvNParty.plugin.players.get(playerData.getPlayer()).getParty();
|
||||
final MythicParty party = hook.getParty(playerData.getPlayer());
|
||||
return party == null ? null : new CustomParty(party);
|
||||
}
|
||||
|
||||
class CustomParty implements AbstractParty {
|
||||
private final Party party;
|
||||
|
||||
public CustomParty(Party party) {
|
||||
static class CustomParty implements AbstractParty {
|
||||
private final MythicParty party;
|
||||
|
||||
public CustomParty(MythicParty party) {
|
||||
this.party = party;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasMember(Player player) {
|
||||
for (AvalonPlayer member : party.getPlayers())
|
||||
if (member.getPlayer().getUniqueId().equals(player.getUniqueId())) return true;
|
||||
for (Player member : party.getPlayers())
|
||||
if (member.getUniqueId().equals(player.getUniqueId())) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -40,7 +48,7 @@ public class DungeonPartiesPartyModule implements PartyModule, Listener {
|
||||
public List<PlayerData> getOnlineMembers() {
|
||||
final List<PlayerData> list = new ArrayList<>();
|
||||
|
||||
for (AvalonPlayer member : party.getPlayers())
|
||||
for (Player member : party.getPlayers())
|
||||
try {
|
||||
list.add(PlayerData.get(member.getPlayer()));
|
||||
} catch (Exception ignored) {
|
Loading…
Reference in New Issue
Block a user