mirror of
https://github.com/RonanPlugins/BetterRTP.git
synced 2025-08-17 17:15:47 +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>
|
||||
<artifactId>BetterRTPAddons</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.6</version>
|
||||
<version>1.7</version>
|
||||
|
||||
<properties>
|
||||
<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.references.customEvents.RTP_TeleportEvent;
|
||||
import me.SuperRonanCraft.BetterRTP.references.customEvents.RTP_TeleportPostEvent;
|
||||
import me.SuperRonanCraft.BetterRTP.references.rtpinfo.CooldownData;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
@ -18,7 +19,7 @@ import java.util.List;
|
||||
public class PartyData {
|
||||
|
||||
@Getter private final Player leader;
|
||||
private HashMap<Player, Boolean> members = new HashMap<>();
|
||||
private final HashMap<Player, Boolean> members = new HashMap<>();
|
||||
|
||||
public PartyData(Player leader) {
|
||||
this.leader = leader;
|
||||
@ -69,16 +70,26 @@ public class PartyData {
|
||||
}
|
||||
|
||||
public void tpAll(RTP_TeleportPostEvent e) {
|
||||
CooldownData cooldownData = BetterRTP.getInstance().getPlayerDataManager().getData(getLeader()).getCooldown();
|
||||
members.forEach((p, ready) -> {
|
||||
Location loc = e.getLocation();
|
||||
//Async tp players
|
||||
PaperLib.teleportAsync(p, loc, PlayerTeleportEvent.TeleportCause.PLUGIN).thenRun(() ->
|
||||
BetterRTP.getInstance().getText().getSuccessBypass(p,
|
||||
String.valueOf(loc.getBlockX()),
|
||||
String.valueOf(loc.getBlockY()),
|
||||
String.valueOf(loc.getBlockZ()),
|
||||
loc.getWorld().getName(),
|
||||
1));
|
||||
if (!p.equals(getLeader())) {
|
||||
Location loc = e.getLocation();
|
||||
//Async tp players
|
||||
PaperLib.teleportAsync(p, loc, PlayerTeleportEvent.TeleportCause.PLUGIN).thenRun(() ->
|
||||
BetterRTP.getInstance().getText().getSuccessBypass(p,
|
||||
String.valueOf(loc.getBlockX()),
|
||||
String.valueOf(loc.getBlockY()),
|
||||
String.valueOf(loc.getBlockZ()),
|
||||
loc.getWorld().getName(),
|
||||
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);
|
||||
} //else rtp!
|
||||
} else {
|
||||
AddonParty.getInstance().msgs.getOnlyLeader(e.getPlayer(), party.getLeader());
|
||||
AddonParty.getInstance().msgs.getOnlyLeader(e.getPlayer(), party.getLeader().getName());
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
@ -8,14 +8,21 @@ import org.bukkit.entity.Player;
|
||||
public class PartyMessages implements AddonsMessages {
|
||||
private static final String preM = "Party.";
|
||||
|
||||
public void getOnlyLeader(CommandSender sendi, Player leader) {
|
||||
sms(sendi, getLang().getString(preM + "OnlyLeader").replace("%name%", leader.getName()));
|
||||
public void getOnlyLeader(CommandSender sendi, String leader) {
|
||||
sms(sendi, getLang().getString(preM + "OnlyLeader").replace("%name%", leader));
|
||||
}
|
||||
|
||||
public String getHelp() {
|
||||
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
|
||||
|
||||
public void getInvite(CommandSender sendi, String name) {
|
||||
@ -24,22 +31,45 @@ public class PartyMessages implements AddonsMessages {
|
||||
|
||||
//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) {
|
||||
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
|
||||
public void getMembers_NotReady(CommandSender sendi, String 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) {
|
||||
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
|
||||
public void getTeleporting(CommandSender sendi) {
|
||||
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'
|
||||
Player: '&cWhoops! &7Seems like their is no player by the name of &a%player% &7online!'
|
||||
Party:
|
||||
NotInParty: '&cYou can''t do this! You are not in a party...'
|
||||
Invite: '&f%player_name% has been invited to an 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!'
|
||||
Teleport: '&fYou''ve been rtp''d because of your party!'
|
||||
NotExist: '&eThe player &f%name% &eis either offline or doesn''t exist!'
|
||||
Members:
|
||||
Ready: '&eYou have readied up for the next party rtp!'
|
||||
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:
|
||||
List:
|
||||
Prefix: '&e&m-----&6&l BetterRTP &7&lAddons &8| Addons Info &e&m-----'
|
||||
|
Loading…
x
Reference in New Issue
Block a user