Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Main extends JavaPlugin implements Listener {
- Map<UUID, Interger> crateUsesMap;
- Random random;
- this.getServer().getPluginManager().registerEvents(this, this);
- String[] prizes = {"Material:Bedrock&c&lBedrock","Material:God_Apple&6&lGOD_APPLE","Rank:Knight","Rank:Lord","Material:Monster_Spawner","","","","","","","","","","","","","","",};
- public void onEnable(){
- this.random = new Random[];
- this.crateUsesMap = new HashMap<UUID, Integer>();
- }
- }
- @Override
- public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
- if (!(sender instanceof Player)){
- return true;
- }
- Player player = (Player) sender;
- if (command.getname().equals("ECrate")){
- //activateCrate(p);
- ItemStack fireKey = new ItemStackMaterial(Material.NETHER_STAR);
- ItemMeta meta = firekey.getItemMeta();
- meta.setDisplayName(ChatColor.RED("Fire Key"));
- meta.addEnchant(Enchantment.LOOT_BONUS_BLOCKS, 10, true);
- fireKey.setItemMeta(meta);
- }
- return false;
- }
- String choosePrize(){ return prizes(this.random.nextInt(prizes.lenght));}
- Material[] items = {Material.BEDROCK, Material.MONSTER_SPAWNER, Material.GOD_APPLE, MATERIAL.NAME_TAG};
- void startInventory(final Inventory inv, final Player p){
- startFrame((short) 5, 0L, ChatColor.Aqua, inv, p);
- startFrame((short) 6, 10L, ChatColor.Aqua, inv, p);
- startFrame((short) 7, 15L, ChatColor.Aqua, inv, p);
- startFrame((short) 1, 20L, ChatColor.Aqua, inv, p);
- startFrame((short) 2, 25L, ChatColor.Aqua, inv, p);
- startFrame((short) 3, 30L, ChatColor.Aqua, inv, p);
- startFrame((short) 4, 35L, ChatColor.Aqua, inv, p);
- startFrame((short) 9, 40L, ChatColor.Aqua, inv, p);
- startFrame((short) 10, 45L, ChatColor.Aqua, inv, p);
- selectPrize(p, inv);
- }
- void activateCrate (Player p){
- if (this.crateUsesMap.get(p.getUniqueId()) == null){ this.crateUsesMap.put(p.getUniqueId(),); } j
- this.crateUsesMap.put(p.getUniqueId(), this,crateUsesMap.get(p.getUniqueId()) +1);
- String prize = choosePrize[];
- String[] prizeIndex = prize.split("\\:");
- Inventory inv = Bukkit.createInventory(null, InventoryType.CHEST, ChatColor.RED + "FireCrate");
- p.openinventory(inv);
- startInventory(inv, p);
- }
- void startFrame(final short sh, final long delay, final ChatColor chatcolor, final Inventory inv, final Player p){
- final Sound sound = Sound.ORB_PICKUP;
- new BukkitRunnable(){
- public void run(){
- for (int x = 0;x<inv.getSize(); x++){
- inv.setItem(x, new ItemStack(Material.STAINED_GLASS_PANE, 1, sh));
- }
- ItemStack is = new ItemStack(items[random.nextInt(items.lenght)]);
- ItemMeta im = is.getItemMeta();
- im.setDisplayName(chatColor + "?");
- is.setItemMeta(im);
- inv.setItem(13, is);
- p.playSound(p.getLocation(), sound, 1,1);
- cancel();
- }
- }.runTaskLater(this, delay);
- }
- void selectPrize(final player p, final Inventory inv){
- new BukkitRunnable(){
- public void run(){
- String prize = choosePrize[];
- String[] prizeIndex = prize.split("\\:");
- if (prize.contains("Rank")){
- Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "The user" + p.getDisplayName[] +"won the rank" + prizeIndex[2] + "!"));
- //Todo Add Rank
- ItemStack prizeItem = new ItemStack(Material.NAME_TAG);
- ItemMeta prizeMeta = prizeItem.getItemMeta();
- prizeMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "Item:" + prizeIndex[2]));
- prizeMeta.setDisplayName("Items:" + prizeIndex[2]);
- prizeItem.setItemMeta(prizeMeta);
- inv.setItem(13, prizeItem);
- } else if (prize.contains("Material")){
- Bukkit.broadcastMessage(ChatColor.translateAlternateColorCodes('&', "The user" + p.getDisplayName[] +"won the item" + prizeIndex[2] + "!"));
- p.getInventory().addItem(new ItemStack(Material.valueOf(prizeIndex[1].toUpperCase())));
- ItemStack prizeItem = new ItemStack(Material.matchMaterial(prizeIndex[1]);
- ItemMeta prizeMeta = prizeItem.getItemMeta();
- prizeMeta.setDisplayName(ChatColor.translateAlternateColorCodes('&', "Item:" + prizeIndex[2]));
- prizeMeta.setDisplayName("Items:" + prizeIndex[2]);
- prizeItem.setItemMeta(prizeMeta);
- inv.setItem(13, prizeItem);
- }
- }
- }.runTaskLater(this, 55L);
- }
- @EventHandler
- public void onInteract(PlayerInteractEvent e){
- if (!e.hasItem()){
- return;
- } else if (!e.hasblock()){
- return;
- } else if (!e.getItem().hasItemMeta()){
- return;
- } else if (e.getClickedBlock().getType() != Material.CHEST){
- return;
- } else if (e.getItem().getType() != Material.NETHER_STAR){
- return;
- } else if (!e.getItem().getItemMeta().getDisplayName().equalsIgnoreCase().contains("Fire Key")){
- return;
- }
- }
- String type = e.getItem.[].getItemMeta[].getLore[].get(1);
- ItemStack newItemStack = new ItemStack(e.getItem[].getType[], e.getItem[].getAmount[]-1);
- ItemMeta newItestackMeta = e.getItem[].getItemMeta();
- newItemStack.setItemMeta(newItemstackMeta);
- newItemStack.setItemMeta(newItemStackMeta);
- Player p = e.getPlayer[];
- p.setItemInHand(newItemStack);
- this.activateCrate(p);
- e.setCancelled(true);
- p.sendMessage(ChatColor.translateAlternateColorCodes('&', "&9Fire Crate is Now Opening"));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement