Помогите [решено]Как сделать ограничение по золотым яблокам?

Статус
Закрыто для дальнейших ответов.

xQuanTicx

Новичок
Пользователь
Баллы
6
Имя в Minecraft
QuanTic
Всем привет. Создаю сервер для пвп, и сейчас работаю над созданием очень важного плагина для сервера, в который входит функция по ограничению золотых яблок. Мне нужно чтобы если у игрока было в инвентаре больше,чем 8 яблок то его убивало. Проверить это можно через самое простое действие в майнкрафте то есть движение игрока.Буду благодарен любой помощи/коду.
 
Команда в том плагине что пишу сейчас.
Тогда тебе нужно после выдавания кита проверять кол-во яблок в инвентаре. Если прикрепишь класс своей команды (можешь в лс скинуть), помогу.
 
Я тебе в лс скинул.
Код:
package ru.Afek;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.*********ventory.ItemStack;

public class Test implements Listener {
    
    @EventHandler
    public static void onMove(PlayerMoveEvent e) {
        Player p = e.getPlayer();
        checkremove(p, new ItemStack(Material.GOLDEN_APPLE), 8);
    }
    
    public static boolean checkremove(Player p, ItemStack s, int c) {
        if (calc(p, s) >= c) {
            p.damage(p.getHealth());
            return true;
        }
        return false;
    }

    public static int calc(Player p, ItemStack s) {
        int count = 0;
        for (int i = 0; i < p.getInventory().getSize(); i++) {
            ItemStack stack = p.getInventory().getItem(i);
            if (stack == null)
                continue;
            if (stack.isSimilar(s)) {
                count += stack.getAmount();
            }
        }
        return count;
    }

}
Это тебе надо вставить в любой класс (мой класс это Test)!

Код:
        Bukkit.getPluginManager().registerEvents(new Test(), this);

Это вставь в onEnable();
 
Код:
package ru.Afek;

import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.*********ventory.ItemStack;

public class Test implements Listener {
   
    @EventHandler
    public static void onMove(PlayerMoveEvent e) {
        Player p = e.getPlayer();
        checkremove(p, new ItemStack(Material.GOLDEN_APPLE), 8);
    }
   
    public static boolean checkremove(Player p, ItemStack s, int c) {
        if (calc(p, s) >= c) {
            p.damage(p.getHealth());
            return true;
        }
        return false;
    }

    public static int calc(Player p, ItemStack s) {
        int count = 0;
        for (int i = 0; i < p.getInventory().getSize(); i++) {
            ItemStack stack = p.getInventory().getItem(i);
            if (stack == null)
                continue;
            if (stack.isSimilar(s)) {
                count += stack.getAmount();
            }
        }
        return count;
    }

}
Это тебе надо вставить в любой класс (мой класс это Test)!

Код:
        Bukkit.getPluginManager().registerEvents(new Test(), this);

Это вставь в onEnable();
А не проще костыль сделать на проверку команды?
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх