-void scriptapi_get_creative_inventory(lua_State *L, ServerRemotePlayer *player);
-
-/* craftitem */
-void scriptapi_add_craftitem(lua_State *L, const char *name);
-bool scriptapi_craftitem_on_drop(lua_State *L, const char *name,
- ServerActiveObject *dropper, v3f pos,
- bool &callback_exists);
-bool scriptapi_craftitem_on_place_on_ground(lua_State *L, const char *name,
- ServerActiveObject *placer, v3f pos,
- bool &callback_exists);
-bool scriptapi_craftitem_on_use(lua_State *L, const char *name,
- ServerActiveObject *user, const PointedThing& pointed,
- bool &callback_exists);
+void scriptapi_on_joinplayer(lua_State *L, ServerActiveObject *player);
+void scriptapi_on_leaveplayer(lua_State *L, ServerActiveObject *player);
+void scriptapi_get_creative_inventory(lua_State *L, ServerActiveObject *player);
+
+/* item callbacks */
+bool scriptapi_item_on_drop(lua_State *L, ItemStack &item,
+ ServerActiveObject *dropper, v3f pos);
+bool scriptapi_item_on_place(lua_State *L, ItemStack &item,
+ ServerActiveObject *placer, const PointedThing &pointed);
+bool scriptapi_item_on_use(lua_State *L, ItemStack &item,
+ ServerActiveObject *user, const PointedThing &pointed);
+
+/* node callbacks */
+bool scriptapi_node_on_punch(lua_State *L, v3s16 p, MapNode node,
+ ServerActiveObject *puncher);
+bool scriptapi_node_on_dig(lua_State *L, v3s16 p, MapNode node,
+ ServerActiveObject *digger);