блок-сундук

danrom11

Новичок
Баллы
6
Ребят подскажите пожалуйста как сделать так что бы при клике например на золотой блок открывался сундук, и что бы при клике на другой сундук открывался именно он ,а не общей инвентарь сундука.
Заранее спасибо!
 
Ребят подскажите пожалуйста как сделать так что бы при клике например на золотой блок открывался сундук, и что бы при клике на другой сундук открывался именно он ,а не общей инвентарь сундука.
Заранее спасибо!
PHP:
Map<Block, Inventory>
Используй HashMap'ы
 
Ребят подскажите пожалуйста как сделать так что бы при клике например на золотой блок открывался сундук, и что бы при клике на другой сундук открывался именно он ,а не общей инвентарь сундука.
Заранее спасибо!
PHP:
package com.dragon4ik.goldchest;

import java.util.HashMap;
import java.util.Map;

import org.bukkit.block.Block;
import org.*********ventory.Inventory;
import org.bukkit.plugin.java.JavaPlugin;

public class GoldChest extends JavaPlugin {
 
    public Map<Block, Inventory> blocks;
 
    public void onEnable() {
        blocks = new HashMap<Block, Inventory>();
        getLogger().info("Plugin enabled");
        Bukkit.getPluginManager().registerEvents(new ClickListener(this), this);
    }

}
PHP:
package com.dragon4ik.goldchest;

import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.Action;
import org.bukkit.event.player.PlayerInteractEvent;

import net.md_5.bungee.api.ChatColor;

public class ClickListener implements Listener{
 
    GoldChest plugin;
    public ClickListener(GoldChest plugin) {
        this.plugin = plugin;
    }
 
    @EventHandler
    public void click(PlayerInteractEvent e) {
        if(e.getAction().equals(Action.RIGHT_CLICK_BLOCK)) {
            if(!e.getClickedBlock().getType().equals(Material.GOLD_BLOCK)) return;
            if(!plugin.blocks.containsKey(e.getClickedBlock())) plugin.blocks.put(e.getClickedBlock(), Bukkit.createInventory(null, 27, ChatColor.GOLD + "Сундук"));
            e.getPlayer().openInventory(plugin.blocks.get(e.getClickedBlock()));
        }
    }

}

Сохранение мапы в конфиг или БД мне лень делать)
P.S. В главном классе один импорт рб посчитал рекламой и закрыл звездочками.
 
Назад
Верх