1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Продажа блоков инвентарь

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

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

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    Всем привет решил я значит сделать плагин который будет продовать блоки по 16 штук из инвентаря
    Мне нужно что бы блоки можно было продовать(ПКМ) и покупать(ЛКМ)
    Зарание спасибо за помощь

    вот что накидал
    Код:
    @Override
        public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
            Player p = (Player) commandSender;
            Inventory menu = Bukkit.createInventory(null, 9 * 6, ChatColor.RED + "Продажа блоков");
    
            ItemStack grassb = new ItemStack(Material.GRASS_BLOCK);
            ItemMeta btmeta = grassb.getItemMeta();
            btmeta.setDisplayName(ChatColor.BLUE + "Дёрн");
            List<String> grassbl = new ArrayList<>();
            grassbl.add(ChatColor.GRAY + "Цена: 0.0016 за 16 блолков");
            btmeta.setLore(grassbl);
            grassb.setItemMeta(btmeta);
            menu.setItem(1,grassb);
           
            main.getInstance().pdata.set("data." + p.getName() + ".ccb", main.getInstance().pdata.getInt("data." + p.getName() + ".ccb") + 0.0016);
            main.getInstance().save();
    
           
            p.openInventory(menu);
    
            return true;
        }
    + из этого инвентаря можно брать вещи и они не проподают при перезаходе
     
  2. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
  3. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Ну инвентарь ты создал, теперь нужно прослушать клики по нему через InventoryClickEvent и написать логику
     
  4. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    и как мне его настроить
     
  5. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
  6. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    А что бы их нельзя было вытаскивать от инвентаря
     
  7. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    event.setCancelled(true);
     
  8. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    вот мой код
    но нечего не работает


    Код:
    package main;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import org.bukkit.Bukkit;
    import org.bukkit.ChatColor;
    import org.bukkit.Material;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandExecutor;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Listener;
    import org.bukkit.event.inventory.InventoryClickEvent;
    import org.*********ventory.Inventory;
    import org.*********ventory.ItemStack;
    import org.*********ventory.meta.ItemMeta;
    
    public class blocks implements CommandExecutor, Listener {
       
        public boolean onCommand(InventoryClickEvent e, CommandSender commandSender, Command command, String s, String[] strings) {
            Player p = (Player) commandSender;
            e.setCancelled(true);
            Inventory menu = Bukkit.createInventory(null, 9 * 6, ChatColor.RED + "Меню блоков");
    
           
            ItemStack grassb = new ItemStack(Material.GRASS_BLOCK);
            grassb.setType(Material.GRASS_BLOCK);
            ItemMeta btmeta = grassb.getItemMeta();
            btmeta.setDisplayName(ChatColor.BLUE + "Дёрн");
            List<String> grassbl = new ArrayList<>();
            grassbl.add(ChatColor.GRAY + "Цена: 0.0016 за 16 блолков");
            btmeta.setLore(grassbl);
            grassb.setItemMeta(btmeta);
            menu.setItem(1,grassb);
            p.getInventory().removeItem(grassb);
           
            main.getInstance().pdata.set("data." + p.getName() + ".blocks", main.getInstance().pdata.getInt("data." + p.getName() + ".blocks") + 0.0016);
            main.getInstance().save();
    
           
            p.openInventory(menu);
    
            return true;
        }
    
        @Override
        public boolean onCommand(CommandSender arg0, Command arg1, String arg2, String[] arg3) {
            return false;
        }
    
    }
    
    
       
    
     
    Последнее редактирование: 11 ноя 2021
  9. Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
    А может евент надо отдельно записывать и проверять твоё меню это или нет?
     
  10. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    ну не знаю если ты знаешь придлагай варианты
     
  11. Limon-mine

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

    Баллы:
    76
    Имя в Minecraft:
    Limon_MineDel
  12. Автор темы
    Thorgathis

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

    Баллы:
    66
    Имя в Minecraft:
    Thorgathis
    @NoooobKa можешь скинуть пожалуйста пример для решение моей проблеммы
     
  13. Lemar98

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

    Баллы:
    76
    Господи, да загугли ты что такое листенер и как его обрабатывать.
     
  14. NoooobKa

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

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Если ты хочешь научится делать плагины, то гугли или задавай конкретные вопросы. Иначе проси в разделе запросов на разработку, мб тебе там напишут готовый плагин.
     
  15. OJIEKCAHDP

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

    Баллы:
    76
    Имя в Minecraft:
    OJIEKCAHDP
    Такой дряни ещё не видел.
     
  16. NightWill

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

    Баллы:
    61
    Имя в Minecraft:
    NightWill
    G
    +
     
  17. Bezobrazie

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

    Баллы:
    46
    Имя в Minecraft:
    MySoulIsCry
    upload_2021-11-12_20-17-11.png



    На вот учи гасподи https://www.youtube.com/playlist?list=PLwJEyVmzD4t1K8Uv6Wi9sz7VWPyLaQ1uX
     

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