Created
July 15, 2014 00:07
-
-
Save IDragonfire/f03e22c6af15ad219cba to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.github.idragonfire.dragonchestui; | |
import java.util.Arrays; | |
import org.bukkit.Bukkit; | |
import org.bukkit.ChatColor; | |
import org.bukkit.DyeColor; | |
import org.bukkit.Material; | |
import org.bukkit.entity.Player; | |
import org.bukkit.event.EventHandler; | |
import org.bukkit.event.HandlerList; | |
import org.bukkit.event.Listener; | |
import org.bukkit.event.inventory.InventoryClickEvent; | |
import org.bukkit.event.inventory.InventoryCloseEvent; | |
import org.bukkit.event.player.PlayerCommandPreprocessEvent; | |
import org.bukkit.inventory.Inventory; | |
import org.bukkit.inventory.InventoryHolder; | |
import org.bukkit.inventory.ItemStack; | |
import org.bukkit.inventory.meta.ItemMeta; | |
import org.bukkit.plugin.java.JavaPlugin; | |
public class DChestUi_Plugin extends JavaPlugin implements Listener { | |
@Override | |
public void onEnable() { | |
Bukkit.getPluginManager().registerEvents(this, this); | |
} | |
@EventHandler | |
public void test(PlayerCommandPreprocessEvent event) { | |
if (!(event.getMessage().contains("test"))) { | |
Bukkit.broadcastMessage("what"); | |
return; | |
} | |
Bukkit.broadcastMessage("open inv"); | |
Player player = event.getPlayer(); | |
// max = 6 | |
final Inventory inventory = Bukkit.createInventory(player, 9 * 6, | |
"testinv"); | |
ItemStack item1 = new ItemStack(Material.WOOL, 1, | |
DyeColor.LIME.getWoolData()); | |
ItemMeta meta = item1.getItemMeta(); | |
meta.setDisplayName(ChatColor.GOLD + "Option 1"); | |
meta.setLore(Arrays.asList(new String[] { ChatColor.WHITE + "lala", | |
"ddada" })); | |
item1.setItemMeta(meta); | |
inventory.setItem(1 + 9 * 1, item1); | |
inventory.setItem(1 + 9 * 2, new ItemStack(Material.DIAMOND_SWORD, 1, | |
DyeColor.ORANGE.getWoolData())); | |
inventory.setItem(1 + 9 * 3, new ItemStack(Material.WOOL, 1, | |
DyeColor.RED.getWoolData())); | |
player.openInventory(inventory); | |
Bukkit.getPluginManager().registerEvents(new RestrictInventory(player), | |
this); | |
} | |
public class RestrictInventory implements Listener { | |
private Player player; | |
public RestrictInventory(Player player) { | |
this.player = player; | |
} | |
@EventHandler | |
public void interact(InventoryClickEvent event) { | |
InventoryHolder holder = event.getInventory().getHolder(); | |
if (!(holder instanceof Player) || ((Player) holder) != player) { | |
return; | |
} | |
event.setCancelled(true); | |
if (event.getCurrentItem().getType() == Material.AIR) { | |
return; | |
} | |
((Player) holder).closeInventory(); | |
// call custom event | |
} | |
@EventHandler | |
public void close(InventoryCloseEvent event) { | |
InventoryHolder holder = event.getInventory().getHolder(); | |
if (!(holder instanceof Player) || ((Player) holder) != player) { | |
return; | |
} | |
HandlerList.unregisterAll(this); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment