mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-18 09:35:50 +00:00
party leader can now kick members + usage messages
This commit is contained in:
parent
66701c490f
commit
1ec31563d8
@ -7,7 +7,7 @@
|
|||||||
<groupId>me.SuperRonanCraft</groupId>
|
<groupId>me.SuperRonanCraft</groupId>
|
||||||
<artifactId>BetterRTPAddons</artifactId>
|
<artifactId>BetterRTPAddons</artifactId>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<version>1.6</version>
|
<version>1.7</version>
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
|
@ -6,6 +6,7 @@ import me.SuperRonanCraft.BetterRTP.BetterRTP;
|
|||||||
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
import me.SuperRonanCraft.BetterRTP.player.rtp.RTP_TYPE;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportEvent;
|
||||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||||
|
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
@ -18,7 +19,7 @@ import java.util.List;
|
|||||||
public class PartyData {
|
public class PartyData {
|
||||||
|
|
||||||
@Getter private final Player leader;
|
@Getter private final Player leader;
|
||||||
private HashMap<Player, Boolean> members = new HashMap<>();
|
private final HashMap<Player, Boolean> members = new HashMap<>();
|
||||||
|
|
||||||
public PartyData(Player leader) {
|
public PartyData(Player leader) {
|
||||||
this.leader = leader;
|
this.leader = leader;
|
||||||
@ -69,7 +70,9 @@ public class PartyData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void tpAll(RTP_TeleportPostEvent e) {
|
public void tpAll(RTP_TeleportPostEvent e) {
|
||||||
|
CooldownData cooldownData = BetterRTP.getInstance().getPlayerDataManager().getData(getLeader()).getCooldown();
|
||||||
members.forEach((p, ready) -> {
|
members.forEach((p, ready) -> {
|
||||||
|
if (!p.equals(getLeader())) {
|
||||||
Location loc = e.getLocation();
|
Location loc = e.getLocation();
|
||||||
//Async tp players
|
//Async tp players
|
||||||
PaperLib.teleportAsync(p, loc, PlayerTeleportEvent.TeleportCause.PLUGIN).thenRun(() ->
|
PaperLib.teleportAsync(p, loc, PlayerTeleportEvent.TeleportCause.PLUGIN).thenRun(() ->
|
||||||
@ -79,6 +82,14 @@ public class PartyData {
|
|||||||
String.valueOf(loc.getBlockZ()),
|
String.valueOf(loc.getBlockZ()),
|
||||||
loc.getWorld().getName(),
|
loc.getWorld().getName(),
|
||||||
1));
|
1));
|
||||||
|
//Set cooldowns
|
||||||
|
if (cooldownData != null)
|
||||||
|
BetterRTP.getInstance().getPlayerDataManager().getData(p).setCooldown(new CooldownData(p.getUniqueId(), cooldownData.getTime(), cooldownData.getUses()));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isMember(Player member) {
|
||||||
|
return this.members.containsKey(member);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ public class PartyHandler implements Listener {
|
|||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
} //else rtp!
|
} //else rtp!
|
||||||
} else {
|
} else {
|
||||||
AddonParty.getInstance().msgs.getOnlyLeader(e.getPlayer(), party.getLeader());
|
AddonParty.getInstance().msgs.getOnlyLeader(e.getPlayer(), party.getLeader().getName());
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,14 +8,21 @@ import org.bukkit.entity.Player;
|
|||||||
public class PartyMessages implements AddonsMessages {
|
public class PartyMessages implements AddonsMessages {
|
||||||
private static final String preM = "Party.";
|
private static final String preM = "Party.";
|
||||||
|
|
||||||
public void getOnlyLeader(CommandSender sendi, Player leader) {
|
public void getOnlyLeader(CommandSender sendi, String leader) {
|
||||||
sms(sendi, getLang().getString(preM + "OnlyLeader").replace("%name%", leader.getName()));
|
sms(sendi, getLang().getString(preM + "OnlyLeader").replace("%name%", leader));
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getHelp() {
|
public String getHelp() {
|
||||||
return getLang().getString("Help.Party");
|
return getLang().getString("Help.Party");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getNotInParty(CommandSender sendi) {
|
||||||
|
sms(sendi, getLang().getString(preM + "NotInParty"));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getNotExist(CommandSender sendi, String name) {
|
||||||
|
sms(sendi, getLang().getString(preM + "NotExist").replace("%name%", name));
|
||||||
|
}
|
||||||
//Invite
|
//Invite
|
||||||
|
|
||||||
public void getInvite(CommandSender sendi, String name) {
|
public void getInvite(CommandSender sendi, String name) {
|
||||||
@ -24,22 +31,45 @@ public class PartyMessages implements AddonsMessages {
|
|||||||
|
|
||||||
//Usages
|
//Usages
|
||||||
|
|
||||||
public void usageRemove(CommandSender sendi, String label) {
|
|
||||||
sms(sendi, getLang().getString(preM + "Usage.Remove").replace("%command%", label));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void usageBase(CommandSender sendi, String label) {
|
public void usageBase(CommandSender sendi, String label) {
|
||||||
sms(sendi, getLang().getString(preM + "Usage.Base").replace("%command%", label));
|
sms(sendi, getLang().getString(preM + "Usage.Base").replace("%command%", label));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void usageKick(CommandSender sendi, String label) {
|
||||||
|
sms(sendi, getLang().getString(preM + "Usage.Kick").replace("%command%", label));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void usageAccept(CommandSender sendi, String label) {
|
||||||
|
sms(sendi, getLang().getString(preM + "Usage.Accept").replace("%command%", label));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void usageInvite(CommandSender sendi, String label) {
|
||||||
|
sms(sendi, getLang().getString(preM + "Usage.Invite").replace("%command%", label));
|
||||||
|
}
|
||||||
|
|
||||||
//Members
|
//Members
|
||||||
public void getMembers_NotReady(CommandSender sendi, String members) {
|
public void getMembers_NotReady(CommandSender sendi, String members) {
|
||||||
sms(sendi, getLang().getString(preM + "Members.NotReady").replace("%members%", members));
|
sms(sendi, getLang().getString(preM + "Members.NotReady").replace("%members%", members));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void getMembers_NotInParty(CommandSender sendi, String name) {
|
||||||
|
sms(sendi, getLang().getString(preM + "Members.NotInParty").replace("%name%", name));
|
||||||
|
}
|
||||||
|
|
||||||
public void getMembers_Ready(CommandSender sendi) {
|
public void getMembers_Ready(CommandSender sendi) {
|
||||||
sms(sendi, getLang().getString(preM + "Members.Ready"));
|
sms(sendi, getLang().getString(preM + "Members.Ready"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Kick
|
||||||
|
|
||||||
|
public void getKick_Kicked(CommandSender sendi, String kicked) {
|
||||||
|
sms(sendi, getLang().getString(preM + "Kick.Kicked").replace("%name%", kicked));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getKick_Notification(CommandSender sendi, String leader) {
|
||||||
|
sms(sendi, getLang().getString(preM + "Kick.Notification").replace("%name%", leader));
|
||||||
|
}
|
||||||
|
|
||||||
//Teleporting
|
//Teleporting
|
||||||
public void getTeleporting(CommandSender sendi) {
|
public void getTeleporting(CommandSender sendi) {
|
||||||
sms(sendi, getLang().getString(preM + "Teleport"));
|
sms(sendi, getLang().getString(preM + "Teleport"));
|
||||||
|
@ -0,0 +1,36 @@
|
|||||||
|
package me.SuperRonanCraft.BetterRTPAddons.addons.partyrtp.cmds;
|
||||||
|
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.addons.partyrtp.AddonParty;
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.addons.partyrtp.HelperParty;
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.addons.partyrtp.PartyData;
|
||||||
|
import me.SuperRonanCraft.BetterRTPAddons.addons.partyrtp.PartyMessages;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
public class PartyCommand_Kick implements PartyCommands {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(CommandSender sendi, String label, String[] args, AddonParty addon) {
|
||||||
|
Player p = (Player) sendi;
|
||||||
|
PartyMessages msgs = AddonParty.getInstance().msgs;
|
||||||
|
PartyData party = HelperParty.getParty(p);
|
||||||
|
if (party != null) {
|
||||||
|
if (party.isLeader(p)) {
|
||||||
|
if (args.length >= 3) {
|
||||||
|
Player member = Bukkit.getPlayer(args[2]);
|
||||||
|
if (member != null) {
|
||||||
|
if (party.isMember(member)) {
|
||||||
|
msgs.getKick_Kicked(sendi, member.getName());
|
||||||
|
} else
|
||||||
|
msgs.getMembers_NotInParty(sendi, member.getName());
|
||||||
|
} else
|
||||||
|
msgs.getNotExist(sendi, args[2]);
|
||||||
|
} else
|
||||||
|
msgs.usageKick(sendi, label);
|
||||||
|
} else
|
||||||
|
msgs.getOnlyLeader(sendi, party.getLeader().getName());
|
||||||
|
} else
|
||||||
|
msgs.getNotInParty(sendi);
|
||||||
|
}
|
||||||
|
}
|
@ -28,13 +28,25 @@ MagicStick:
|
|||||||
Given: '&7A &dMagic Stick&7 has been given to you'
|
Given: '&7A &dMagic Stick&7 has been given to you'
|
||||||
Player: '&cWhoops! &7Seems like their is no player by the name of &a%player% &7online!'
|
Player: '&cWhoops! &7Seems like their is no player by the name of &a%player% &7online!'
|
||||||
Party:
|
Party:
|
||||||
|
NotInParty: '&cYou can''t do this! You are not in a party...'
|
||||||
Invite: '&f%player_name% has been invited to an rtp party!'
|
Invite: '&f%player_name% has been invited to an rtp party!'
|
||||||
Invited: '&f%player_name% has invited you to join their rtp party!'
|
Invited: '&f%player_name% has invited you to join their rtp party!'
|
||||||
OnlyLeader: '&cOnly the leader &f%name% &ccan make an RTP request!'
|
OnlyLeader: '&cOnly the leader &f%name% &ccan make an RTP request!'
|
||||||
Teleport: '&fYou''ve been rtp''d because of your party!'
|
Teleport: '&fYou''ve been rtp''d because of your party!'
|
||||||
|
NotExist: '&eThe player &f%name% &eis either offline or doesn''t exist!'
|
||||||
Members:
|
Members:
|
||||||
Ready: '&eYou have readied up for the next party rtp!'
|
Ready: '&eYou have readied up for the next party rtp!'
|
||||||
NotReady: '&cNot all members are ready! &7%members%'
|
NotReady: '&cNot all members are ready! &7%members%'
|
||||||
|
NotInParty: '&eThe player &f%name% &eis not in the party!'
|
||||||
|
Kick:
|
||||||
|
Kicked: '&fPlayer &e%name% &fhas been kicked!'
|
||||||
|
Notification: '&cYou''ve been kicked from an RTP party!'
|
||||||
|
LeaderQuit: '&cRTP Party leader has quit the game, party destroyed!'
|
||||||
|
Usage:
|
||||||
|
Base: '&cUsage: &7/%command% party <invite, accept, leave, kick>'
|
||||||
|
Accept: '&cUsage: &7/%command% portals accept <player_name>'
|
||||||
|
Invite: '&cUsage: &7/%command% portals invite <player_name>'
|
||||||
|
Kick: '&cUsage: &7/%command% portals kick <player_name>'
|
||||||
Addons:
|
Addons:
|
||||||
List:
|
List:
|
||||||
Prefix: '&e&m-----&6&l BetterRTP &7&lAddons &8| Addons Info &e&m-----'
|
Prefix: '&e&m-----&6&l BetterRTP &7&lAddons &8| Addons Info &e&m-----'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user