Skip to content

Commit cabf6c6

Browse files
authored
fix: fix player attribute setter (#149)
1 parent 46eecf8 commit cabf6c6

File tree

1 file changed

+30
-48
lines changed

1 file changed

+30
-48
lines changed

src/legacy/api/PlayerAPI.cpp

Lines changed: 30 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2651,9 +2651,7 @@ Local<Value> PlayerClass::setHealth(const Arguments& args) {
26512651
Player* player = get();
26522652
if (!player) return Local<Value>();
26532653

2654-
AttributeInstance* healthAttribute = player->getMutableAttribute(SharedAttributes::HEALTH);
2655-
2656-
healthAttribute->setCurrentValue(args[0].asNumber().toFloat());
2654+
player->getMutableAttribute(SharedAttributes::HEALTH)->setCurrentValue(args[0].asNumber().toFloat());
26572655

26582656
return Boolean::newBoolean(true);
26592657
}
@@ -2668,9 +2666,7 @@ Local<Value> PlayerClass::setMaxHealth(const Arguments& args) {
26682666
Player* player = get();
26692667
if (!player) return Local<Value>();
26702668

2671-
AttributeInstance* healthAttribute = player->getMutableAttribute(SharedAttributes::HEALTH);
2672-
2673-
healthAttribute->setMaxValue(args[0].asNumber().toFloat());
2669+
player->getMutableAttribute(SharedAttributes::HEALTH)->setMaxValue(args[0].asNumber().toFloat());
26742670

26752671
return Boolean::newBoolean(true);
26762672
}
@@ -2685,9 +2681,7 @@ Local<Value> PlayerClass::setAbsorption(const Arguments& args) {
26852681
Player* player = get();
26862682
if (!player) return Local<Value>();
26872683

2688-
AttributeInstance* absorptionAttribute = player->getMutableAttribute(SharedAttributes::ABSORPTION);
2689-
2690-
absorptionAttribute->setCurrentValue(args[0].asNumber().toFloat());
2684+
player->getMutableAttribute(SharedAttributes::ABSORPTION)->setCurrentValue(args[0].asNumber().toFloat());
26912685

26922686
return Boolean::newBoolean(true);
26932687
}
@@ -2702,9 +2696,7 @@ Local<Value> PlayerClass::setAttackDamage(const Arguments& args) {
27022696
Player* player = get();
27032697
if (!player) return Local<Value>();
27042698

2705-
AttributeInstance* attactDamageAttribute = player->getMutableAttribute(SharedAttributes::ATTACK_DAMAGE);
2706-
2707-
attactDamageAttribute->setCurrentValue(args[0].asNumber().toFloat());
2699+
player->getMutableAttribute(SharedAttributes::ATTACK_DAMAGE)->setCurrentValue(args[0].asNumber().toFloat());
27082700

27092701
return Boolean::newBoolean(true);
27102702
}
@@ -2719,9 +2711,7 @@ Local<Value> PlayerClass::setMaxAttackDamage(const Arguments& args) {
27192711
Player* player = get();
27202712
if (!player) return Local<Value>();
27212713

2722-
AttributeInstance* attactDamageAttribute = player->getMutableAttribute(SharedAttributes::ATTACK_DAMAGE);
2723-
2724-
attactDamageAttribute->setMaxValue(args[0].asNumber().toFloat());
2714+
player->getMutableAttribute(SharedAttributes::ATTACK_DAMAGE)->setMaxValue(args[0].asNumber().toFloat());
27252715

27262716
return Boolean::newBoolean(true);
27272717
}
@@ -2736,9 +2726,7 @@ Local<Value> PlayerClass::setFollowRange(const Arguments& args) {
27362726
Player* player = get();
27372727
if (!player) return Local<Value>();
27382728

2739-
AttributeInstance* followRangeAttribute = player->getMutableAttribute(SharedAttributes::FOLLOW_RANGE);
2740-
2741-
followRangeAttribute->setCurrentValue(args[0].asNumber().toFloat());
2729+
player->getMutableAttribute(SharedAttributes::FOLLOW_RANGE)->setCurrentValue(args[0].asNumber().toFloat());
27422730

27432731
return Boolean::newBoolean(true);
27442732
}
@@ -2753,10 +2741,8 @@ Local<Value> PlayerClass::setKnockbackResistance(const Arguments& args) {
27532741
Player* player = get();
27542742
if (!player) return Local<Value>();
27552743

2756-
AttributeInstance* knockbackResistanceAttribute =
2757-
player->getMutableAttribute(SharedAttributes::KNOCKBACK_RESISTANCE);
2758-
2759-
knockbackResistanceAttribute->setCurrentValue(args[0].asNumber().toFloat());
2744+
player->getMutableAttribute(SharedAttributes::KNOCKBACK_RESISTANCE)
2745+
->setCurrentValue(args[0].asNumber().toFloat());
27602746

27612747
return Boolean::newBoolean(true);
27622748
}
@@ -2771,9 +2757,7 @@ Local<Value> PlayerClass::setLuck(const Arguments& args) {
27712757
Player* player = get();
27722758
if (!player) return Local<Value>();
27732759

2774-
AttributeInstance* luckAttribute = player->getMutableAttribute(SharedAttributes::LUCK);
2775-
2776-
luckAttribute->setCurrentValue(args[0].asNumber().toFloat());
2760+
player->getMutableAttribute(SharedAttributes::LUCK)->setCurrentValue(args[0].asNumber().toFloat());
27772761

27782762
return Boolean::newBoolean(true);
27792763
}
@@ -2788,18 +2772,22 @@ Local<Value> PlayerClass::setMovementSpeed(const Arguments& args) {
27882772
Player* player = get();
27892773
if (!player) return Local<Value>();
27902774

2791-
AttributeInstance* movementSpeedAttribute = player->getMutableAttribute(SharedAttributes::MOVEMENT_SPEED);
2792-
if (movementSpeedAttribute) {
2793-
movementSpeedAttribute->setCurrentValue(args[0].asNumber().toFloat());
2794-
return Boolean::newBoolean(true);
2795-
} else {
2796-
player->_registerPlayerAttributes();
2797-
movementSpeedAttribute = player->getMutableAttribute(SharedAttributes::MOVEMENT_SPEED); // Check again
2798-
if (movementSpeedAttribute) {
2799-
movementSpeedAttribute->setCurrentValue(args[0].asNumber().toFloat());
2800-
return Boolean::newBoolean(true);
2801-
}
2802-
}
2775+
player->getMutableAttribute(SharedAttributes::MOVEMENT_SPEED)->setCurrentValue(args[0].asNumber().toFloat());
2776+
2777+
// Unknown why we need to check again after registering attributes
2778+
//
2779+
// AttributeInstance* movementSpeedAttribute = player->getMutableAttribute(SharedAttributes::MOVEMENT_SPEED);
2780+
// if (movementSpeedAttribute) {
2781+
// movementSpeedAttribute->setCurrentValue(args[0].asNumber().toFloat());
2782+
// return Boolean::newBoolean(true);
2783+
// } else {
2784+
// player->_registerPlayerAttributes();
2785+
// movementSpeedAttribute = player->getMutableAttribute(SharedAttributes::MOVEMENT_SPEED); // Check again
2786+
// if (movementSpeedAttribute) {
2787+
// movementSpeedAttribute->setCurrentValue(args[0].asNumber().toFloat());
2788+
// return Boolean::newBoolean(true);
2789+
// }
2790+
// }
28032791
return Boolean::newBoolean(false);
28042792
}
28052793
CATCH("Fail in setMovementSpeed!");
@@ -2813,10 +2801,8 @@ Local<Value> PlayerClass::setUnderwaterMovementSpeed(const Arguments& args) {
28132801
Player* player = get();
28142802
if (!player) return Local<Value>();
28152803

2816-
AttributeInstance* underwaterMovementSpeedAttribute =
2817-
player->getMutableAttribute(SharedAttributes::UNDERWATER_MOVEMENT_SPEED);
2818-
2819-
underwaterMovementSpeedAttribute->setCurrentValue(args[0].asNumber().toFloat());
2804+
player->getMutableAttribute(SharedAttributes::UNDERWATER_MOVEMENT_SPEED)
2805+
->setCurrentValue(args[0].asNumber().toFloat());
28202806

28212807
return Boolean::newBoolean(true);
28222808
}
@@ -2831,10 +2817,8 @@ Local<Value> PlayerClass::setLavaMovementSpeed(const Arguments& args) {
28312817
Player* player = get();
28322818
if (!player) return Local<Value>();
28332819

2834-
AttributeInstance* lavaMovementSpeedAttribute =
2835-
player->getMutableAttribute(SharedAttributes::LAVA_MOVEMENT_SPEED);
2836-
2837-
lavaMovementSpeedAttribute->setCurrentValue(args[0].asNumber().toFloat());
2820+
player->getMutableAttribute(SharedAttributes::LAVA_MOVEMENT_SPEED)
2821+
->setCurrentValue(args[0].asNumber().toFloat());
28382822

28392823
return Boolean::newBoolean(true);
28402824
}
@@ -2849,9 +2833,7 @@ Local<Value> PlayerClass::setHungry(const Arguments& args) {
28492833
Player* player = get();
28502834
if (!player) return Local<Value>();
28512835

2852-
AttributeInstance* healthAttribute = player->getMutableAttribute(player->HUNGER);
2853-
2854-
healthAttribute->setCurrentValue(args[0].asNumber().toFloat());
2836+
player->getMutableAttribute(Player::HUNGER)->setCurrentValue(args[0].asNumber().toFloat());
28552837

28562838
return Boolean::newBoolean(true);
28572839
}

0 commit comments

Comments
 (0)