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

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

Discussion in 'Разработка плагинов для новичков' started by BANKA, Aug 28, 2021.

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

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

    Trophy Points:
    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 Активный участник Пользователь

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

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

    Trophy Points:
    6
    не-а
     
  5. veyn12

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

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

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

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

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

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

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

    Trophy Points:
    6
    Спасибо, выдача работает, но чё-то предмет забрать у игрока не выходит:
    Code:
    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 Активный участник Пользователь

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

Share This Page