diff --git a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java index 9c63fe398c..ef5c4ff641 100644 --- a/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java +++ b/plugin/src/main/java/com/denizenscript/denizen/objects/LocationTag.java @@ -43,9 +43,7 @@ import org.bukkit.block.structure.UsageMode; import org.bukkit.entity.*; import org.bukkit.event.inventory.InventoryType; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.InventoryHolder; -import org.bukkit.inventory.ItemStack; +import org.bukkit.inventory.*; import org.bukkit.loot.LootTable; import org.bukkit.loot.Lootable; import org.bukkit.material.Attachable; @@ -5274,7 +5272,20 @@ else if (state instanceof Dropper) { mechanism.echoError("Cannot add item for index " + (i + 1) + " as the campfire can only hold " + fire.getSize() + " items."); break; } - fire.setItem(i, list.get(i).getItemStack()); + ItemStack item = list.get(i).getItemStack(); + fire.setCookTime(i, 0); + fire.setCookTimeTotal(i, 0); + Iterator recipeIterator = Bukkit.recipeIterator(); + while (recipeIterator.hasNext()) { + Recipe recipe = recipeIterator.next(); + if (recipe instanceof CampfireRecipe) { + if (((CampfireRecipe) recipe).getInputChoice().test(item)) { + fire.setCookTimeTotal(i, ((CampfireRecipe) recipe).getCookingTime()); + break; + } + } + } + fire.setItem(i, item); } fire.update(); } diff --git a/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/helpers/BlockHelperImpl.java b/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/helpers/BlockHelperImpl.java index ef24c9822d..602a394d89 100644 --- a/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/helpers/BlockHelperImpl.java +++ b/v1_19/src/main/java/com/denizenscript/denizen/nms/v1_19/helpers/BlockHelperImpl.java @@ -394,5 +394,4 @@ public void setVanillaTags(Material material, Set tags) { PacketHelperImpl.send(player, tagsPacket); } } - }