HOOK_PRE_CRAFTING
Index: Articles Classes Hooks Quick navigation: BLOCK_SPREAD BLOCK_TO_PICKUPS BREWING_COMPLETED BREWING_COMPLETING CHAT CHUNK_AVAILABLE CHUNK_GENERATED CHUNK_GENERATING CHUNK_UNLOADED CHUNK_UNLOADING COLLECTING_PICKUP CRAFTING_NO_RECIPE DISCONNECT ENTITY_ADD_EFFECT ENTITY_CHANGED_WORLD ENTITY_CHANGING_WORLD ENTITY_TELEPORT EXECUTE_COMMAND EXPLODED EXPLODING HANDSHAKE HOPPER_PULLING_ITEM HOPPER_PUSHING_ITEM KILLED KILLING LOGIN PLAYER_ANIMATION PLAYER_BREAKING_BLOCK PLAYER_BROKEN_BLOCK PLAYER_DESTROYED PLAYER_EATING PLAYER_FISHED PLAYER_FISHING PLAYER_FOOD_LEVEL_CHANGE PLAYER_JOINED PLAYER_LEFT_CLICK PLAYER_MOVING PLAYER_PLACED_BLOCK PLAYER_PLACING_BLOCK PLAYER_RIGHT_CLICK PLAYER_RIGHT_CLICKING_ENTITY PLAYER_SHOOTING PLAYER_SPAWNED PLAYER_TOSSING_ITEM PLAYER_USED_BLOCK PLAYER_USED_ITEM PLAYER_USING_BLOCK PLAYER_USING_ITEM PLUGINS_LOADED PLUGIN_MESSAGE POST_CRAFTING PRE_CRAFTING PROJECTILE_HIT_BLOCK PROJECTILE_HIT_ENTITY SERVER_PING SPAWNED_ENTITY SPAWNED_MONSTER SPAWNING_ENTITY SPAWNING_MONSTER TAKE_DAMAGE TICK UPDATED_SIGN UPDATING_SIGN WEATHER_CHANGED WEATHER_CHANGING WORLD_STARTED WORLD_TICK | This hook is called when a player changes contents of their crafting grid, before the built-in recipes are searched for a match by Cuberite. Plugins may use this hook to provide a custom recipe. If you intend to tweak built-in recipes, use the HOOK_POST_CRAFTING hook, because that will be called once the built-in recipe is matched. Also note a third hook, HOOK_CRAFTING_NO_RECIPE, that is called when Cuberite cannot find any built-in recipe for the given ingredients. Callback functionThe default name for the callback function is OnPreCrafting. It has the following signature: function OnPreCrafting(Player, Grid, Recipe) Parameters:
If the function returns false or no value, other plugins' callbacks are called and then Cuberite searches the built-in recipes. The Recipe output parameter is ignored in this case. If the function returns true, no other callbacks are called for this event and Cuberite uses the recipe stored in the Recipe output parameter. Code examplesRegistering the callbackcPluginManager:AddHook(cPluginManager.HOOK_PRE_CRAFTING, MyOnPreCrafting); |