Added inventory module for bukkit too
This commit is contained in:
parent
1a4b087562
commit
06d80171fb
6 changed files with 47 additions and 28 deletions
|
@ -4603,8 +4603,6 @@ The inventory module exposes a single function which when passed a player or NPC
|
||||||
* remove : removes items from the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
* remove : removes items from the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
||||||
* contains : checks to see if there is the specified type and amount of item in the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
* contains : checks to see if there is the specified type and amount of item in the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
||||||
|
|
||||||
The Inventory module currently only works with CanaryMod.
|
|
||||||
|
|
||||||
## Classroom Plugin
|
## Classroom Plugin
|
||||||
|
|
||||||
The `classroom` object contains a couple of utility functions for use
|
The `classroom` object contains a couple of utility functions for use
|
||||||
|
|
18
src/main/js/modules/bukkit/inventory.js
Normal file
18
src/main/js/modules/bukkit/inventory.js
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
function inventory(entity){
|
||||||
|
var inv = entity.inventory;
|
||||||
|
var result = {
|
||||||
|
add: function(items){
|
||||||
|
inv.addItem([items]);
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
remove: function(items){
|
||||||
|
inv.removeItem([items]);
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
contains: function(items){
|
||||||
|
return inv['contains(org.bukkit.inventory.ItemStack)'](items);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
module.exports = inventory;
|
|
@ -1,11 +1,12 @@
|
||||||
var bkItemStack = org.bukkit.inventory.ItemStack;
|
/*global require, module, Packages */
|
||||||
|
var bkItemStack = Packages.org.bukkit.inventory.ItemStack;
|
||||||
|
var bkMaterial = Packages.org.bukkit.Material;
|
||||||
var items = function( material, amount ) {
|
var items = function( material, amount ) {
|
||||||
material = material.toUpperCase();
|
material = material.toUpperCase();
|
||||||
return new bkItemStack(bukkit.material[material],amount);
|
return new bkItemStack(bkMaterial[material],amount);
|
||||||
};
|
};
|
||||||
|
|
||||||
var materials = bukkit.material.values();
|
var materials = bkMaterial.values();
|
||||||
|
|
||||||
for (var i = 0;i < materials.length; i++ ){
|
for (var i = 0;i < materials.length; i++ ){
|
||||||
var name = (''+materials[i].name()).toLowerCase();
|
var name = (''+materials[i].name()).toLowerCase();
|
||||||
|
|
20
src/main/js/modules/canary/inventory.js
Normal file
20
src/main/js/modules/canary/inventory.js
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
function inventory(entity){
|
||||||
|
var inv = entity.inventory;
|
||||||
|
var result = {
|
||||||
|
add: function(items){
|
||||||
|
inv['addItem(net.canarymod.api.inventory.Item)'](items);
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
remove: function(items){
|
||||||
|
inv['decreaseItemStackSize(int, int)'](items.id, items.amount);
|
||||||
|
return result;
|
||||||
|
},
|
||||||
|
contains: function(items){
|
||||||
|
var type = items.type;
|
||||||
|
var amount = items.amount;
|
||||||
|
return inv['hasItemStack(ItemType, int )'](type, amount);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
module.exports = inventory;
|
|
@ -35,26 +35,9 @@ The inventory module exposes a single function which when passed a player or NPC
|
||||||
* remove : removes items from the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
* remove : removes items from the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
||||||
* contains : checks to see if there is the specified type and amount of item in the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
* contains : checks to see if there is the specified type and amount of item in the inventory (Expects parameters of type `net.canarymod.api.inventory.Item` - I strongly recommend using the `items` module for constructing items)
|
||||||
|
|
||||||
The Inventory module currently only works with CanaryMod.
|
|
||||||
|
|
||||||
***/
|
***/
|
||||||
function inventory(entity){
|
if ( __plugin.canary ) {
|
||||||
var inv = entity.inventory;
|
module.exports = require('../canary/inventory');
|
||||||
var result = {
|
} else {
|
||||||
add: function(items){
|
module.exports = require('../bukkit/inventory');
|
||||||
inv['addItem(net.canarymod.api.inventory.Item)'](items);
|
|
||||||
return result;
|
|
||||||
},
|
|
||||||
remove: function(items){
|
|
||||||
inv['decreaseItemStackSize(int, int)'](items.id, items.amount);
|
|
||||||
return result;
|
|
||||||
},
|
|
||||||
contains: function(items){
|
|
||||||
var type = items.type;
|
|
||||||
var amount = items.amount;
|
|
||||||
return inv['hasItemStack(ItemType, int )'](type, amount);
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
module.exports = inventory;
|
|
||||||
|
|
|
@ -169,4 +169,3 @@ function onCanaryArrowHit( event ) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
events.projectileHit( __plugin.bukkit ? onBukkitArrowHit : onCanaryArrowHit);
|
events.projectileHit( __plugin.bukkit ? onBukkitArrowHit : onCanaryArrowHit);
|
||||||
|
|
||||||
|
|
Reference in a new issue