-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
309 additions
and
4 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
36 changes: 36 additions & 0 deletions
36
src/main/java/me/pikamug/unite/api/events/betterteams/PartyCreateEvent_BetterTeams.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,36 @@ | ||
package me.pikamug.unite.api.events.betterteams; | ||
|
||
import com.booksaw.betterTeams.customEvents.CreateTeamEvent; | ||
import me.pikamug.unite.api.events.PartyCreateEvent; | ||
import me.pikamug.unite.api.objects.PartyProvider; | ||
import org.bukkit.event.Event; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
import java.util.Objects; | ||
import java.util.UUID; | ||
|
||
public class PartyCreateEvent_BetterTeams extends PartyCreateEvent { | ||
private final PartyProvider partyProvider; | ||
private final CreateTeamEvent event; | ||
|
||
public PartyCreateEvent_BetterTeams(PartyProvider partyProvider, Event event, boolean async) { | ||
super(async); | ||
this.partyProvider = partyProvider; | ||
this.event = (CreateTeamEvent) event; | ||
} | ||
|
||
@Override | ||
public Event getPluginEvent() { | ||
return event; | ||
} | ||
|
||
@Override | ||
public @NotNull PartyProvider getPartyProvider() { | ||
return partyProvider; | ||
} | ||
|
||
@Override | ||
public UUID getCreator() { | ||
return Objects.requireNonNull(event.getPlayer()).getUniqueId(); | ||
} | ||
} |
36 changes: 36 additions & 0 deletions
36
src/main/java/me/pikamug/unite/api/events/betterteams/PartyDeleteEvent_BetterTeams.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,36 @@ | ||
package me.pikamug.unite.api.events.betterteams; | ||
|
||
import com.booksaw.betterTeams.customEvents.DisbandTeamEvent; | ||
import me.pikamug.unite.api.events.PartyDeleteEvent; | ||
import me.pikamug.unite.api.objects.PartyProvider; | ||
import org.bukkit.event.Event; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
import java.util.Objects; | ||
import java.util.UUID; | ||
|
||
public class PartyDeleteEvent_BetterTeams extends PartyDeleteEvent { | ||
private final PartyProvider partyProvider; | ||
private final DisbandTeamEvent event; | ||
|
||
public PartyDeleteEvent_BetterTeams(PartyProvider partyProvider, Event event, boolean async) { | ||
super(async); | ||
this.partyProvider = partyProvider; | ||
this.event = (DisbandTeamEvent) event; | ||
} | ||
|
||
@Override | ||
public Event getPluginEvent() { | ||
return event; | ||
} | ||
|
||
@Override | ||
public @NotNull PartyProvider getPartyProvider() { | ||
return partyProvider; | ||
} | ||
|
||
@Override | ||
public UUID getDisbander() { | ||
return Objects.requireNonNull(event.getPlayer()).getUniqueId(); | ||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/me/pikamug/unite/api/events/betterteams/PartyJoinEvent_BetterTeams.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,35 @@ | ||
package me.pikamug.unite.api.events.betterteams; | ||
|
||
import com.booksaw.betterTeams.customEvents.PlayerJoinTeamEvent; | ||
import me.pikamug.unite.api.events.PartyJoinEvent; | ||
import me.pikamug.unite.api.objects.PartyProvider; | ||
import org.bukkit.event.Event; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
import java.util.UUID; | ||
|
||
public class PartyJoinEvent_BetterTeams extends PartyJoinEvent { | ||
private final PartyProvider partyProvider; | ||
private final PlayerJoinTeamEvent event; | ||
|
||
public PartyJoinEvent_BetterTeams(PartyProvider partyProvider, Event event, boolean async) { | ||
super(async); | ||
this.partyProvider = partyProvider; | ||
this.event = (PlayerJoinTeamEvent) event; | ||
} | ||
|
||
@Override | ||
public Event getPluginEvent() { | ||
return event; | ||
} | ||
|
||
@Override | ||
public @NotNull PartyProvider getPartyProvider() { | ||
return partyProvider; | ||
} | ||
|
||
@Override | ||
public UUID getPlayer() { | ||
return event.getPlayer().getUniqueId(); | ||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/me/pikamug/unite/api/events/betterteams/PartyLeaveEvent_BetterTeams.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,35 @@ | ||
package me.pikamug.unite.api.events.betterteams; | ||
|
||
import com.booksaw.betterTeams.customEvents.PlayerLeaveTeamEvent; | ||
import me.pikamug.unite.api.events.PartyLeaveEvent; | ||
import me.pikamug.unite.api.objects.PartyProvider; | ||
import org.bukkit.event.Event; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
import java.util.UUID; | ||
|
||
public class PartyLeaveEvent_BetterTeams extends PartyLeaveEvent { | ||
private final PartyProvider partyProvider; | ||
private final PlayerLeaveTeamEvent event; | ||
|
||
public PartyLeaveEvent_BetterTeams(PartyProvider partyProvider, Event event, boolean async) { | ||
super(async); | ||
this.partyProvider = partyProvider; | ||
this.event = (PlayerLeaveTeamEvent) event; | ||
} | ||
|
||
@Override | ||
public Event getPluginEvent() { | ||
return event; | ||
} | ||
|
||
@Override | ||
public @NotNull PartyProvider getPartyProvider() { | ||
return partyProvider; | ||
} | ||
|
||
@Override | ||
public UUID getPlayer() { | ||
return event.getPlayer().getUniqueId(); | ||
} | ||
} |
155 changes: 155 additions & 0 deletions
155
src/main/java/me/pikamug/unite/api/objects/plugins/PartyProvider_BetterTeams.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,155 @@ | ||
package me.pikamug.unite.api.objects.plugins; | ||
|
||
import com.booksaw.betterTeams.Main; | ||
import com.booksaw.betterTeams.PlayerRank; | ||
import com.booksaw.betterTeams.Team; | ||
import com.booksaw.betterTeams.customEvents.CreateTeamEvent; | ||
import com.booksaw.betterTeams.customEvents.DisbandTeamEvent; | ||
import com.booksaw.betterTeams.customEvents.PlayerJoinTeamEvent; | ||
import com.booksaw.betterTeams.customEvents.PlayerLeaveTeamEvent; | ||
import me.pikamug.unite.api.events.PartyCreateEvent; | ||
import me.pikamug.unite.api.events.PartyDeleteEvent; | ||
import me.pikamug.unite.api.events.PartyJoinEvent; | ||
import me.pikamug.unite.api.events.PartyLeaveEvent; | ||
import me.pikamug.unite.api.events.betterteams.PartyCreateEvent_BetterTeams; | ||
import me.pikamug.unite.api.events.betterteams.PartyDeleteEvent_BetterTeams; | ||
import me.pikamug.unite.api.events.betterteams.PartyJoinEvent_BetterTeams; | ||
import me.pikamug.unite.api.events.betterteams.PartyLeaveEvent_BetterTeams; | ||
import me.pikamug.unite.api.objects.PartyProvider; | ||
import org.bukkit.Bukkit; | ||
import org.bukkit.OfflinePlayer; | ||
import org.bukkit.entity.Player; | ||
import org.bukkit.event.EventHandler; | ||
import org.bukkit.event.EventPriority; | ||
import org.bukkit.event.Listener; | ||
import org.bukkit.event.server.PluginDisableEvent; | ||
import org.bukkit.event.server.PluginEnableEvent; | ||
import org.bukkit.plugin.Plugin; | ||
import org.jetbrains.annotations.NotNull; | ||
|
||
import java.util.Objects; | ||
import java.util.Set; | ||
import java.util.UUID; | ||
import java.util.stream.Collectors; | ||
|
||
public class PartyProvider_BetterTeams extends PartyProvider { | ||
private Main betterTeams; | ||
private final String pluginName = "BetterTeams"; | ||
|
||
public PartyProvider_BetterTeams(Plugin plugin) { | ||
this.plugin = plugin; | ||
plugin.getServer().getPluginManager().registerEvents(new PartyServerListener(this), plugin); | ||
|
||
if (betterTeams == null) { | ||
betterTeams = (Main) Bukkit.getPluginManager().getPlugin(pluginName); | ||
} | ||
} | ||
|
||
public class PartyServerListener implements Listener { | ||
final PartyProvider_BetterTeams partyPlugin; | ||
|
||
public PartyServerListener(PartyProvider_BetterTeams partyPlugin) { | ||
this.partyPlugin = partyPlugin; | ||
} | ||
|
||
@EventHandler(priority = EventPriority.MONITOR) | ||
public void onPluginEnable(PluginEnableEvent event) { | ||
if (event.getPlugin().getDescription().getName().equals(pluginName)) { | ||
log.info(String.format("[%s][Party] %s hooked.", plugin.getDescription().getName(), partyPlugin.pluginName)); | ||
} | ||
} | ||
|
||
@EventHandler(priority = EventPriority.MONITOR) | ||
public void onPluginDisable(PluginDisableEvent event) { | ||
if (event.getPlugin().getDescription().getName().equals(pluginName)) { | ||
log.info(String.format("[%s][Party] %s un-hooked.", plugin.getDescription().getName(), partyPlugin.pluginName)); | ||
} | ||
} | ||
|
||
@EventHandler | ||
public void onPartyCreate(final CreateTeamEvent pluginEvent) { | ||
final PartyCreateEvent event = new PartyCreateEvent_BetterTeams(partyPlugin, pluginEvent, pluginEvent.isAsynchronous()); | ||
plugin.getServer().getPluginManager().callEvent(event); | ||
} | ||
|
||
@EventHandler | ||
public void onPartyDelete(final DisbandTeamEvent pluginEvent) { | ||
final PartyDeleteEvent event = new PartyDeleteEvent_BetterTeams(partyPlugin, pluginEvent, pluginEvent.isAsynchronous()); | ||
plugin.getServer().getPluginManager().callEvent(event); | ||
} | ||
|
||
@EventHandler | ||
public void onPartyJoin(final PlayerJoinTeamEvent pluginEvent) { | ||
final PartyJoinEvent event = new PartyJoinEvent_BetterTeams(partyPlugin, pluginEvent, pluginEvent.isAsynchronous()); | ||
plugin.getServer().getPluginManager().callEvent(event); | ||
} | ||
|
||
@EventHandler | ||
public void onPartyLeave(final PlayerLeaveTeamEvent pluginEvent) { | ||
final PartyLeaveEvent event = new PartyLeaveEvent_BetterTeams(partyPlugin, pluginEvent, pluginEvent.isAsynchronous()); | ||
plugin.getServer().getPluginManager().callEvent(event); | ||
} | ||
} | ||
|
||
@Override | ||
public boolean isPluginEnabled() { | ||
if (betterTeams == null) { | ||
return false; | ||
} | ||
if (plugin.getServer().getPluginManager().getPlugin(pluginName) != null) { | ||
return Objects.requireNonNull(plugin.getServer().getPluginManager().getPlugin(pluginName)).isEnabled(); | ||
} | ||
return false; | ||
} | ||
|
||
@Override | ||
public @NotNull String getPluginName() { | ||
return pluginName; | ||
} | ||
|
||
@Override | ||
public boolean createParty(String partyName, UUID playerId) { | ||
return Team.getTeamManager().createNewTeam(partyName, plugin.getServer().getPlayer(playerId)) != null; | ||
} | ||
|
||
@Override | ||
public boolean isPlayerInParty(UUID playerId) { | ||
return Team.getTeamManager().isInTeam(plugin.getServer().getOfflinePlayer(playerId)); | ||
} | ||
|
||
@Override | ||
public boolean areInSameParty(UUID playerId1, UUID playerId2) { | ||
final Team one = Team.getTeam(plugin.getServer().getOfflinePlayer(playerId1)); | ||
final Team two = Team.getTeam(plugin.getServer().getOfflinePlayer(playerId2)); | ||
return one != null && two != null && one.getID().equals(two.getID()); | ||
} | ||
|
||
@Override | ||
public String getPartyName(UUID playerId) { | ||
return Team.getTeam(plugin.getServer().getOfflinePlayer(playerId)).getName(); | ||
} | ||
|
||
@Override | ||
public String getPartyId(UUID playerId) { | ||
return Team.getTeam(plugin.getServer().getOfflinePlayer(playerId)).getID().toString(); | ||
} | ||
|
||
@Override | ||
public UUID getLeader(String partyId) { | ||
final Team team = Team.getTeam(UUID.fromString(partyId)); | ||
if (team != null) { | ||
return team.getMembers().getRank(PlayerRank.OWNER).get(0).getPlayer().getUniqueId(); | ||
} | ||
return null; | ||
} | ||
|
||
@Override | ||
public Set<UUID> getMembers(String partyId) { | ||
return Team.getTeam(UUID.fromString(partyId)).getMembers().getOfflinePlayers().stream().map(OfflinePlayer::getUniqueId).collect(Collectors.toSet()); | ||
} | ||
|
||
@Override | ||
public Set<UUID> getOnlineMembers(String partyId) { | ||
return Team.getTeam(UUID.fromString(partyId)).getOnlineMembers().stream().map(Player::getUniqueId).collect(Collectors.toSet()); | ||
} | ||
} |
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