Package cn.nukkit.inventory
Class CraftingManager
java.lang.Object
cn.nukkit.inventory.CraftingManager
用于管理合成配方
Used to manage crafting recipes
- Author:
- MagicDroidX (Nukkit Project)
-
Nested Class Summary
-
Field Summary
Modifier and TypeFieldDescriptionfinal Map<Integer,
BlastFurnaceRecipe> Deprecated.final Map<Integer,
BrewingRecipe> Deprecated.final Map<Integer,
CampfireRecipe> Deprecated.protected final Map<Integer,
Map<UUID, CartographyRecipe>> Deprecated.final Map<Integer,
ContainerRecipe> Deprecated.final Map<Integer,
FurnaceRecipe> Deprecated.final Map<UUID,
MultiRecipe> Deprecated.static DataPacket
Deprecated.static final Comparator<Item>
final Collection<Recipe>
Deprecated.protected final Map<Integer,
Map<UUID, ShapedRecipe>> Deprecated.protected final Map<Integer,
Map<UUID, ShapelessRecipe>> Deprecated.final Map<Integer,
SmokerRecipe> Deprecated.final Map<Integer,
StonecutterRecipe> Deprecated. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionit.unimi.dsi.fastutil.ints.Int2ObjectMap<BlastFurnaceRecipe>
it.unimi.dsi.fastutil.ints.Int2ObjectMap<BrewingRecipe>
it.unimi.dsi.fastutil.ints.Int2ObjectMap<CampfireRecipe>
it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,
CartographyRecipe>> static int
getContainerHash
(Item ingredient, Item container) it.unimi.dsi.fastutil.ints.Int2ObjectMap<ContainerRecipe>
static DataPacket
static int
getFullItemHash
(Item item) Deprecated.it.unimi.dsi.fastutil.ints.Int2ObjectMap<FurnaceRecipe>
static int
getItemHash
(Item item) static int
getItemHash
(Item item, int meta) static UUID
getItemWithItemDescriptorsHash
(Collection<Item> items, Collection<ItemDescriptor> itemDescriptors) static UUID
getMultiItemHash
(Collection<Item> items) static int
getPotionHash
(Item ingredient, Item potion) static int
double
getRecipeXp
(Recipe recipe) it.unimi.dsi.fastutil.objects.Object2DoubleOpenHashMap<Recipe>
it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,
ShapedRecipe>> static UUID
getShapelessItemDescriptorHash
(Collection<ItemDescriptor> itemDescriptors) static UUID
getShapelessMultiItemHash
(Collection<Item> items) it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,
ShapelessRecipe>> it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,
SmithingRecipe>> it.unimi.dsi.fastutil.ints.Int2ObjectMap<SmokerRecipe>
it.unimi.dsi.fastutil.ints.Int2ObjectMap<StonecutterRecipe>
matchBlastFurnaceRecipe
(Item input) matchBrewingRecipe
(Item input, Item potion) matchCampfireRecipe
(Item input) matchContainerRecipe
(Item input, Item potion) matchFurnaceRecipe
(Item input) matchModProcessRecipe
(String category, List<Item> inputList) matchSmithingRecipe
(Item equipment, Item ingredient) matchSmithingRecipe
(Item equipment, Item ingredient, Item primaryOutput) matchSmithingRecipe
(List<Item> inputList) matchSmithingRecipe
(List<Item> inputList, Item primaryOutput) matchSmokerRecipe
(Item input) matchStonecutterRecipe
(Item output) void
void
void
registerBrewingRecipe
(BrewingRecipe recipe) void
registerCampfireRecipe
(CampfireRecipe recipe) void
void
void
registerFurnaceRecipe
(FurnaceRecipe recipe) void
void
registerMultiRecipe
(MultiRecipe recipe) void
registerRecipe
(Recipe recipe) void
registerShapedRecipe
(ShapedRecipe recipe) void
void
registerSmithingRecipe
(SmithingRecipe recipe) void
registerSmokerRecipe
(SmokerRecipe recipe) void
static void
setCraftingPacket
(DataPacket craftingPacket) void
setRecipeXp
(Recipe recipe, double xp)
-
Field Details
-
recipeComparator
-
packet
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.", replaceWith="getPacket()") @Since("1.5.0.0-PN") public static DataPacket packetDeprecated.缓存着配方数据包 -
shapedRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") protected final Map<Integer,Map<UUID, shapedRecipesShapedRecipe>> Deprecated. -
furnaceRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") public final Map<Integer,FurnaceRecipe> furnaceRecipesDeprecated. -
blastFurnaceRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") @PowerNukkitOnly public final Map<Integer,BlastFurnaceRecipe> blastFurnaceRecipesDeprecated. -
campfireRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") @PowerNukkitOnly public final Map<Integer,CampfireRecipe> campfireRecipesDeprecated. -
smokerRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") @PowerNukkitOnly public final Map<Integer,SmokerRecipe> smokerRecipesDeprecated. -
multiRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") @Since("1.4.0.0-PN") public final Map<UUID,MultiRecipe> multiRecipesDeprecated. -
brewingRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") public final Map<Integer,BrewingRecipe> brewingRecipesDeprecated. -
containerRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") public final Map<Integer,ContainerRecipe> containerRecipesDeprecated. -
stonecutterRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") @PowerNukkitOnly public final Map<Integer,StonecutterRecipe> stonecutterRecipesDeprecated. -
shapelessRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") protected final Map<Integer,Map<UUID, shapelessRecipesShapelessRecipe>> Deprecated. -
cartographyRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") @PowerNukkitOnly protected final Map<Integer,Map<UUID, cartographyRecipesCartographyRecipe>> Deprecated. -
recipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", reason="Direct access to fields are not future-proof.") @PowerNukkitXDifference(info="Now it is contain all type recipes", since="1.19.50-r3") public final Collection<Recipe> recipesDeprecated.一个包含全部种类配方的双端队列集合
-
-
Constructor Details
-
CraftingManager
public CraftingManager()
-
-
Method Details
-
getCraftingPacket
-
getMultiItemHash
@PowerNukkitOnly("Public only in PowerNukkit") public static UUID getMultiItemHash(Collection<Item> items) -
getItemWithItemDescriptorsHash
@PowerNukkitXOnly @Since("1.19.50-r2") public static UUID getItemWithItemDescriptorsHash(Collection<Item> items, Collection<ItemDescriptor> itemDescriptors) -
getShapelessItemDescriptorHash
@Since("1.19.50-r3") @PowerNukkitXOnly public static UUID getShapelessItemDescriptorHash(Collection<ItemDescriptor> itemDescriptors) -
getShapelessMultiItemHash
@Since("1.19.50-r3") @PowerNukkitXOnly public static UUID getShapelessMultiItemHash(Collection<Item> items) -
getFullItemHash
@PowerNukkitOnly("Public only in PowerNukkit") @Since("FUTURE") public static int getFullItemHash(Item item) -
getItemHash
@PowerNukkitOnly("Public only in PowerNukkit") @Since("FUTURE") public static int getItemHash(Item item) -
getItemHash
-
getPotionHash
@PowerNukkitOnly("Public only in PowerNukkit") public static int getPotionHash(Item ingredient, Item potion) -
getContainerHash
@PowerNukkitOnly public static int getContainerHash(@NotNull Item ingredient, @NotNull Item container) -
getShapedRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,ShapedRecipe>> getShapedRecipeMap() -
getFurnaceRecipesMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<FurnaceRecipe> getFurnaceRecipesMap() -
getBlastFurnaceRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<BlastFurnaceRecipe> getBlastFurnaceRecipeMap() -
getSmokerRecipeMap
-
getCampfireRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<CampfireRecipe> getCampfireRecipeMap() -
getMultiRecipeMap
-
getBrewingRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<BrewingRecipe> getBrewingRecipeMap() -
getContainerRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<ContainerRecipe> getContainerRecipeMap() -
getStonecutterRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<StonecutterRecipe> getStonecutterRecipeMap() -
getShapelessRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,ShapelessRecipe>> getShapelessRecipeMap() -
getCartographyRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,CartographyRecipe>> getCartographyRecipeMap() -
getSmithingRecipeMap
@PowerNukkitOnly public it.unimi.dsi.fastutil.ints.Int2ObjectMap<Map<UUID,SmithingRecipe>> getSmithingRecipeMap() -
getRecipeXpMap
@Since("1.19.50-r3") @PowerNukkitXOnly public it.unimi.dsi.fastutil.objects.Object2DoubleOpenHashMap<Recipe> getRecipeXpMap() -
getModProcessRecipeMap
@Since("1.19.50-r3") @PowerNukkitXOnly public Map<String,Map<UUID, getModProcessRecipeMap()ModProcessRecipe>> -
getFurnaceRecipes
@Deprecated @DeprecationDetails(by="PowerNukkit", since="FUTURE", replaceWith="getFurnaceRecipeMap()", reason="The other provides a specialized map which performs better") public Map<Integer,FurnaceRecipe> getFurnaceRecipes()Deprecated. -
getRecipes
-
getRecipeCount
public static int getRecipeCount() -
rebuildPacket
public void rebuildPacket() -
matchFurnaceRecipe
-
matchCampfireRecipe
-
matchBlastFurnaceRecipe
-
matchSmokerRecipe
-
registerRecipe
-
registerCartographyRecipe
-
registerShapedRecipe
-
registerShapelessRecipe
-
registerStonecutterRecipe
-
registerFurnaceRecipe
-
registerBlastFurnaceRecipe
-
registerSmokerRecipe
-
registerCampfireRecipe
-
registerModProcessRecipe
@Since("1.19.50-r3") @PowerNukkitXOnly public void registerModProcessRecipe(@NotNull ModProcessRecipe recipe) -
registerSmithingRecipe
@PowerNukkitOnly @Since("1.4.0.0-PN") public void registerSmithingRecipe(@NotNull SmithingRecipe recipe) -
registerBrewingRecipe
-
registerContainerRecipe
-
registerMultiRecipe
-
matchSmithingRecipe
@PowerNukkitOnly @Since("1.4.0.0-PN") @Nullable public SmithingRecipe matchSmithingRecipe(Item equipment, Item ingredient) -
matchSmithingRecipe
@PowerNukkitOnly @Since("1.4.0.0-PN") @Nullable public SmithingRecipe matchSmithingRecipe(@NotNull List<Item> inputList) -
matchSmithingRecipe
@PowerNukkitOnly @Since("1.4.0.0-PN") @Nullable public SmithingRecipe matchSmithingRecipe(@NotNull Item equipment, @NotNull Item ingredient, @NotNull Item primaryOutput) -
matchSmithingRecipe
@PowerNukkitOnly @Since("1.4.0.0-PN") public SmithingRecipe matchSmithingRecipe(@NotNull List<Item> inputList, @NotNull Item primaryOutput) -
matchBrewingRecipe
-
matchContainerRecipe
-
matchStonecutterRecipe
-
matchCartographyRecipe
@PowerNukkitOnly public CartographyRecipe matchCartographyRecipe(List<Item> inputList, Item primaryOutput, List<Item> extraOutputList) -
matchRecipe
-
matchModProcessRecipe
@Since("1.19.50-r3") @PowerNukkitXOnly @Nullable public ModProcessRecipe matchModProcessRecipe(@NotNull String category, @NotNull List<Item> inputList) -
setRecipeXp
-
setCraftingPacket
@PowerNukkitXOnly @Since("1.19.50-r3") public static void setCraftingPacket(DataPacket craftingPacket) -
getRecipeXp
-