Added minetest.register_on_play_sound
parent
50629cc6a1
commit
fb4d54ee30
|
@ -95,3 +95,4 @@ core.registered_on_modchannel_message, core.register_on_modchannel_message = mak
|
|||
core.registered_on_modchannel_signal, core.register_on_modchannel_signal = make_registration()
|
||||
core.registered_on_inventory_open, core.register_on_inventory_open = make_registration()
|
||||
core.registered_on_recieve_physics_override, core.register_on_recieve_physics_override = make_registration()
|
||||
core.registered_on_play_sound, core.register_on_play_sound = make_registration()
|
||||
|
|
|
@ -750,6 +750,10 @@ Call these functions only at load time!
|
|||
* Called when recieving physics_override from server
|
||||
* Newest functions are called first
|
||||
* If any function returns true, the physics override does not change
|
||||
* `minetest.register_on_sound_play(function(SimpleSoundSpec))`
|
||||
* Called when recieving a play sound command from server
|
||||
* Newest functions are called first
|
||||
* If any function returns true, the sound does not play
|
||||
|
||||
### Setting-related
|
||||
* `minetest.settings`: Settings object containing all of the settings from the
|
||||
|
|
|
@ -833,7 +833,12 @@ void Client::handleCommand_PlaySound(NetworkPacket* pkt)
|
|||
*pkt >> pitch;
|
||||
*pkt >> ephemeral;
|
||||
} catch (PacketError &e) {};
|
||||
|
||||
|
||||
SimpleSoundSpec sound_spec(name, gain, fade, pitch);
|
||||
|
||||
if (m_mods_loaded && m_script->on_play_sound(sound_spec))
|
||||
return;
|
||||
|
||||
// Start playing
|
||||
int client_id = -1;
|
||||
switch(type) {
|
||||
|
|
|
@ -237,6 +237,22 @@ bool ScriptApiClient::on_recieve_physics_override(float speed, float jump, float
|
|||
return readParam<bool>(L, -1);
|
||||
}
|
||||
|
||||
bool ScriptApiClient::on_play_sound(SimpleSoundSpec spec)
|
||||
{
|
||||
SCRIPTAPI_PRECHECKHEADER
|
||||
|
||||
// Get core.registered_on_play_sound
|
||||
lua_getglobal(L, "core");
|
||||
lua_getfield(L, -1, "registered_on_play_sound");
|
||||
|
||||
// Push data
|
||||
push_soundspec(L, spec);
|
||||
|
||||
// Call functions
|
||||
runCallbacks(1, RUN_CALLBACKS_MODE_OR);
|
||||
return readParam<bool>(L, -1);
|
||||
}
|
||||
|
||||
bool ScriptApiClient::on_inventory_open(Inventory *inventory)
|
||||
{
|
||||
SCRIPTAPI_PRECHECKHEADER
|
||||
|
|
|
@ -58,6 +58,7 @@ public:
|
|||
bool on_placenode(const PointedThing &pointed, const ItemDefinition &item);
|
||||
bool on_item_use(const ItemStack &item, const PointedThing &pointed);
|
||||
bool on_recieve_physics_override(float override_speed, float override_jump, float override_gravity, bool sneak, bool sneak_glitch, bool new_move);
|
||||
bool on_play_sound(SimpleSoundSpec spec);
|
||||
|
||||
bool on_inventory_open(Inventory *inventory);
|
||||
void open_enderchest();
|
||||
|
|
Loading…
Reference in New Issue