#1009: Add Furnace#getRecipesUsed

By: Doc <nachito94@msn.com>
This commit is contained in:
CraftBukkit/Spigot
2022-02-15 18:48:54 +11:00
parent 77b8e4803a
commit b9534e1c48
2 changed files with 32 additions and 8 deletions

View File

@@ -1,11 +1,18 @@
package org.bukkit.craftbukkit.block;
import com.google.common.collect.ImmutableMap;
import java.util.Map;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.world.level.block.BlockFurnace;
import net.minecraft.world.level.block.entity.TileEntityFurnace;
import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.block.Furnace;
import org.bukkit.craftbukkit.inventory.CraftInventoryFurnace;
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
import org.bukkit.inventory.CookingRecipe;
import org.bukkit.inventory.FurnaceInventory;
import org.bukkit.inventory.Recipe;
public abstract class CraftFurnace<T extends TileEntityFurnace> extends CraftContainer<T> implements Furnace {
@@ -58,4 +65,17 @@ public abstract class CraftFurnace<T extends TileEntityFurnace> extends CraftCon
public void setCookTimeTotal(int cookTimeTotal) {
this.getSnapshot().cookingTotalTime = cookTimeTotal;
}
@Override
public Map<CookingRecipe<?>, Integer> getRecipesUsed() {
ImmutableMap.Builder<CookingRecipe<?>, Integer> recipesUsed = ImmutableMap.builder();
for (Map.Entry<MinecraftKey, Integer> entrySet : this.getSnapshot().getRecipesUsed().object2IntEntrySet()) {
Recipe recipe = Bukkit.getRecipe(CraftNamespacedKey.fromMinecraft(entrySet.getKey()));
if (recipe instanceof CookingRecipe<?> cookingRecipe) {
recipesUsed.put(cookingRecipe, entrySet.getValue());
}
}
return recipesUsed.build();
}
}