Tyzun
Старожил
- Баллы
- 153
- Имя в Minecraft
- _Tyzun_
Решил сделать права в рлагине так, чтоб они подходили ко всех плагинам прав. Сделал вот так:
В plugin.yml вписал это:
Плагин сам работает, а вот права нет.
Код:
package ru.tyzun.plugin.antigodpvp;
import org.bukkit.GameMode;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.plugin.java.JavaPlugin;
import com.earth2me.essentials.Essentials;
public class AntiGodPvp extends JavaPlugin implements Listener {
public Essentials ess = null;
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerDamage(EntityDamageByEntityEvent event) {
Entity defender = event.getEntity();
Entity attacker = event.getDamager();
if (((defender instanceof Player)) && ((attacker instanceof Player))) {
Player pl = (Player)event.getDamager();
if (pl.isFlying() && (!pl.hasPermission("agp.allowflypvp"))) {
event.setCancelled(true);
}
}
}
@EventHandler
public void onPlayerDamageArrow(EntityDamageByEntityEvent event)
{
Entity defender = event.getEntity();
Entity damager = event.getDamager();
if (((defender instanceof Player)) && ((damager instanceof Arrow))) {
damager = ((Arrow)damager).getShooter();
if (((damager instanceof Player)) && (((Player)damager).isFlying()) && (!((Player)damager).hasPermission("agp.allowflyshot"))) {
event.setCancelled(true);
}
}
}
@EventHandler
public void onPlayerDamage2(EntityDamageByEntityEvent event) {
Entity defender = event.getEntity();
Entity attacker = event.getDamager();
if (((defender instanceof Player)) && ((attacker instanceof Player))) {
Player pl = (Player)event.getDamager();
if (pl.getGameMode() == GameMode.CREATIVE && (!pl.hasPermission("agp.allowcreatpvp"))) {
event.setCancelled(true);
}
}
}
@EventHandler
public void onPlayerDamageArrow2(EntityDamageByEntityEvent event)
{
Entity defender = event.getEntity();
Entity damager = event.getDamager();
if (((defender instanceof Player)) && ((damager instanceof Arrow))) {
damager = ((Arrow)damager).getShooter();
if ((damager instanceof Player))
{
if (((HumanEntity)damager).getGameMode() == GameMode.CREATIVE && (!((Player)damager).hasPermission("agp.allowcreatshot"))) {
event.setCancelled(true);
}
}
}
}
@EventHandler
public void onPlayerDamage3(EntityDamageByEntityEvent event) {
Entity defender = event.getEntity();
Entity attacker = event.getDamager();
if (((defender instanceof Player)) && ((attacker instanceof Player))) {
Player pl = (Player)event.getDamager();
if (ess.getUser(attacker).isGodModeEnabled() && (!pl.hasPermission("agp.allowgod"))) {
event.setCancelled(true);
}
}
}
@EventHandler
public void onPlayerDamageArrow3(EntityDamageByEntityEvent ev)
{
Entity defender = ev.getEntity();
Entity damager = ev.getDamager();
if (((defender instanceof Player)) && ((damager instanceof Arrow))) {
damager = ((Arrow)damager).getShooter();
if ((damager instanceof Player))
{
if (ess.getUser(damager).isGodModeEnabled() && (!((Player)damager).hasPermission("agp.allowgodshot"))) {
ev.setCancelled(true);
}
}
}
}
@EventHandler
public void onPlayerInteract(PlayerInteractEvent e)
{
Player p = e.getPlayer();
if (((e.getAction() == Action.RIGHT_CLICK_AIR) || (e.getAction() == Action.RIGHT_CLICK_BLOCK)) &&
(p.getGameMode().equals(GameMode.CREATIVE)))
{
if(
(p.getItemInHand().getTypeId() == 373) && (!p.hasPermission("agp.potions"))){
e.setCancelled(true);
}
}
}
}
В plugin.yml вписал это:
Код:
main: ru.tyzun.plugin.antigodpvp.AntiGodPvp
name: AntiGodPvp
version: 0.1
author: Tyzun
permissions:
agp.*:
children:
agp.allowflypvp: true
agp.allowflyshot: true
agp.allowcreatpvp: true
agp.allowcreatshot: true
agp.allowgod: true
agp.allowgodshot: true
agp.potions: true
agp.allowflypvp:
default: op
agp.allowflyshot:
default: op
agp.allowcreatpvp:
default: op
agp.allowcreatshot:
default: op
agp.allowgod:
default: op
agp.allowgodshot:
default: op
agp.potions:
default: op