Skip to content

Instantly share code, notes, and snippets.

@bendem
Last active August 6, 2017 07:01
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bendem/8321525 to your computer and use it in GitHub Desktop.
Save bendem/8321525 to your computer and use it in GitHub Desktop.
Used to set the cookTime for bukkit
import org.bukkit.block.Furnace;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.inventory.FurnaceBurnEvent;
import org.bukkit.event.inventory.FurnaceSmeltEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.inventory.FurnaceInventory;
import org.bukkit.Material;
import org.bukkit.plugin.java.JavaPlugin;
public class CookTimeSetter implements Listener {
public JavaPlugin plugin;
public Short cookTime = (short) 100;
CookTimeSetter(JavaPlugin plugin) {
this.plugin = plugin;
}
@EventHandler
public void furnaceBurn(FurnaceBurnEvent event) {
// Setting cookTime when the fuel is consumed
Furnace furnace = (Furnace) event.getBlock().getState();
furnace.setCookTime(cookTime);
}
@EventHandler
public void furnaceSmeltEvent(FurnaceSmeltEvent event) {
// Setting cookTime after cooking an item (and the fuel is still burning)
Furnace furnace = (Furnace) event.getBlock().getState();
furnace.setCookTime(cookTime);
}
@EventHandler
public void onInventoryClick(InventoryClickEvent event) {
if(event.getInventory() instanceof FurnaceInventory) {
return;
}
Furnace furnace = (Furnace) (event.getWhoClicked().getTargetBlock(null, 10)).getState();
// Setting cookTime when the furnace is empty but already burning
if ((event.getSlot() == 0 || event.getSlot() == 1) // Click in one of the two slots
&& event.getCursor().getType() != Material.AIR // With an item
&& furnace.getCookTime() > cookTime) { // The furnace is not already burning something
furnace.setCookTime(cookTime);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment