- Баллы
- 173
- Имя в Minecraft
- InterVi
Это не ошибка, тебе просто сообщается, что ты эту переменную нигде не используешь (в if например).
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
А то что я указую ей значение, это не означает что я ее использую?..Это не ошибка, тебе просто сообщается, что ты эту переменную нигде не используешь (в if например).
Нет, ты просто присваиваешь ей значение.А то что я указую ей значение, это не означает что я ее использую?..
Ладно, ясно, спасибо)Нет, ты просто присваиваешь ей значение.
//Собираюсь реализовать отменение удара, если оба Player находяться в одном HashMap.
@EventHandler
public void TeamDamage(EntityDamageByEntityEvent edbee)
{
//Правильно ли реализована проверка, или надо еще что-то добавить?
if (edbee.getDamager() instanceof Player)
{
//Как сюда получить того который дамажил?
Player agree = ;
//А сюда который был "дамаженным" :D ?
Player disagree = ;
}
}
Player p = (Player) e.getEntity(); // if(instanceof)Ладно, ясно, спасибо)
Наверно очень дурацкий вопрос но все-же:
Документацию читать не умею, а по названиям методов не слишком понял что к чему...JavaScript://Собираюсь реализовать отменение удара, если оба Player находяться в одном HashMap. @EventHandler public void TeamDamage(EntityDamageByEntityEvent edbee) { //Правильно ли реализована проверка, или надо еще что-то добавить? if (edbee.getDamager() instanceof Player) { //Как сюда получить того который дамажил? Player agree = ; //А сюда который был "дамаженным" :D ? Player disagree = ; } }
Ага, т.е. getEntity() это дамаженный, а getDamager() дамагующий.. спасибо!Player p = (Player) e.getEntity(); // if(instanceof)
Player damager = (Player) e.getDamager();
if(map.containsKey(p.getName()) && map.containsKey(damager.getName()))
...
На всякий случай предупрежу:
НИКОГДА нигде не храните объект Player. Только ник или UUID.
Потому что объект игрока часто меняется, и, например, после смерти игрока его прежний объект уже не будет актуальным.Ага, т.е. getEntuty() это дамаженный, а getDamager() дамагующий.. спасибо!
Ну и вопрос довольно интересный, а почему так плохо хранить в Player?
УХ ТЫж етить как плохенько... А можно ли как-то получить игрока по нику?..Потому что объект игрока часто меняется, и, например, после смерти игрока его прежний объект уже не будет актуальным.
Ложь и провокация. Проверено.Потому что объект игрока часто меняется, и, например, после смерти игрока его прежний объект уже не будет актуальным.
Теперь осталось выбрать кому мне поверить...Ложь и провокация. Проверено.

Так переменная используется в методе, который вызывается ивентом. Т.е. ну никак эта переменная не успеет стать не актуальной, если конечно она не глобальная, тогда да. Только насчет воздействий я как-то не понял. Вот например player.sendMessage("блаблабла") прокатывает, но прокатит ли что-нибудь типа setWalkSpeed(float value)? Не знаю, вот с переменной Block всякие манипуляции не прокатывали.УХ ТЫж етить как плохенько... А можно ли как-то получить игрока по нику?..
Но всё же лучше пользоваться каким-то более статичным ключом(вроде ууида или ника, как уже говорили), так надёжнее.Теперь осталось выбрать кому мне поверить...![]()

