Class PlayerCraftItemEvent

All Implemented Interfaces:
Cancellable

public final class PlayerCraftItemEvent extends PlayerEvent implements Cancellable
Called when the player crafts an item. This event is also triggered if the player crafts an object (like furniture) or a construction element (like a block) etc.
Example: Check what kind of item was crafted
1@EventMethod
2public void onPlayerCraftItem(PlayerCraftItemEvent evt) {
3 //Get crafted item
4 Item item = evt.getItem();
5
6 //Check if item is a construction element
7 if (item instanceof Item.ConstructionItem construction) {
8 System.out.println("Player crafted construction element: " + construction.getConstructionName()); //prints "block", for example
9 }
10
11 //Check if item is an object
12 else if (item instanceof Item.ObjectItem object) {
13 System.out.println("Player crafted object: " + object.getObjectName()); //prints "workbench", for example
14 }
15
16 //Check if item is a garment
17 else if (item instanceof Item.ClothingItem clothing) {
18 System.out.println("Player crafted clothing item: " + clothing.getClothingName()); //prints "mininghelmet", for example
19 }
20
21 //Check if item is a blueprint
22 else if (item instanceof Item.BlueprintItem blueprint) {
23 System.out.println("Player crafted blueprint: " + blueprint.getBlueprintName()); //prints "My summer house", for example
24 }
25
26 //Else check if item is not null
27 else if (item != null) {
28 System.out.println("Player crafted regular item: " + item.getName());
29 }
30}
  • Method Details

    • getRecipe

      public Crafting.Recipe getRecipe()
      Gets the related crafting recipe.
      Returns:
      the crafting recipe.
    • getTexture

      public int getTexture()
      Gets the texture of the item/recipe. Typically this is just 0. Often it's the same as the item variant, however, for blocks, this is the actual block texture the player wants to craft.
      Returns:
      the item texture.
    • getVariant

      public int getVariant()
      Gets the variant of the item/recipe. Typically this is just 0 or identical with the texture. However, this is specifically relevant when crafting blocks, because then this is the actual block id.
      Returns:
      the item variant.
    • getColor

      public int getColor()
      Gets the rgba color of the items the player wants to craft. In most cases this is unused, but may be set when crafting construction elements (like blocks), for example.
      Returns:
      the desired color, as rgba int.
    • getAmount

      public int getAmount()
      Gets the number of items the player wants to craft.
      Returns:
      the number of items the player crafts.
    • getItem

      public Item getItem()
      Gets the item the player wants to craft.
      Returns:
      the item.
    • isCancelled

      public boolean isCancelled()
      Description copied from interface: Cancellable
      Determines if the event is cancelled. If an event is cancelled, it will no longer be executed, but other plugins will still receive the event.

      Please note: If the event is threaded, cancellation has no effect, i.e the event will still be executed.
      Specified by:
      isCancelled in interface Cancellable
      Returns:
      true if the event is cancelled, or false if not.
    • setCancelled

      public void setCancelled(boolean cancel)
      Description copied from interface: Cancellable
      Cancels this event. This means it will no longer be executed, but other plugins will still receive the event.

      Specified by:
      setCancelled in interface Cancellable
      Parameters:
      cancel - set to true if you want to cancel this event.
      Example: Cancel "PlayerEnterAreaEvent", i.e prevent player from entering an area
      1//Listener class
      2public class PlayerListener implements Listener{
      3 @EventMethod
      4 public void onEnterArea(PlayerEnterAreaEvent evt){
      5 //Now the player will not be able to enter the area, i.e.
      6 //he will be teleported back to his old position (outside the area)
      7 evt.setCancelled(true);
      8 }
      9}