Skip to content

Commit 893dbd6

Browse files
committed
Fixed bukkit version of recipes.js module
I was having trouble adding recipes to my bukkit server using ScriptCraft. It looks like the example in js/modules/recipes.js only works on a CanaryMod server, and the original version of js/modules/bukkit/recipes.js caused type related errors and didn't seem to implement Spigot/Bukkit methods properly. With these changes I can now create a custom recipe and add it to the server with the following (note that the recipes.add() function both creates a bukkit ShapedRecipe AND adds the recipe to the server): var items = require("items"); var recipes = require("recipes"); var events = require("events"); var bow = items.bow(1); var tnt = items.tnt(1); var explodeBow = items.bow(1); var explodeBowMeta = explodeBow.getItemMeta(); explodeBowMeta.setDisplayName("Bow of Exploding"); explodeBowMeta.setLore(["Excite. Very boom."]); explodeBow.setItemMeta(explodeBowMeta); var explodeBowRecipe = recipes.add( { result: explodeBow, ingredients: {B: bow, T: tnt}, shape: [" ", "TB ", " "] });
1 parent e307904 commit 893dbd6

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

src/main/js/modules/bukkit/recipes.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ var bkShapedRecipe = org.bukkit.inventory.ShapedRecipe;
33

44
exports.add = function( recipe ){
55
var result = new bkShapedRecipe( recipe.result );
6-
result.shape( recipe.shape );
6+
result.shape(recipe.shape[0], recipe.shape[1], recipe.shape[2]);
77
for (var i in recipe.ingredients ){
8-
result.setIngredient( i, recipe.ingredients[i] );
8+
result.setIngredient( new java.lang.Character(i), recipe.ingredients[i].getData() );
99
}
1010
server.addRecipe(result);
1111
return result;

0 commit comments

Comments
 (0)