your current location:首页 > news>Use Kubejs to simply control the player's Mana Cap.[MA3/MNA] Magic Art 3: Mana and Artific Minecraft Game

Use Kubejs to simply control the player's Mana Cap.[MA3/MNA] Magic Art 3: Mana and Artific Minecraft Game

2024-12-05 23:05:17|Myriagame |source:minecraft skins

This tutorial is set by the author to use the CC By-NC-SA protocol.

 // requires: mna

Const PlayerMagicProvider = Java.loadClass ("Com.mna.capabilities.playerData.magic.playermagProvider");

const serverMessagedispatcher = java.loadClass ("com.mna.network.servermessagedispatcher");););););

const manamanager = {

/**

*@Author M1hono

*@Descripting check if the player has enough mana.

*@Param {$ Player__} Player

*@Param {number} amount-the amount of mana to check.

*@ReturnS {Boolean} -Thether the Player has enough mana.

*/

Hasenubumana (Player, amount) {

Let hasnough = false;

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

HasenuboGh = CastingResource.hasenough (player, amount);

});

Return hasonough;

},

/**

*@Author M1hono

*@Descripting get the player's mana.

*@Param {$ Player_} Player

*@Return {number} -Player's amount of mana.*/

Getmana (player) {

Let amount = 0;

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

Amount = CastingResource.getamount ();

});

Return amount;

},

/**

*@Author M1hono

*@Descripting set the player's mana.

*@Param {$ Player_} Player

*@Param {number} amount-the amount of mana you want to set.

*/

Setmana (player, amount) {

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

CastingResource.Setamount (amount);

CastingResource.setNeedssync ();

Servermessagedispatcher.Sendmagicsyncmessage (Player);

CastingResource.Clearsyncstatus ();

});

},

/**

*@Author M1hono

*@Descripting Consume the Player's Mana.

*@Param {$ Player_} Player*@param {Number} amount-The amount of mana you want to consume.

*/

Consumemana (player, amount) {{

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

CastingResource.Consume (player, amount);

CastingResource.setNeedssync ();

Servermessagedispatcher.Sendmagicsyncmessage (Player);

CastingResource.Clearsyncstatus ();

});

},

/**

*@Author M1hono

*@Descripting Refill The Player's Mana.

*@Param {$ Player_} Player

*@Param {number} amount-the amount of mana you want to refill.

*/

Restoremana (Player, Amount) {

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

CastingResource.restore (amount);

CastingResource.setNeedssync ();

Servermessagedispatcher.Sendmagicsyncmessage (Player);

CastingResource.Clearsyncstatus ();});

},

/**

*@Author M1hono

*@Descripting get the player's max mana.

*@Param {$ Player_} Player

*@ReturnS {number} -Player's max amount of mana.

*/

Getmaxmana (player) {

Let maxamount = 0;

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

Maxamount = caseingResource.getmaxamount ();

});

Return maxamount;

},

/**

*@Author M1hono

*@Descripting set the player's max mana.

*@Param {$ Player_} Player

*@Param {number} amount-the max amount of mana you want to set.

*/

SetmaxMana (Player, Amount) {{

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

CastingResource.setmaxamount (amount);

CastingResource.setNeedssync (); Servermessagedispatcher.Sendmagicsyncmessage (PLAYER);

CastingResource.Clearsyncstatus ();

});

},

/**

*@Author M1hono

*@Descripting get the player's mana Regen.

*@Param {$ Player_} Player

*@ReturnS {NUMBER} -Player's Mana Regen.

*/

Getmanaregen (player) {

Let Regenrate = 0;

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource ();

Regenrate = CastingResource.getRegenerationRate ();

});

Return Regenrate;

},

/**

*@Author M1hono

*@Descripting set the player's mana Regen.

*@Param {$ Player_} Player

*@Param {number} amount-the mana regine you want to set.

*/

SetManaregen (Player, Amount) {{

Player.getCapability (PlayermagicProvider.magic) .ifrendsnt ((Magic) => {{{{{{

ConstnstingResource = Magic.getCastingResource (); CastingResource.SetRedositionRate (amount);

CastingResource.setNeedssync ();

Servermessagedispatcher.Sendmagicsyncmessage (Player);

CastingResource.Clearsyncstatus ();

});

}

};