Advertisement
Guest User

Untitled

a guest
Feb 14th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. var MODULE_MEMORY = {
  3.     watched: {
  4.  
  5.     },
  6.     watchedaction: {
  7.  
  8.     },
  9.     open: function(pl) {
  10.         var _fudoplayer = playerToFudoPlayer(pl);
  11.  
  12.         var playerInventory = server.createInventory(null, 54, _fudoplayer.rpname);
  13.  
  14.         var limitOnPage = 55;
  15.         var loadedItems = 0;
  16.         for (var id in _fudoplayer.inv) {
  17.            
  18.             if(loadedItems > limitOnPage) {
  19.                 break;
  20.             }
  21.             var itemThis = _fudoplayer.inv[id];
  22.             var dest_ = Fudo.functions.normalize(itemThis.description).split("\n");
  23.                 dest_.reverse();
  24.             var dest = [""];
  25.                 for (var i = dest_.length - 1; i >= 0; i--) {
  26.                     dest.push(dest_[i]);
  27.                 }
  28.                 dest.push(Fudo.functions.encodeMineString(JSON.stringify(
  29.                     {
  30.                         disableDrag: true,
  31.                         playerInv: false,
  32.                         hiddenItem: false,
  33.                         refreshinv: false,
  34.                         itemInfo: itemThis,
  35.                         toItem: "actionMenu",
  36.                         action: false,
  37.                         owner: _fudoplayer.name,
  38.                     }
  39.                 )));
  40.             var item = new org.bukkit.inventory.ItemStack(Fudo.material[itemThis.item_material]);
  41.             var item_ = item.getItemMeta();
  42.                 item.setDurability(itemThis.durability);
  43.                 item.setAmount(itemThis.count);
  44.                 item_.setLore(dest);
  45.                 item_.setDisplayName(Fudo.functions.normalize(itemThis.displayName));
  46.                 item.setItemMeta(item_);
  47.             playerInventory.setItem(loadedItems, item);
  48.             loadedItems = loadedItems+1;
  49.         }
  50.  
  51.         var item = new org.bukkit.inventory.ItemStack(Fudo.material.FIREBALL);
  52.         var item_ = item.getItemMeta();
  53.             item.setDurability(0);
  54.             item.setAmount(1);
  55.             item_.setLore(["", Fudo.functions.normalize("&6"+Fudo.lang.refresh_lore), Fudo.functions.encodeMineString(JSON.stringify(
  56.                 {
  57.                     disableDrag: true,
  58.                     playerInv: false,
  59.                     hiddenItem: false,
  60.                     refreshinv: true,
  61.                 }
  62.             ))]);
  63.             item_.setDisplayName(Fudo.functions.normalize("&7"+Fudo.lang.refresh));
  64.             item.setItemMeta(item_);
  65.         playerInventory.setItem(53, item);
  66.  
  67.         _fudoplayer.player.openInventory(playerInventory);
  68.         MODULE_MEMORY.watched[_fudoplayer.name] = playerInventory;
  69.     },
  70.     close: function(pl) {
  71.         var _fudoplayer = playerToFudoPlayer(pl);
  72.  
  73.         MODULE_MEMORY.watched[_fudoplayer.name] = false;
  74.         _fudoplayer.player.closeInventory();
  75.     },
  76.     reOpen: function(pl) {
  77.         var _fudoplayer = playerToFudoPlayer(pl);
  78.         MODULE_MEMORY.close(_fudoplayer.player);
  79.         MODULE_MEMORY.open(_fudoplayer.player);
  80.     }
  81. };
  82.  
  83. _cmd = {
  84.     commandData: {
  85.         commandName: "inv",
  86.         use: "<text...>"
  87.     },
  88.     cb: function(args, sender, other){
  89.         var _fudoplayer = playerToFudoPlayer(sender);
  90.  
  91.         _fudoplayer.sendMes(Fudo.lang.oppeninginv01);
  92.  
  93.         MODULE_MEMORY.open(sender);
  94.     }
  95. };
  96.  
  97.  
  98. events.inventoryClose(function(e) {
  99.     var _fudoplayer = playerToFudoPlayer(e.getPlayer());
  100.     if(MODULE_MEMORY.watched[_fudoplayer.name]) {
  101.         MODULE_MEMORY.close(e.getPlayer());
  102.         //_fudoplayer.sendMes(Fudo.lang.closeinv01);
  103.     }
  104. });
  105.  
  106. events.inventoryClick(function(e) {
  107.     _fudoplayer = playerToFudoPlayer(e.getView().getPlayer());
  108.     //if(MODULE_MEMORY.watched[_fudoplayer.name]) {
  109.         // console.log("zbs1");
  110.         if(e.getAction() == "PICKUP_ALL") {
  111.             // console.log("zbs2");
  112.             var getHiddenVars = Fudo.functions.clicableGetHiddenText(e.getCurrentItem(), 0);
  113.             if(getHiddenVars) {
  114.                 // console.log("zbs3");
  115.                 if (getHiddenVars.refreshinv == true) {
  116.                     MODULE_MEMORY.reOpen(_fudoplayer.player);
  117.                     e.setCancelled(true);
  118.                 }
  119.                 if (getHiddenVars.itemInfo) {
  120.                     // console.log("zbs4");
  121.                     if (getHiddenVars.itemInfo.owner == getHiddenVars.owner) {
  122.                         // console.log("zbs5");
  123.                         var player = server.getPlayer(getHiddenVars.owner);
  124.                         // console.log("zbs6");
  125.                         if (player) {
  126.                             // console.log("zbs7");
  127.                             if (_fudoplayer.name == player.name) {
  128.                                 // console.log("zbs7");
  129.                                 if (_fudoplayer.hasItem(getHiddenVars.itemInfo, 1)) {
  130.                                     // console.log("zbs8");
  131.                                     var itemThis = getHiddenVars.itemInfo;
  132.                                     if (getHiddenVars.toItem == "actionMenu") {
  133.                                         // console.log("zbs9");
  134.                                         _fudoplayer.sendMes(Fudo.lang.selectaction01);
  135.                                         var actionMenu = server.createInventory(null, 27, Fudo.functions.normalize("&6"+Fudo.lang.actiontitle+"&7 - &6"+itemThis.displayName));
  136.                                         var item;
  137.                                         var item_;
  138.                                         if (itemThis.allow.use) {
  139.                                             item = new org.bukkit.inventory.ItemStack(Fudo.material.WOOL);
  140.                                             item_ = item.getItemMeta();
  141.                                             item.setDurability(5);
  142.                                             item.setAmount(1);
  143.                                             item_.setLore(["", Fudo.functions.normalize("&6"+Fudo.lang.use_lore), Fudo.functions.encodeMineString(JSON.stringify(
  144.                                                 {
  145.                                                     disableDrag: true,
  146.                                                     playerInv: false,
  147.                                                     hiddenItem: false,
  148.                                                     refreshinv: false,
  149.                                                     itemInfo: itemThis,
  150.                                                     toItem: "action",
  151.                                                     action: 1, // use
  152.                                                     owner: _fudoplayer.name,
  153.                                                 }
  154.                                             ))]);
  155.                                             item_.setDisplayName(Fudo.functions.normalize("&7"+Fudo.lang.use));
  156.                                             item.setItemMeta(item_);
  157.                                             actionMenu.setItem(10, item);
  158.                                         }
  159.                                         if (itemThis.allow.drop) {
  160.                                             item = new org.bukkit.inventory.ItemStack(Fudo.material.WOOL);
  161.                                             item_ = item.getItemMeta();
  162.                                             item.setDurability(14);
  163.                                             item.setAmount(1);
  164.                                             item_.setLore(["", Fudo.functions.normalize("&6"+Fudo.lang.drop_lore), Fudo.functions.encodeMineString(JSON.stringify(
  165.                                                 {
  166.                                                     disableDrag: true,
  167.                                                     playerInv: false,
  168.                                                     hiddenItem: false,
  169.                                                     refreshinv: false,
  170.                                                     itemInfo: itemThis,
  171.                                                     toItem: "action",
  172.                                                     action: 2, // drop
  173.                                                     owner: _fudoplayer.name,
  174.                                                 }
  175.                                             ))]);
  176.                                             item_.setDisplayName(Fudo.functions.normalize("&7"+Fudo.lang.drop));
  177.                                             item.setItemMeta(item_);
  178.                                             actionMenu.setItem(12, item);
  179.                                         }
  180.                                         if (itemThis.allow.sale && itemThis.itemcost) {
  181.                                             item = new org.bukkit.inventory.ItemStack(Fudo.material.WOOL);
  182.                                             item_ = item.getItemMeta();
  183.                                             item.setDurability(4);
  184.                                             item.setAmount(1);
  185.                                             item_.setLore(["", Fudo.functions.normalize("&6"+Fudo.lang.sale_lore), Fudo.functions.encodeMineString(JSON.stringify(
  186.                                                 {
  187.                                                     disableDrag: true,
  188.                                                     playerInv: false,
  189.                                                     hiddenItem: false,
  190.                                                     refreshinv: false,
  191.                                                     itemInfo: itemThis,
  192.                                                     toItem: "action",
  193.                                                     action: 3, // sale
  194.                                                     owner: _fudoplayer.name,
  195.                                                 }
  196.                                             ))]);
  197.                                             item_.setDisplayName(Fudo.functions.normalize("&7"+Fudo.lang.sale+" : &6"+itemThis.itemcost+" "+Fudo.lang.euro));
  198.                                             item.setItemMeta(item_);
  199.                                             actionMenu.setItem(14, item);
  200.                                         }
  201.  
  202.                                         // console.log("zbs10");
  203.                                         //MODULE_MEMORY.watched[_fudoplayer.name] = actionMenu;
  204.                                         _fudoplayer.player.openInventory(actionMenu);
  205.                                     }else if (getHiddenVars.toItem == "action"){
  206.                                         if (getHiddenVars.action) {
  207.                                            
  208.                                             switch (getHiddenVars.action) {
  209.                                                 case 1:
  210.                                                     if (itemThis.allow.use) {
  211.                                                         var itemOriginal = Fudo.inv.items[itemThis.name];
  212.                                                         var usedResult = itemOriginal.cb("use", _fudoplayer, {use: true});
  213.                                                         if (usedResult.take) {
  214.                                                             if (!itemThis.infinity) {
  215.                                                                 _fudoplayer.removeItem(itemThis, 1);
  216.                                                             }
  217.                                                             _fudoplayer.sendMes(Fudo.lang.susonuse);
  218.                                                         } else {
  219.                                                             _fudoplayer.sendMes(Fudo.lang.erroronuse);
  220.                                                         }
  221.                                                         _fudoplayer.player.closeInventory();
  222.                                                     }
  223.                                                     break;
  224.                                                 case 2:
  225.                                                     if (itemThis.allow.drop) {
  226.                                                         var dest_ = Fudo.functions.normalize(itemThis.description).split("\n");
  227.                                                         var dest = [""];
  228.                                                             for (var i = dest_.length - 1; i >= 0; i--) {
  229.                                                                 dest.push(dest_[i]);
  230.                                                             }
  231.                                                             dest.push(Fudo.functions.encodeMineString(JSON.stringify(
  232.                                                                 {
  233.                                                                     disableDrag: true,
  234.                                                                     playerInv: false,
  235.                                                                     hiddenItem: false,
  236.                                                                     refreshinv: false,
  237.                                                                     itemInfo: itemThis,
  238.                                                                     toItem: "actionMenu",
  239.                                                                     action: false,
  240.                                                                     owner: _fudoplayer.name,
  241.                                                                 }
  242.                                                             )));
  243.                                                         var item = new org.bukkit.inventory.ItemStack(Fudo.material[itemThis.item_material]);
  244.                                                         var item_ = item.getItemMeta();
  245.                                                             item.setDurability(itemThis.durability);
  246.                                                             item.setAmount(itemThis.count);
  247.                                                             item_.setLore(dest);
  248.                                                             item_.setDisplayName(Fudo.functions.normalize(itemThis.displayName));
  249.                                                             item.setItemMeta(item_);
  250.                                                         _fudoplayer.player.getWorld().dropItem(_fudoplayer.player.getLocation(), item);
  251.                                                         if (!itemThis.infinity) {
  252.                                                             _fudoplayer.removeItem(itemThis, 1);
  253.                                                         }
  254.                                                         _fudoplayer.sendMes(Fudo.lang.dropItem);
  255.                                                         _fudoplayer.player.closeInventory();
  256.                                                     }
  257.                                                     break;
  258.                                                 case 3:
  259.                                                     if (itemThis.allow.sale && itemThis.itemcost) {
  260.                                                         if (_fudoplayer.addMoney(itemThis.itemcost)) {
  261.                                                             if (!itemThis.infinity) {
  262.                                                                 _fudoplayer.removeItem(itemThis, 1);
  263.                                                             }
  264.                                                             _fudoplayer.sendMes(Fudo.lang.sellItem+" &6"+itemThis.itemcost+" &6"+Fudo.lang.euro+"!");
  265.                                                             _fudoplayer.player.closeInventory();
  266.                                                         } else {
  267.                                                             _fudoplayer.sendMes(Fudo.lang.sellItem+itemThis.cashfully);
  268.                                                             _fudoplayer.player.closeInventory();
  269.                                                         }
  270.                                                        
  271.                                                     }
  272.                                                     break;
  273.                                             }
  274.                                         }
  275.                                     }
  276.                                 }
  277.                             }
  278.                         }
  279.                     }
  280.                     e.setCancelled(true);
  281.                 }
  282.             }
  283.         }
  284.     //}
  285. });
  286.  
  287.  
  288.  
  289. exports.cmd = _cmd;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement