- Баллы
- 173
- Имя в Minecraft
- _Dereku
Ни разу. Но это будет работать.То есть это правильно:
Вот то, что у меня получилось:
Java:
package club.without.dereku.pvpbylevel;
import org.bukkit.ChatColor;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.plugin.java.JavaPlugin;
/**
*
* @author Dereku
*/
public class PvPByLevel extends JavaPlugin implements Listener {
private int levelDifference;
@Override
public void onEnable() {
this.saveDefaultConfig();
this.levelDifference = this.getConfig().getInt("levelDifference", 20);
this.getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onDamage(EntityDamageByEntityEvent event) {
if (!event.getDamager().getType().equals(EntityType.PLAYER) && !event.getEntity().getType().equals(EntityType.PLAYER)) {
return;
}
Player damager = (Player) event.getDamager();
Player reciever = (Player) event.getEntity();
int difference = Math.max(damager.getLevel(), reciever.getLevel()) - Math.min(damager.getLevel(), reciever.getLevel());
if (difference > this.levelDifference) {
event.setCancelled(true);
damager.sendMessage(ChatColor.RED + "Ваш уровень слишком высок для атаки этого игрока.");
}
}
}
Передавать ссылку в класс, не?Нужны, как я по твоему буду cfg из другого класса вызывать без static?