summaryrefslogtreecommitdiffstats
path: root/src/Entities
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2014-06-13 12:47:01 +0200
committerarchshift <admin@archshift.com>2014-06-17 20:39:22 +0200
commitfa1d85feca6beee9e07cf92f015a883a190c726a (patch)
treeebbd3fad6e4de32e892277edce26d5e5a9c7192e /src/Entities
parentEntity Effects: Clarified user, added it to AddEntityEffect (diff)
downloadcuberite-fa1d85feca6beee9e07cf92f015a883a190c726a.tar
cuberite-fa1d85feca6beee9e07cf92f015a883a190c726a.tar.gz
cuberite-fa1d85feca6beee9e07cf92f015a883a190c726a.tar.bz2
cuberite-fa1d85feca6beee9e07cf92f015a883a190c726a.tar.lz
cuberite-fa1d85feca6beee9e07cf92f015a883a190c726a.tar.xz
cuberite-fa1d85feca6beee9e07cf92f015a883a190c726a.tar.zst
cuberite-fa1d85feca6beee9e07cf92f015a883a190c726a.zip
Diffstat (limited to 'src/Entities')
-rw-r--r--src/Entities/Pawn.cpp9
-rw-r--r--src/Entities/Pawn.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/src/Entities/Pawn.cpp b/src/Entities/Pawn.cpp
index 2986799b7..41a5b33ff 100644
--- a/src/Entities/Pawn.cpp
+++ b/src/Entities/Pawn.cpp
@@ -3,6 +3,7 @@
#include "Pawn.h"
#include "../World.h"
+#include "../Bindings/PluginManager.h"
@@ -72,6 +73,14 @@ void cPawn::AddEntityEffect(cEntityEffect::eType a_EffectType, int a_EffectDurat
void cPawn::AddEntityEffect(cEntityEffect::eType a_EffectType, cEntityEffect a_Effect)
{
+ // Check if the plugins allow the addition:
+ if (cPluginManager::Get()->CallHookEntityAddEffect(*this, a_EffectType, a_Effect.GetDuration(), a_Effect.GetIntensity(), a_Effect.GetUser(), a_Effect.GetDistanceModifier()))
+ {
+ // A plugin disallows the addition, bail out.
+ return;
+ }
+
+ // No need to add empty effects:
if (a_EffectType == cEntityEffect::effNoEffect)
{
return;
diff --git a/src/Entities/Pawn.h b/src/Entities/Pawn.h
index 3b83ec52f..c6be6f668 100644
--- a/src/Entities/Pawn.h
+++ b/src/Entities/Pawn.h
@@ -26,6 +26,7 @@ public:
// tolua_begin
/** Applies an entity effect
+ Checks with plugins if they allow the addition.
@param a_EffectType The entity effect to apply
@param a_EffectDurationTicks The duration of the effect
@param a_EffectIntensity The level of the effect (0 = Potion I, 1 = Potion II, etc)
@@ -35,6 +36,7 @@ public:
void AddEntityEffect(cEntityEffect::eType a_EffectType, int a_EffectDurationTicks, short a_EffectIntensity, cPawn * a_User, double a_DistanceModifier = 1);
/** Applies an entity effect
+ Checks with plugins if they allow the addition.
@param a_EffectType The entity effect to apply
@param a_Effect The parameters of the effect
*/