This commit is contained in:
parent
c9c27d788e
commit
be36204315
|
@ -18,6 +18,7 @@ import org.bukkit.entity.Player;
|
|||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import xyz.twovb.sgm.commands.handlers.InvalidArgsHandler;
|
||||
import xyz.twovb.sgm.commands.handlers.NoPermissionsHandler;
|
||||
|
@ -85,6 +86,11 @@ public final class SGM extends JavaPlugin implements Listener {
|
|||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onFoodLose(FoodLevelChangeEvent event) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
|
||||
private void loadScoreboard() {
|
||||
try {
|
||||
scoreboardLibrary = ScoreboardLibrary.loadScoreboardLibrary(this);
|
||||
|
|
|
@ -81,6 +81,39 @@ public class GameCommand {
|
|||
new JoinGameGui().getGui().show(player);
|
||||
}
|
||||
|
||||
@Execute(name = "leave")
|
||||
void leave(@Context Player player) {
|
||||
Minigame game = SGM.getInstance().getGameManager().findGame(player);
|
||||
if (game == null) {
|
||||
CustomPlayer cPlayer = new CustomPlayer(player);
|
||||
cPlayer.sendMessage(SGM.getInstance().getMessages().getString("sgm.game.not-found"));
|
||||
} else {
|
||||
game.removePlayer(player);
|
||||
}
|
||||
}
|
||||
|
||||
@Execute(name = "stop")
|
||||
void stop(@Context Player player) {
|
||||
Minigame game = SGM.getInstance().getGameManager().findGame(player);
|
||||
if (game == null) {
|
||||
CustomPlayer cPlayer = new CustomPlayer(player);
|
||||
cPlayer.sendMessage(SGM.getInstance().getMessages().getString("sgm.game.not-found"));
|
||||
} else {
|
||||
game.stop();
|
||||
}
|
||||
}
|
||||
|
||||
@Execute(name = "forcestop")
|
||||
@Permission("sgm.games.forcestop")
|
||||
void endGame(@Context CommandSender sender, @Arg("id") String id) {
|
||||
Minigame game = SGM.getInstance().getGameManager().findGame(UUID.fromString(id));
|
||||
if (game == null) {
|
||||
sender.sendMessage(ChatUtils.translate(SGM.getInstance().getMessages().getString("sgm.game.not-found")));
|
||||
} else {
|
||||
game.stop();
|
||||
}
|
||||
}
|
||||
|
||||
@Execute(name = "addplayer")
|
||||
@Permission("sgm.games.addplayer")
|
||||
void testjoin(@Context CommandSender sender, @Arg("player") Player target, @Arg("id") String id) {
|
||||
|
|
|
@ -73,8 +73,9 @@ public class LevelCommand {
|
|||
void export(@Context CommandSender sender, @Arg("name") String name) {
|
||||
try {
|
||||
SGM.getInstance().getLevelManager().exportLevel(name);
|
||||
sender.sendMessage(ChatUtils.translate(PlaceholderManager.setPlaceholders(SGM.getInstance().getMessages().getString("sgm.level.export.done"), sender).replace("%level%", name)));
|
||||
} catch (IOException e) {
|
||||
SGM.getInstance().getCLogger().error(e);
|
||||
sender.sendMessage(ChatUtils.translate(PlaceholderManager.setPlaceholders(SGM.getInstance().getMessages().getString("sgm.level.not-found"), sender)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ import net.megavex.scoreboardlibrary.api.team.TeamDisplay;
|
|||
import net.megavex.scoreboardlibrary.api.team.TeamManager;
|
||||
import net.megavex.scoreboardlibrary.api.team.enums.CollisionRule;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.attribute.Attribute;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.configuration.ConfigurationSection;
|
||||
|
@ -279,6 +280,7 @@ public class CTB implements Minigame {
|
|||
HandlerList.unregisterAll(this);
|
||||
for (Player player : gameWorld.getPlayers()) {
|
||||
player.teleport(Bukkit.getServer().getWorlds().get(0).getSpawnLocation());
|
||||
player.getInventory().clear();
|
||||
}
|
||||
Bukkit.unloadWorld(gameWorld, false);
|
||||
if (teamManager != null) {
|
||||
|
@ -306,6 +308,7 @@ public class CTB implements Minigame {
|
|||
sb.removePlayer(player);
|
||||
removePlayerFromTeams(player);
|
||||
player.setRespawnLocation(Bukkit.getWorlds().get(0).getSpawnLocation());
|
||||
player.getInventory().clear();
|
||||
players.remove(player);
|
||||
}
|
||||
|
||||
|
@ -362,7 +365,7 @@ public class CTB implements Minigame {
|
|||
|
||||
private void releasePlayer(Player tagged, Player tagger) {
|
||||
playerStateMap.replace(tagger, CtbData.PlayerState.Tagging, CtbData.PlayerState.Free);
|
||||
playerStateMap.replace(tagged, CtbData.PlayerState.Tagged, CtbData.PlayerState.Invulnerable);
|
||||
playerStateMap.replace(tagged, CtbData.PlayerState.Tagged, CtbData.PlayerState.Free);
|
||||
CustomPlayer cTagged = new CustomPlayer(tagged);
|
||||
CustomPlayer cTagger = new CustomPlayer(tagger);
|
||||
cTagged.sendMessage(messages.getString("system.player.released.info").replace("%player%", tagger.getName()));
|
||||
|
@ -398,7 +401,6 @@ public class CTB implements Minigame {
|
|||
Player player = event.getThief();
|
||||
if (!players.contains(player)) return;
|
||||
ScoreboardTeam team = getTeam(player);
|
||||
player.getInventory().clear();
|
||||
addScore(team, 1);
|
||||
}
|
||||
|
||||
|
@ -425,6 +427,8 @@ public class CTB implements Minigame {
|
|||
if (!players.contains(player)) return;
|
||||
if (this.state != GameState.STARTED) return;
|
||||
if (playerStateMap.get(player) != CtbData.PlayerState.Stealing) return;
|
||||
EntityEquipment entityEquipment = player.getEquipment();
|
||||
entityEquipment.setHelmet(new ItemStack(Material.AIR));
|
||||
player.sendMessage(event.getMessage());
|
||||
}
|
||||
|
||||
|
@ -740,6 +744,8 @@ public class CTB implements Minigame {
|
|||
CtbData.PlayerState playerState = playerStateMap.get(player);
|
||||
playerStateMap.replace(player, playerState, CtbData.PlayerState.Jailed);
|
||||
PlayerJailedEvent jailedEvent = new PlayerJailedEvent(player);
|
||||
player.setFireTicks(0);
|
||||
player.setHealth(Objects.requireNonNull(player.getAttribute(Attribute.GENERIC_MAX_HEALTH)).getValue());
|
||||
jailedEvent.callEvent();
|
||||
ScoreboardTeam team = getTeam(player);
|
||||
// SGM.getInstance().getCLogger().log(team.name());
|
||||
|
|
|
@ -17,8 +17,8 @@ system:
|
|||
notime:
|
||||
notify: "&7You have run out of time to bring %player% to Jail! You must head back to Neutral before you can do anything."
|
||||
info: "&7%player% has run out of time to take you to Jail! You have been released and you must head back to Neutral before you can do anything."
|
||||
notify: "&7You have been tagged! %player% now has 25 seconds to take you to Jail or you will be freed!"
|
||||
info: "&7You have tagged %player%! You have 25 seconds to take them to Jail! Crouch if you would like to set them free."
|
||||
notify: "&7You have been tagged! %player% now has %seconds% seconds to take you to Jail or you will be freed!"
|
||||
info: "&7You have tagged %player%! You have %seconds% seconds to take them to Jail! Crouch if you would like to set them free."
|
||||
released:
|
||||
notify: "&7You have released %player%"
|
||||
info: "&7%player% let you free! You must head back to Neutral before you can do anything."
|
||||
|
|
Loading…
Reference in New Issue
Block a user