类org.bukkit.inventory.FurnaceRecipe源码实例Demo

下面列出了怎么用org.bukkit.inventory.FurnaceRecipe的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: ProRecipes   文件: RecipeFurnace.java
public boolean register(){
	Iterator<org.bukkit.inventory.Recipe> it = ProRecipes.getPlugin().defaultRecipes.iterator();
	org.bukkit.inventory.Recipe recipe;
       while(it.hasNext())
       {
           recipe = it.next();
           if (recipe != null && recipe instanceof FurnaceRecipe)
           {
           	FurnaceRecipe r = (FurnaceRecipe)recipe;
           	if(r.getInput().getType().equals(toBurn.getType())){
           		def = true;
           		original = r;
           	}
           	
           }
       }
	boolean b = ProRecipes.getPlugin().getRecipes().addFurnace(this);
	ProRecipes.getPlugin().getServer().addRecipe(register);
	return b;
}
 
源代码2 项目: Carbon-2   文件: Injector.java
public void registerRecipes() {
    Bukkit.resetRecipes();
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.BEETROOT_SOUP)).shape(new String[] {"rrr", "rrr", " b "}).setIngredient('r', MaterialList.BEETROOT).setIngredient('b', org.bukkit.Material.BOWL));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.END_BRICKS)).shape(new String[] {"ee", "ee"}).setIngredient('e', org.bukkit.Material.ENDER_STONE));
    
    //Purpur block recipes
    addRecipe(new FurnaceRecipe(new ItemStack(MaterialList.CHORUS_FRUIT_POPPED), MaterialList.CHORUS_FRUIT));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_BLOCK, 4)).shape(new String[] {"pp", "pp"}).setIngredient('p', MaterialList.CHORUS_FRUIT_POPPED));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_STAIRS, 4)).shape(new String[] {"p  ", "pp ", "ppp"}).setIngredient('p', MaterialList.PURPUR_BLOCK));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_STAIRS, 4)).shape(new String[] {"  p", " pp", "ppp"}).setIngredient('p', MaterialList.PURPUR_BLOCK));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_SLAB, 6)).shape(new String[] {"ppp"}).setIngredient('p', MaterialList.PURPUR_BLOCK));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_PILLAR)).shape(new String[] {"s", "s"}).setIngredient('s', MaterialList.PURPUR_SLAB));
    
    //Arrows
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.SPECTRAL_ARROW, 2)).shape(new String[] {" d ", "dad", " d "}).setIngredient('d', org.bukkit.Material.GLOWSTONE_DUST).setIngredient('a', org.bukkit.Material.ARROW));
}
 
源代码3 项目: Thermos   文件: CraftServer.java
@Override
public boolean addRecipe(Recipe recipe) {
    CraftRecipe toAdd;
    if (recipe instanceof CraftRecipe) {
        toAdd = (CraftRecipe) recipe;
    } else {
        if (recipe instanceof ShapedRecipe) {
            toAdd = CraftShapedRecipe.fromBukkitRecipe((ShapedRecipe) recipe);
        } else if (recipe instanceof ShapelessRecipe) {
            toAdd = CraftShapelessRecipe.fromBukkitRecipe((ShapelessRecipe) recipe);
        } else if (recipe instanceof FurnaceRecipe) {
            toAdd = CraftFurnaceRecipe.fromBukkitRecipe((FurnaceRecipe) recipe);
        } else {
            return false;
        }
    }
    toAdd.addToCraftingManager();
    //net.minecraft.item.crafting.CraftingManager.getInstance().sort(); // Cauldron - mod recipes not necessarily sortable
    return true;
}
 
