Skip to content

A PocketMine-MP virion for easy support of multiple economy providers.

License

Notifications You must be signed in to change notification settings

DaPigGuy/libPiggyEconomy

Folders and files

NameName
Last commit message
Last commit date
Mar 8, 2024
Mar 8, 2024
Feb 21, 2022
Feb 21, 2022
Nov 15, 2019
Mar 18, 2022
Aug 31, 2023
Feb 21, 2022
Mar 8, 2024

Repository files navigation

libPiggyEconomy

libPiggyEconomy is a virion for easy support of multiple economy providers.

Supported Providers

Usage

Setup

libPiggyEconomy::init()

Using Economy Providers

libPiggyEconomy::getProvider($providerInformation)

$providerInformation is an array with the key provider.

Economy Provider Methods

Method Description Callback Signature Callback Description
EconomyProvider::getMonetaryUnit(): string Returns symbol of currency none none
EconomyProvider::getMoney(Player $player, callable $callback): void Get balance of a player function(float|int $amount) void{} Returns default balance if player wasn't found, float|int otherwise.
EconomyProvider::giveMoney(Player $player, float $amount, ?callable $callback = null): void Give money to a player function(bool $success): void{} Returns true if money was given successfully, otherwise false.
EconomyProvider::takeMoney(Player $player, float $amount, ?callable $callback = null): void Take money from a player function(bool $success): void{} Returns true if money was taken successfully, otherwise false.
EconomyProvider::setMoney(Player $player, float $amount, ?callable $callback = null): void Set balance of a player function(bool $success): void{} Returns true if money was set successfully, otherwise false.

Error Handling

There are several exceptions that can be thrown that you may want to handle in your plugin:

  • MissingProviderDependencyException
  • UnknownProviderException

Examples

config.yml

economy:
  provider: bedrockeconomy

AmazingPlugin.php

class AmazingPlugin extends PluginBase{
    public $economyProvider;
    
    public function onEnable(): void{
        $this->saveDefaultConfig();
        libPiggyEconomy::init();
        $this->economyProvider = libPiggyEconomy::getProvider($this->getConfig()->get("economy"));
    }
}