服务器使用量
3
服务玩家数
1
下载量
13,978
插件详细介绍
FancyCrafting 是一个强大的自定义合成 API,允许开发者创建支持 NBT、材质、附魔等高级属性的有序/无序合成配方。对于服主而言,只需安装即可为依赖它的插件提供支持。
问题反馈
- 请通过 Discord 提交错误、问题、疑问和建议。
服务器服主安装指南
- 如果其他插件指引您来到此页面,说明需要安装 FancyCrafting。
- 下载插件并将其放入服务器的
plugins文件夹。 - 重启服务器即可完成安装。
开发者使用指南
FancyCrafting 简单易用。首先,将其作为依赖项添加到您的项目中。
使用 Maven 导入
在 `pom.xml` 中添加以下依赖
<dependency>
<groupId>de.ancash</groupId>
<artifactId>fancycrafting</artifactId>
<version>4.5.3</version>
</dependency>- 同时,请确保在您插件的
plugin.yml中将其添加为依赖,以避免错误。
有序合成配方 (Shaped Recipe)
需要导入的类:
import de.ancash.fancycrafting.recipe.IShapedRecipe;
import de.ancash.fancycrafting.base.AbstractFancyCrafting;创建示例:
ItemStack[] ingredientsArray = new ItemStack[] {
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK)
};
// 此数组的维度为 2x2
// 最大支持 8x6 的网格 (共 48 个材料位)
ItemStack result = new ItemStack(Material.DIAMOND_BLOCK);
IShapedRecipe shapedRecipe = new IShapedRecipe(ingredientsArray, 2, 2, result, "Shaped Tutorial", UUID.randomUUID());
AbstractFancyCrafting.registerRecipe(shapedRecipe);无序合成配方 (Shapeless Recipe)
需要导入的类:
import de.ancash.fancycrafting.recipe.IShapelessRecipe;
import de.ancash.fancycrafting.base.AbstractFancyCrafting;创建示例:
ItemStack[] ingredientsArray = new ItemStack[] {
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK)
};
// 数组维度无关紧要,但最大长度为 48,空值将被忽略。
// 也可以使用任何其他集合类型。
ItemStack result = new ItemStack(Material.DIAMOND_BLOCK);
IShapelessRecipe shapelessRecipe = new IShapelessRecipe(Arrays.asList(ingredientsArray), result, "Shapeless Tutorial", UUID.randomUUID());
AbstractFancyCrafting.registerRecipe(shapelessRecipe);随机结果有序配方 (Random Shaped Recipe)
需要导入的类:
import de.ancash.fancycrafting.recipe.IRandomShapedRecipe;
import de.ancash.fancycrafting.base.AbstractFancyCrafting;创建示例:
Map<ItemStack, Integer> probMap = new HashMap<>();
probMap.put(new ItemStack(Material.DIAMOND_BLOCK), 1);
probMap.put(new ItemStack(Material.COAL_BLOCK), 1);
// 物品出现的概率为其值除以所有值的总和
ItemStack[] ingredientsArray = new ItemStack[] {
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK)
};
ItemStack result = new ItemStack(Material.CHEST);
ItemMeta meta = result.getItemMeta();
meta.setDisplayName("Random Result");
meta.setLore(Arrays.asList("§7Diamond Block: §a50%", "§7Coal Block: §a50%"));
result.setItemMeta(meta);
IRandomShapedRecipe randomShapedRecipe = new IRandomShapedRecipe(ingredientsArray, 2, 2, result, "Random Shaped Recipe", UUID.randomUUID(), probMap);
AbstractFancyCrafting.registerRecipe(randomShapedRecipe);随机结果无序配方 (Random Shapeless Recipe)
需要导入的类:
import de.ancash.fancycrafting.recipe.IRandomShapelessRecipe;
import de.ancash.fancycrafting.base.AbstractFancyCrafting;创建示例:
Map<ItemStack, Integer> probMap = new HashMap<>();
probMap.put(new ItemStack(Material.DIAMOND_BLOCK), 1);
probMap.put(new ItemStack(Material.COAL_BLOCK), 1);
// 物品出现的概率为其值除以所有值的总和
ItemStack[] ingredientsArray = new ItemStack[] {
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK),
new ItemStack(Material.COAL_BLOCK)
};
ItemStack result = new ItemStack(Material.CHEST);
ItemMeta meta = result.getItemMeta();
meta.setDisplayName("Random Result");
meta.setLore(Arrays.asList("§7Diamond Block: §a50%", "§7Coal Block: §a50%"));
result.setItemMeta(meta);
IRandomShapelessRecipe randomShapelessRecipe = new IRandomShapelessRecipe(Arrays.asList(ingredientsArray), result, "Random Shaped Recipe", UUID.randomUUID(), probMap);
AbstractFancyCrafting.registerRecipe(randomShapelessRecipe);主要功能
- 自定义合成配方:支持 NBT、材质、元数据、附魔等。
- 自定义合成网格:支持多种尺寸的合成界面。
- 原版工作台:兼容 3x3 和 2x2 合成。
- 随机配方结果:合成可产出随机结果的物品。
- 配方黑名单:禁止特定配方。
- 自动合成器:提供自动合成功能。
命令
主命令为 `/fc`,包含以下子命令
open
- 无参数:为自己打开默认合成界面。
- 权限:
fancycrafting.open <1-8> <1-6>:为自己打开指定宽度和高度的合成界面。- 权限:
fancycrafting.open.<1-8>x<1-6> <玩家名>:为指定玩家打开默认合成界面。- 权限:
fancycrafting.open.other <玩家名> <1-8> <1-6>:为指定玩家打开指定尺寸的合成界面。- 权限:
fancycrafting.open.other.<1-8>x<1-6>
reload
- 无参数:重载所有原版/自定义配方及配置文件。
- 权限:
fancycrafting.admin.reload
create
- 无参数:打开 GUI 以创建新的自定义配方。
- 权限:
fancycrafting.admin.create
edit
<配方名>:编辑一个或多个同名的自定义配方。配方名中的空格需替换为-。若有多个同名配方,可通过点击箭头按钮切换。- 权限:
fancycrafting.admin.edit
view
- 无参数:查看所有自定义配方。
- 权限:
fancycrafting.admin.view <配方名>:查看所有指定名称的配方(名称中的空格替换为-)。也可查看大多数原版配方。- 权限:
fancycrafting.view.<配方名>
合成与权限说明
所有玩家默认没有以下权限,即使是 OP 也需要显式设置。
合成权限
- 当配置项
perms-for-custom-recipes设为true时,合成自定义配方需要权限:fancycrafting.craft.<配方名>(空格替换为-)。 - 当配置项
perms-for-vanilla-recipes设为true时,合成原版配方需要权限:fancycrafting.craft.<配方名>(配方名为产出物品的名称,空格替换为-)。
管理员权限列表
- 创建配方:
fancycrafting.admin.create - 编辑配方:
fancycrafting.admin.edit - 查看所有配方:
fancycrafting.admin.view - 快速合成:
fancycrafting.qc - 打开默认 GUI:
fancycrafting.open - 重载插件:
fancycrafting.admin.reload
与 Deluxe Menus 集成
若要从 Deluxe Menus 的 GUI 中打开 FancyCrafting 合成界面,请在 Deluxe Menus 的命令列表中添加:
- '[close]'
- '[player] fc open <delay=2>'前置插件
- ILibrary:https://www.spigotmc.org/resources/ilibrary.89796/
- NBTNexus:https://www.spigotmc.org/resources/nbtnexus.111041/
测试支持版本
版本分布
基本信息
插件名称
FancyCrafting
作者
Ancash
平台
Bukkit / Spigot
支持版本
1.14 - 1.20
点赞数
2
最近版本
4.11.0
2
4.6.2
1