源代码4 项目: Carbon-2   文件: Injector.java
public void registerRecipes() {
    Bukkit.resetRecipes();
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.BEETROOT_SOUP)).shape(new String[] {"rrr", "rrr", " b "}).setIngredient('r', MaterialList.BEETROOT).setIngredient('b', org.bukkit.Material.BOWL));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.END_BRICKS)).shape(new String[] {"ee", "ee"}).setIngredient('e', org.bukkit.Material.ENDER_STONE));
    
    //Purpur block recipes
    addRecipe(new FurnaceRecipe(new ItemStack(MaterialList.CHORUS_FRUIT_POPPED), MaterialList.CHORUS_FRUIT));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_BLOCK, 4)).shape(new String[] {"pp", "pp"}).setIngredient('p', MaterialList.CHORUS_FRUIT_POPPED));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_STAIRS, 4)).shape(new String[] {"p  ", "pp ", "ppp"}).setIngredient('p', MaterialList.PURPUR_BLOCK));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_STAIRS, 4)).shape(new String[] {"  p", " pp", "ppp"}).setIngredient('p', MaterialList.PURPUR_BLOCK));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_SLAB, 6)).shape(new String[] {"ppp"}).setIngredient('p', MaterialList.PURPUR_BLOCK));
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.PURPUR_PILLAR)).shape(new String[] {"s", "s"}).setIngredient('s', MaterialList.PURPUR_SLAB));
    
    //Arrows
    addRecipe(new ShapedRecipe(new ItemStack(MaterialList.SPECTRAL_ARROW, 2)).shape(new String[] {" d ", "dad", " d "}).setIngredient('d', org.bukkit.Material.GLOWSTONE_DUST).setIngredient('a', org.bukkit.Material.ARROW));
}
 
源代码5 项目: Slimefun4   文件: TestRecipeService.java
@Test
public void testRecipe() {
    MinecraftRecipeService service = new MinecraftRecipeService(plugin);

    NamespacedKey key = new NamespacedKey(plugin, "furnace_recipe_test");
    ItemStack result = new ItemStack(Material.EMERALD_BLOCK);
    FurnaceRecipe recipe = new FurnaceRecipe(key, result, new MaterialChoice(Material.DIAMOND), 1, 2);
    server.addRecipe(recipe);

    // The Snapshot has not been taken, so it should fallback to an empty array
    Assertions.assertEquals(0, service.getRecipesFor(result).length);

    service.refresh();

    Recipe[] recipes = service.getRecipesFor(result);
    Assertions.assertEquals(1, recipes.length);
    Assertions.assertEquals(recipe, recipes[0]);
}
 
源代码6 项目: Slimefun4   文件: TestRecipeService.java
@Test
public void testFurnaceOutput() {
    MinecraftRecipeService service = new MinecraftRecipeService(plugin);

    NamespacedKey key = new NamespacedKey(plugin, "furnace_recipe_test2");
    ItemStack result = new ItemStack(Material.GOLD_BLOCK);
    MaterialChoice materials = new MaterialChoice(Material.DIRT, Material.COBBLESTONE);
    FurnaceRecipe recipe = new FurnaceRecipe(key, result, materials, 1, 2);
    server.addRecipe(recipe);

    // The Snapshot has not been taken, so it should fallback to an empty Optional
    Assertions.assertFalse(service.getFurnaceOutput(new ItemStack(Material.DIRT)).isPresent());

    service.refresh();

    Assertions.assertFalse(service.getFurnaceOutput(null).isPresent());
    Assertions.assertFalse(service.getFurnaceOutput(new ItemStack(Material.BEDROCK)).isPresent());

    Optional<ItemStack> optional = service.getFurnaceOutput(new ItemStack(Material.DIRT));
    Assertions.assertTrue(optional.isPresent());
    Assertions.assertEquals(result, optional.get());

    Optional<ItemStack> optional2 = service.getFurnaceOutput(new ItemStack(Material.COBBLESTONE));
    Assertions.assertTrue(optional2.isPresent());
    Assertions.assertEquals(result, optional2.get());
}
 
源代码7 项目: PGM   文件: CraftingModule.java
public Recipe parseSmeltingRecipe(MapFactory factory, Element elRecipe)
    throws InvalidXMLException {
  SingleMaterialMatcher ingredient =
      XMLUtils.parseMaterialPattern(
          XMLUtils.getRequiredUniqueChild(elRecipe, "ingredient", "i"));
  ItemStack result = parseRecipeResult(factory, elRecipe);
  if (ingredient.dataMatters()) {
    return new FurnaceRecipe(result, ingredient.getMaterialData());
  } else {
    return new FurnaceRecipe(result, ingredient.getMaterial());
  }
}
 
