Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Не работает выдача предмета

Тема в разделе "Разработка плагинов для новичков", создана пользователем BANKA, 28 авг 2021.

  1. Автор темы
    BANKA

    BANKA Новичок Пользователь

    Баллы:
    6
    Не могу понять в чём причина, ибо раньше работала:
    package by.banned.banjobs;

    import org.bukkit.event.Listener;
    import com.google.common.collect.Multimap;
    import com.sun.deploy.resources.Deployment;
    import net.md_5.bungee.api.ChatColor;
    import net.milkbowl.vault.Vault;
    import net.milkbowl.vault.economy.EconomyResponse;
    import org.bukkit.Material;
    import org.bukkit.attribute.Attribute;
    import org.bukkit.attribute.AttributeModifier;
    import org.bukkit.enchantments.Enchantment;
    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.player.PlayerJoinEvent;
    import org.bukkit.inventory.*;
    import org.bukkit.event.player.PlayerInteractEvent;
    import org.bukkit.inventory.meta.ItemMeta;
    import org.bukkit.inventory.meta.tags.CustomItemTagContainer;
    import org.bukkit.persistence.PersistentDataContainer;
    import org.bukkit.block.Block;
    import net.milkbowl.vault.economy.Economy;
    import org.bukkit.plugin.RegisteredServiceProvider;
    import net.milkbowl.vault.*;



    import javax.swing.*;
    import java.util.Collection;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;

    public class builder implements Listener {

    @EventHandler
    public void interact(PlayerInteractEvent e) {
    Player p = e.getPlayer();

    ItemStack kirpich = new ItemStack(Material.BRICK);
    ItemMeta metak = kirpich.getItemMeta();
    metak.setDisplayName(ChatColor.AQUA + "Кирпич");
    kirpich.setItemMeta(metak);

    Action a = e.getAction();
    Block k = e.getClickedBlock();
    String name = e.getPlayer().getName();

    if (a == Action.RIGHT_CLICK_BLOCK) {
    if (e.getClickedBlock().getType().equals(Material.BRICKS)) {
    if (e.getClickedBlock().getX() == 0) {
    if (e.getClickedBlock().getY() == 79) {
    if (e.getClickedBlock().getZ() == 0) {


    p.getInventory().setItem(3, kirpich);
    }
    }
    }
    }
    }
    }
    }

    package by.banned.banjobs;

    import net.md_5.bungee.api.ChatColor;
    import org.bukkit.Bukkit;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.plugin.java.JavaPlugin;

    import java.io.File;

    public class Main extends JavaPlugin {


    public Main() {
    }


    @Override
    public void onEnable() {

    File config = new File(getDataFolder() + File.separator + "config.yml");
    if(!config.exists()){
    getLogger().info("Create config file... ");
    getConfig().options().copyDefaults(true);
    saveDefaultConfig();
    }



    Bukkit.getPluginManager().registerEvents(new builder(), this);


    this.getLogger().info("Plugin is enable");

    EconomyManager.init();


    }


    public void onDisable() {

    this.getLogger().info("Plugin is disable");
    }

    public boolean onCommand(CommandSender s, Command cmd, String label, String args[]) {

    if (cmd.getName().equalsIgnoreCase("bjreload")) {

    Bukkit.getPluginManager().disablePlugin(this);
    Bukkit.getPluginManager().enablePlugin(this);

    s.sendMessage(ChatColor.AQUA + "Plugin " + ChatColor.RED + "Ban" + ChatColor.BLACK +"Give " + ChatColor.AQUA + "has been reloaded!");

    return true;

    }
    return false;
    }


    }
     
  2. Хостинг MineCraft
    <
  3. veyn12

    veyn12 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Veynique
    Где у тебя конструктор? ГК ошибку не выдает?
     
  4. Автор темы
    BANKA

    BANKA Новичок Пользователь

    Баллы:
    6
    не-а
     
  5. veyn12

    veyn12 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Veynique
    Конструктор сделай-_-
     
  6. Автор темы
    BANKA

    BANKA Новичок Пользователь

    Баллы:
    6
    Блин, а можно скажешь как, а то я затупил чутка?
     
  7. veyn12

    veyn12 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Veynique
    Добавь а главный класс implements Listener
    В класс событий добавь
    public Main main;
    public builder(Main main){
    this.main = main;
    }
     
  8. Автор темы
    BANKA

    BANKA Новичок Пользователь

    Баллы:
    6
    Спасибо, выдача работает, но чё-то предмет забрать у игрока не выходит:
    Код:
    if (a == Action.RIGHT_CLICK_BLOCK) {
                if (e.getClickedBlock().getType().equals(Material.OAK_WALL_SIGN)) {
                    if (p.getInventory().contains(kirpich)) {
                        if (e.getClickedBlock().getX() == 0) {
                            if (e.getClickedBlock().getY() == 80) {
                                if (e.getClickedBlock().getZ() == 0) {
    
    
                                    EconomyManager.giveMoney(p, cash);
                                    p.getInventory().remove(kirpich);
    
                                }
                            }
                        }
                    }
                }
            }
        }
     
  9. veyn12

    veyn12 Активный участник Пользователь

    Баллы:
    68
    Имя в Minecraft:
    Veynique
    Попробуй убрать эту проверку. Если заработает и предмет заберет, значит материал на твоей версии не так указывается.
    PHP:
    if (e.getClickedBlock().getType().equals(Material.OAK_WALL_SIGN)) {
     

Поделиться этой страницей