Т.Е. просто имя.add(this) и все будет норм? Спасибо)
package ua.roboman.plugin.WarForFlag;
import org.bukkit.entity.Player;
import java.util.ArrayList;
public class Team
{
public String teamName;
public int wins = 0;
public Arena arena;
public ArrayList<Player> playersInTeam = new ArrayList<Player>();
public Team(String teamName, Arena arena)
{
if (teamName.equalsIgnoreCase("white")) this.teamName = "white";
else if (teamName.equalsIgnoreCase("orange")) this.teamName = "orange";
else if (teamName.equalsIgnoreCase("magenta")) this.teamName = "magenta";
else if (teamName.equalsIgnoreCase("light_blue")) this.teamName = "light_blue";
else if (teamName.equalsIgnoreCase("yellow")) this.teamName = "yellow";
else if (teamName.equalsIgnoreCase("lime")) this.teamName = "lime";
else if (teamName.equalsIgnoreCase("pink")) this.teamName = "pink";
else if (teamName.equalsIgnoreCase("gray")) this.teamName = "gray";
else if (teamName.equalsIgnoreCase("light_gray")) this.teamName = "light_gray";
else if (teamName.equalsIgnoreCase("cyan")) this.teamName = "cyan";
else if (teamName.equalsIgnoreCase("purple")) this.teamName = "purple";
else if (teamName.equalsIgnoreCase("blue")) this.teamName = "blue";
else if (teamName.equalsIgnoreCase("brown")) this.teamName = "brown";
else if (teamName.equalsIgnoreCase("green")) this.teamName = "brown";
else if (teamName.equalsIgnoreCase("red")) this.teamName = "red";
else if (teamName.equalsIgnoreCase("black")) this.teamName = "black";
else this.teamName = null;
this.arena = arena;
}
public Team()
{
}
public Team(String teamName)
{
this.teamName = teamName;
}
public Integer getTeamBlockId(String teamName)
{
if (teamName.equalsIgnoreCase("white")) return 0;
else if (teamName.equalsIgnoreCase("orange")) return 1;
else if (teamName.equalsIgnoreCase("magenta")) return 2;
else if (teamName.equalsIgnoreCase("light_blue")) return 3;
else if (teamName.equalsIgnoreCase("yellow")) return 4;
else if (teamName.equalsIgnoreCase("lime")) return 5;
else if (teamName.equalsIgnoreCase("pink")) return 6;
else if (teamName.equalsIgnoreCase("gray")) return 7;
else if (teamName.equalsIgnoreCase("light_gray")) return 8;
else if (teamName.equalsIgnoreCase("cyan")) return 9;
else if (teamName.equalsIgnoreCase("purple")) return 10;
else if (teamName.equalsIgnoreCase("blue")) return 11;
else if (teamName.equalsIgnoreCase("brown")) return 12;
else if (teamName.equalsIgnoreCase("green")) return 13;
else if (teamName.equalsIgnoreCase("red")) return 14;
else if (teamName.equalsIgnoreCase("black")) return 15;
else return null;
}
}
public void joinToFreeTeam(Player player)
{
if (readyArenas.size() >= 2)
{
for (Team team : readyArenas)
{
for (int get = 0; get <= 32; get++)
{
if (team.playersInTeam.size() == get)
{
player.teleport(team.arena.positionSpawnOfArena);
team.playersInTeam.add(player);
playersInGame.add(player);
log.info("Игрок " + player.getName() + " вошел в игру.");
player.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "Вы успешно вошли в игру."));
break;
}
}
}
}
else player.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "Не создано хотя-бы 2 арены&0! &cОбратитесь к администратору&0."));
}
@EventHandler
public void wffSpeak(PlayerChatEvent pce)
{
char[] messageChar = pce.getMessage().toCharArray();
char firstChar = messageChar[0];
if (firstChar == '!')
{
String newMessage = "";
char[] chars = pce.getMessage().toCharArray();
for (int get = 1; get <= pce.getMessage().length(); get++)
{
newMessage += chars[get];
}
for (Team team : readyArenas)
{
for (Player players : team.playersInTeam)
{
players.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "&c[&2&lGlobal&5&lSpeak&c] &9" + pce.getPlayer().getName() + " &0: " + newMessage));
}
}
}
else
{
for (Team team : readyArenas)
{
if (team.playersInTeam.contains(pce.getPlayer()))
{
pce.setCancelled(true);
for (Player players : team.playersInTeam)
{
players.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "&c[&1&lTeam&5&lSpeak&a] &9" + pce.getPlayer().getName() + " &0: &7" + pce.getMessage()));
}
break;
}
}
}
}
Мои глаза..Т.Е. просто имя.add(this) и все будет норм? Спасибо)
Не работает плагинный чат.
JavaScript:package ua.roboman.plugin.WarForFlag; import org.bukkit.entity.Player; import java.util.ArrayList; public class Team { public String teamName; public int wins = 0; public Arena arena; public ArrayList<Player> playersInTeam = new ArrayList<Player>(); public Team(String teamName, Arena arena) { if (teamName.equalsIgnoreCase("white")) this.teamName = "white"; else if (teamName.equalsIgnoreCase("orange")) this.teamName = "orange"; else if (teamName.equalsIgnoreCase("magenta")) this.teamName = "magenta"; else if (teamName.equalsIgnoreCase("light_blue")) this.teamName = "light_blue"; else if (teamName.equalsIgnoreCase("yellow")) this.teamName = "yellow"; else if (teamName.equalsIgnoreCase("lime")) this.teamName = "lime"; else if (teamName.equalsIgnoreCase("pink")) this.teamName = "pink"; else if (teamName.equalsIgnoreCase("gray")) this.teamName = "gray"; else if (teamName.equalsIgnoreCase("light_gray")) this.teamName = "light_gray"; else if (teamName.equalsIgnoreCase("cyan")) this.teamName = "cyan"; else if (teamName.equalsIgnoreCase("purple")) this.teamName = "purple"; else if (teamName.equalsIgnoreCase("blue")) this.teamName = "blue"; else if (teamName.equalsIgnoreCase("brown")) this.teamName = "brown"; else if (teamName.equalsIgnoreCase("green")) this.teamName = "brown"; else if (teamName.equalsIgnoreCase("red")) this.teamName = "red"; else if (teamName.equalsIgnoreCase("black")) this.teamName = "black"; else this.teamName = null; this.arena = arena; } public Team() { } public Team(String teamName) { this.teamName = teamName; } public Integer getTeamBlockId(String teamName) { if (teamName.equalsIgnoreCase("white")) return 0; else if (teamName.equalsIgnoreCase("orange")) return 1; else if (teamName.equalsIgnoreCase("magenta")) return 2; else if (teamName.equalsIgnoreCase("light_blue")) return 3; else if (teamName.equalsIgnoreCase("yellow")) return 4; else if (teamName.equalsIgnoreCase("lime")) return 5; else if (teamName.equalsIgnoreCase("pink")) return 6; else if (teamName.equalsIgnoreCase("gray")) return 7; else if (teamName.equalsIgnoreCase("light_gray")) return 8; else if (teamName.equalsIgnoreCase("cyan")) return 9; else if (teamName.equalsIgnoreCase("purple")) return 10; else if (teamName.equalsIgnoreCase("blue")) return 11; else if (teamName.equalsIgnoreCase("brown")) return 12; else if (teamName.equalsIgnoreCase("green")) return 13; else if (teamName.equalsIgnoreCase("red")) return 14; else if (teamName.equalsIgnoreCase("black")) return 15; else return null; } }JavaScript:public void joinToFreeTeam(Player player) { if (readyArenas.size() >= 2) { for (Team team : readyArenas) { for (int get = 0; get <= 32; get++) { if (team.playersInTeam.size() == get) { player.teleport(team.arena.positionSpawnOfArena); team.playersInTeam.add(player); playersInGame.add(player); log.info("Игрок " + player.getName() + " вошел в игру."); player.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "Вы успешно вошли в игру.")); break; } } } } else player.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "Не создано хотя-бы 2 арены&0! &cОбратитесь к администратору&0.")); }JavaScript:@EventHandler public void wffSpeak(PlayerChatEvent pce) { char[] messageChar = pce.getMessage().toCharArray(); char firstChar = messageChar[0]; if (firstChar == '!') { String newMessage = ""; char[] chars = pce.getMessage().toCharArray(); for (int get = 1; get <= pce.getMessage().length(); get++) { newMessage += chars[get]; } for (Team team : readyArenas) { for (Player players : team.playersInTeam) { players.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "&c[&2&lGlobal&5&lSpeak&c] &9" + pce.getPlayer().getName() + " &0: " + newMessage)); } } } else { for (Team team : readyArenas) { if (team.playersInTeam.contains(pce.getPlayer())) { pce.setCancelled(true); for (Player players : team.playersInTeam) { players.sendMessage(ChatColor.translateAlternateColorCodes('&', prefixPlugin + "&c[&1&lTeam&5&lSpeak&a] &9" + pce.getPlayer().getName() + " &0: &7" + pce.getMessage())); } break; } } } }
Ну т.е. сообщение не редактируется.
Ну, мой гавнокод - это совсем другая история!Мои глаза..
А когда (как часто) Bukkit вызывает этот евент?@EventHandler
public void onServerListPing(ServerListPingEvent event) {
event.setMotd(ChatColor.GREEN + "MOTD");
}
Каждый раз, когда сервер пингуется в списке серверов.А когда (как часто) Bukkit вызывает этот евент?