源代码8 项目: ProjectAres   文件: CraftingModule.java
public Recipe parseSmeltingRecipe(MapModuleContext context, Element elRecipe) throws InvalidXMLException {
    MaterialPattern ingredient = XMLUtils.parseMaterialPattern(XMLUtils.getRequiredUniqueChild(elRecipe, "ingredient", "i"));
    ItemStack result = parseRecipeResult(context, elRecipe);
    if(ingredient.dataMatters()) {
        return new FurnaceRecipe(result, ingredient.getMaterialData());
    } else {
        return new FurnaceRecipe(result, ingredient.getMaterial());
    }
}
 
源代码9 项目: Transport-Pipes   文件: NMSUtils.java
public static boolean isFurnaceBurnableItem(ItemStack item) {

        Iterator<Recipe> recipeIt = Bukkit.recipeIterator();
        while (recipeIt.hasNext()) {
            Recipe recipe = recipeIt.next();
            if (!(recipe instanceof FurnaceRecipe))
                continue;
            if(!((FurnaceRecipe) recipe).getInputChoice().test(item))
                continue;
            return true;
        }

        return false;
    }
 
源代码10 项目: ProRecipes   文件: RecipeFurnace.java
public RecipeFurnace(ItemStack r, ItemStack t){
	this.result = r;
	this.toBurn = t;
	id = "";
	def = false;
	register = new FurnaceRecipe(result, toBurn.getType(),(int)toBurn.getDurability());
}
 
源代码11 项目: CS-CoreLib   文件: RecipeCalculator.java
public static ItemStack getSmeltedOutput(Material type) {
	ItemStack result = null;
	Iterator<Recipe> iter = Bukkit.recipeIterator();
	while (iter.hasNext()) {
	   Recipe recipe = iter.next();
	   if (!(recipe instanceof FurnaceRecipe)) continue;
	   if (((FurnaceRecipe) recipe).getInput().getType() != type) continue;
	   result = recipe.getResult();
	   break;
	}
	
	return result;
}
 
源代码12 项目: Slimefun4   文件: ElectricFurnace.java
@Override
public void registerDefaultRecipes() {
    SlimefunPlugin.getMinecraftRecipeService().subscribe(snapshot -> {
        for (FurnaceRecipe recipe : snapshot.getRecipes(FurnaceRecipe.class)) {
            RecipeChoice choice = recipe.getInputChoice();

            if (choice instanceof MaterialChoice) {
                for (Material input : ((MaterialChoice) choice).getChoices()) {
                    registerRecipe(4, new ItemStack[] { new ItemStack(input) }, new ItemStack[] { recipe.getResult() });
                }
            }
        }
    });
}
 
源代码13 项目: Kettle   文件: CraftFurnaceRecipe.java
public static CraftFurnaceRecipe fromBukkitRecipe(FurnaceRecipe recipe) {
    if (recipe instanceof CraftFurnaceRecipe) {
        return (CraftFurnaceRecipe) recipe;
    }
    return new CraftFurnaceRecipe(recipe.getResult(), recipe.getInput());
}
 
源代码14 项目: AdditionsAPI   文件: CustomFurnaceRecipe.java
@Override
public FurnaceRecipe toBukkitRecipe(ItemStack result) {
	return toBukkitRecipe(null, result);
}
 
源代码15 项目: Thermos   文件: CraftFurnaceRecipe.java
public static CraftFurnaceRecipe fromBukkitRecipe(FurnaceRecipe recipe) {
    if (recipe instanceof CraftFurnaceRecipe) {
        return (CraftFurnaceRecipe) recipe;
    }
    return new CraftFurnaceRecipe(recipe.getResult(), recipe.getInput());
}
 
源代码16 项目: CardinalPGM   文件: SmeltRecipe.java
public SmeltRecipe(ItemStack result, MaterialData source) {
    setRecipe(new FurnaceRecipe(result, source));
}
 
 类所在包
 类方法
 同包方法