actionMaster is a new faction plugin that aims at flexibility and customization of the plugin by the user and the developers.

Overview

FactionMaster

For using PureChat with FactionMaster, you must use my PureChat fork and download the last release : https://github.com/ShockedPlot7560/PureChat/releases/tag/v1.4.1

FactionMaster is a new faction plugin that aims at flexibility and customization of the plugin by the user and the developers. It includes all the basic functionality of a faction plugin and data storage in MySQL or SQLITE. This is done by adding an extension system and a translation system. FactionMaster has a will of accessibility to the players and especially not to have to remember a lot of commands to play, all is done via interface.

The PVP Faction mode is a game mode that consists of creating your faction and growing it. You can ally with other factions, fight and even request territories. All the available features will be listed in another section.

Features

FactionMaster have multiple server support, see the Installation section for more information

Feature FactionMaster FactionsPro PiggyFactions SimpleFaction
SQLite3 Support
MySQL Support
Multiple claim
Multiple faction home
Image for UI (Texture pack)
Translation system
Extension system
Per Faction Permissions
SQL Injection Protection
Command Autocomplete
Form UI
Async Queries
Faction level
Custom level reward
Faction/ally chat
Awaiting invitation
Faction visibility
Editable message
Custom event
Claim title
Scoreboard faction top
Banned faction name

Additionnal plugins

  • ScoreHUD v6.0.0: FactionMaster support this plugin and implements all this tags :
    • factionmaster.faction.name
    • factionmaster.faction.power
    • factionmaster.faction.level
    • factionmaster.faction.xp
    • factionmaster.faction.message
    • factionmaster.faction.description
    • factionmaster.faction.visibility
    • factionmaster.player.rank
  • PureChat: To use PureChat tags, download our fork of it here

Installation

  • If you just want to use it on the same machine, no special installation is required, just download the .phar plugin and put it in the plugins folder.
  • If you wish to use FactionMaster on more than one server at a time, please modify the config.yml after starting your server for the first time with FactionMaster on it and change the PROVIDER: "SQLITE" with MYSQL. Enter your database connection details and restart your server.

Use resource pack

  • Download factionMaster texture pack available here
  • Install it on your server as a mandatory Texture pack
  • Put the line : active-image to true in config.yml file
  • Stop and start your server

Commands

  • /f, /faction, /fac: Opens the main menu of FactionMaster
  • /f top: Open the faction ranking
  • /f manage: Opens the faction management interface
  • /f sethome <:name>: Place a home at the player's location
  • /f delhome <:name>: Remove the faction home
  • /f tp <:name>: TP at the faction home
  • /f home: Opens the home menu
  • /f claim: Claim the current chunk
  • /f unclaim: Remove the current claim
  • /f create: Opens the menu to create a faction
  • /f map: Displays the map listing all claims
  • /f help: Displays the orders
  • /f info <:name>: Displays information about a faction
  • /f claiminfo: Displays information about a chunk
  • /f extension: Display extensions enabled For op only
  • /f scoreboard: Set the location to spawn top faction scoreboard
  • /f addflag: Add a claim considered like an area
  • /f removeflag: Remove a claim considered like an area
  • /f settings: Give all the FactionMaster settings
  • /f synchro: Submit task to make synchronisation manually of the database

Extensions

Extensions, a new way to customize your plugin to your liking. You just have to download the plugin corresponding to the desired extension and place it in the corresponding folder on your server. If you have an urge to stop using the functionality, delete the plugin from your server and the changes will be gone! You can use those approved by the FactionMaster team or do it yourself (refer to the GitHub) and submit it to us if you feel like it.

All extensions made by the FactionMaster team and those approved by the FactionMaster team, which are accessible via poggit will be listed here.

  • Bank system : here by FactionMaster

Translators

To participate in the translation of FactionMaster and probably see yourself here, create a Pull Request on the FactionMaster GitHub. Once the language has been translated on the main plugin and on all the extensions listed in the Extension section, it will be added and all its contributors thanked.

  • French (fr_Fr): @ShockedPlot7560
  • English (en_EN): @ShockedPlot7560
  • Spanish (es_SPA): @MrBlasyMSK
  • Turkish (tr_TR): @xAliTura01

Developers

Adding and modifying extensions is rather simple and explained on the README.md of the GitHub repository with a documentation for the handling of the API. Many extensions will be made and approved by the FactionMaster team to allow users to modulate the plugin to their choice. All approved extensions will have a line in the README and and listed in the Extension section .

Config

> §r§b{command}: §7{description}" # ------------------ BROADCAST MESSAGE CONFIGURATION --------------------- broadcast-faction-create: false broadcast-faction-create-message: "{playerName} has created the faction {factionName}" broadcast-faction-delete: false broadcast-faction-delete-message: "{playerName} has deleted the faction {factionName}" broadcast-faction-transferProperty: false broadcast-faction-transferProperty-message: "{playerName} transferred the property to {targetName} of the faction {factionName}" # --------------------- F MAP CONFIGURATION ------------------------- # Set thiis value to false if you want to disable /f map on | /f map off # Otherwise set this value to the number of ticks between each display f-map-task: false #f-map-task: 40 available-symbol: ["/", "\\", "#", "$", "?", "%", "=", "&", "^", "$"] player-symbol: "+" player-color: "§b" wilderness-symbol: "-" wilderness-color: "§7" spawn-symbol: "-" spawn-color: "§8" warzone-symbol: "-" warzone-color: "§7" claim-color: "§f" claim-ally-color: "§e" claim-ennemie-color: "§4" claim-own-color: "§b" compass-color: "§c" compass-color-actual: "§e" map-width: 48 map-height: 10 map-header-color: "§6" map-middle-header: ".[ §2({{x}},{{z}}) {{factionLabel}} {{headerColor}}]." # --------------------- CLAIM CONFIGURATION -------------------------- claim-cost: # the type is the same type as level reward, you can put : # power / allyLimit / claimLimit / homeLimit / memberLimit # to make your own reward, please read the documentation type: "power" # the start value for the first claim value: 200 # flat: cost all the time, the same price # addition: first claim will be cost: Ex: 100 # second claim will be cost: Ex: 200 # second claim will be cost: Ex: 300 # multiplication: will be times by a factor # decrease: descrease the start value by the factor claim-provider: "flat" # Equation for mutliplication : # cost-price = cost-start * (factor ** number-claim) multiplication-factor: 2 #Equation for decrease # cost-price = cost-start - (number-claim * decrease-factor) decrease-factor: 100 # If set to false, the player cant /f sethome in a ennemy claim allow-home-ennemy-claim: true # --------------------- TITLE CONFIGURATION -------------------------- # Set this to true if you want to display on player's screen the message when entering a claim message-alert: true # The following line define which message will be print # on the screen of players when entering a claim chunk # active parameter which can set : {factionName} / {colorStatus} / {x} / {z} / {world} # - colorStatus : color set in the f map configuration # to purpose a suggestion, open an issue on our github message-alert-title: "{colorStatus}{factionName}" message-alert-subtitle: "{x} - {z} - {world}" # Defines the time that will be applied before the message is displayed again message-alert-cooldown: 10 message-alert-flag-enabled: false # -------------- TOP FACTION'S SCOREBOARD CONFIGURATION ----------------- # SEE leaderboard.yml to enabled and updated position of the leaderboard ! # This is the scoreboard header, display on the top faction-scoreboard-header: "- Top 10 faction -" # Lign patern for each faction # you can use this parameter : # {factionName} / {level} / {power} # to purpose a parameter suggestion, please open an issue on github faction-scoreboard-lign: "{factionName}: Level {level}" # --------------------- PLUGIN CONFIGURATION -------------------------- # DONT CHANGE IF YOU DONT KNOW WHAT YOU ARE DOING # Change this value only if you are sure of what you are doing, # reducing it may break some functionality of the plugin, # increasing it may reduce the players experience. # Default: 60 timeout-task: 60 # Change this value only if you are sure of what you are doing, # reducing it may break some functionality of the plugin, # increasing it may reduce the players experience. # Default: 200 # It will determine ow much time Database synchronisation will be done sync-time: 200 ">
 #
 #      ______           __  _                __  ___           __
 #     / ____/___ ______/ /_(_)___  ____     /  |/  /___ ______/ /____  _____
 #    / /_  / __ `/ ___/ __/ / __ \/ __ \   / /|_/ / __ `/ ___/ __/ _ \/ ___/
 #   / __/ / /_/ / /__/ /_/ / /_/ / / / /  / /  / / /_/ (__  ) /_/  __/ /  
 #  /_/    \__,_/\___/\__/_/\____/_/ /_/  /_/  /_/\__,_/____/\__/\___/_/ 
 #
 # FactionMaster - A Faction plugin for PocketMine-MP
 # This file is part of FactionMaster
 # 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU Lesser General Public License as published by
 # the Free Software Foundation, either version 3 of the License, or
 # (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 # GNU Lesser General Public License for more details.
 #
 # You should have received a copy of the GNU Lesser General Public License
 # along with this program.  If not, see 
   .
 #
 # @author ShockedPlot7560 
 # @link https://github.com/ShockedPlot7560
 #

# DO NOT EDIT THIS VALUE. ONLY FOR INTERNAL USE.
file-version: 9
# DO NOT EDIT THIS VALUE. ONLY FOR INTERNAL USE.

# --------------------- DATABASE --------------------------

# Use only SQLITE or MYSQL
#
# To enabled Multiple server support
# please use MYSQL for PROVIDER, give the good information and restart the server
PROVIDER: "SQLITE"
MYSQL_database:
  host: "localhost"
  name: "FactionMaster"
  user: "root"
  pass: ""
SQLITE_database: 
  name: "FactionMaster"

# --------------------- GLOBAL CONFIGURATION --------------------------

# If you want to disable this feature, empty this array and reload your server
banned-faction-name: ["op", "staff", "admin", "fuck", "shit"]

xp-win-per-kill: 1
power-win-per-kill: 2
power-loose-per-death: 2
#Use to multiply the power win and loose if players are in factions
faction-multiplicator: 2
#check if player have armor equip
allow-no-stuff: false

default-home-limit: 2
default-claim-limit: 2
default-player-limit: 2
default-ally-limit: 2
# PUBLIC: 0  /  PRIVATE: 1  /  INVITATION: 2
default-faction-visibility: 0
default-faction-xp: 0
default-faction-level: 1
default-faction-description: ""
default-faction-message: ""
default-power: 0

min-faction-name-length: 3
max-faction-name-length: 20

# If it set to true, image will be display near button
# If it set to false, image will be disabled
active-image: true

faction-chat-active: false
faction-chat-symbol: "$"
faction-chat-message: "[{factionName}] {playerName}: {message}"
ally-chat-active: false
ally-chat-symbol: "%"
ally-chat-message: "[{factionName}] {playerName}: {message}"

help-command-header: "§8=§7=§8=§7=§8=§7=§8=§7=§8=§7= §bFactionMaster command §8=§7=§8=§7=§8=§7=§8=§7=§8=§7="
help-command-lign: " §8>> §r§b{command}: §7{description}"

# ------------------ BROADCAST MESSAGE CONFIGURATION ---------------------

broadcast-faction-create: false
broadcast-faction-create-message: "{playerName} has created the faction {factionName}"
broadcast-faction-delete: false
broadcast-faction-delete-message: "{playerName} has deleted the faction {factionName}"
broadcast-faction-transferProperty: false
broadcast-faction-transferProperty-message: "{playerName} transferred the property to {targetName} of the faction {factionName}"

# --------------------- F MAP CONFIGURATION -------------------------

# Set thiis value to false if you want to disable /f map on | /f map off
# Otherwise set this value to the number of ticks between each display 
f-map-task: false
#f-map-task: 40

available-symbol: ["/", "\\", "#", "$", "?", "%", "=", "&", "^", "$"]

player-symbol: "+"
player-color: "§b"

wilderness-symbol: "-"
wilderness-color: "§7" 
spawn-symbol: "-"
spawn-color: "§8" 
warzone-symbol: "-"
warzone-color: "§7" 

claim-color: "§f"
claim-ally-color: "§e"
claim-ennemie-color: "§4"
claim-own-color: "§b"

compass-color: "§c"
compass-color-actual: "§e"

map-width: 48
map-height: 10
map-header-color: "§6"
map-middle-header: ".[ §2({{x}},{{z}}) {{factionLabel}} {{headerColor}}]."

# --------------------- CLAIM CONFIGURATION --------------------------

claim-cost:
  # the type is the same type as level reward, you can put :
  #   power / allyLimit / claimLimit / homeLimit / memberLimit
  #   to make your own reward, please read the documentation
  type: "power"
  # the start value for the first claim
  value: 200

# flat: cost all the time, the same price
# addition: first claim will be cost: Ex: 100
#      second claim will be cost: Ex: 200
#      second claim will be cost: Ex: 300
# multiplication: will be times by a factor
# decrease: descrease the start value by the factor
claim-provider: "flat"
# Equation for mutliplication :
#   cost-price = cost-start * (factor ** number-claim)
multiplication-factor: 2
#Equation for decrease
#   cost-price = cost-start - (number-claim * decrease-factor)
decrease-factor: 100

# If set to false, the player cant /f sethome in a ennemy claim
allow-home-ennemy-claim: true

# --------------------- TITLE CONFIGURATION --------------------------

# Set this to true if you want to display on player's screen the message when entering a claim
message-alert: true
# The following line define which message will be print
# on the screen of players when entering a claim chunk
# active parameter which can set : {factionName} / {colorStatus} / {x} / {z} / {world}
# - colorStatus : color set in the f map configuration
# to purpose a suggestion, open an issue on our github
message-alert-title: "{colorStatus}{factionName}"
message-alert-subtitle: "{x} - {z} - {world}"
# Defines the time that will be applied before the message is displayed again
message-alert-cooldown: 10

message-alert-flag-enabled: false
# -------------- TOP FACTION'S SCOREBOARD CONFIGURATION -----------------

# SEE leaderboard.yml to enabled and updated position of the leaderboard !

# This is the scoreboard header, display on the top
faction-scoreboard-header: "- Top 10 faction -"
# Lign patern for each faction
# you can use this parameter : 
# {factionName} / {level} / {power}
# to purpose a parameter suggestion, please open an issue on github
faction-scoreboard-lign: "{factionName}: Level {level}"

# --------------------- PLUGIN CONFIGURATION --------------------------
#       DONT CHANGE IF YOU DONT KNOW WHAT YOU ARE DOING

# Change this value only if you are sure of what you are doing, 
# reducing it may break some functionality of the plugin, 
# increasing it may reduce the players experience.
# Default: 60
timeout-task: 60

# Change this value only if you are sure of what you are doing, 
# reducing it may break some functionality of the plugin, 
# increasing it may reduce the players experience.
# Default: 200
# It will determine ow much time Database synchronisation will be done
sync-time: 200
Comments
  • Eror

    Eror

    I've tried using FactionMaster_dev-63 And I found an error when I tried to make a faction description, suddenly the server restarted and I found an error like this.

    PocketMine-MP Crash Dump Mon Sep 6 22:29:45 CDT 2021

    Error: Argument 2 passed to Ifera\ScoreHud\scoreboard\ScoreTag::__construct() must be of the type string, null given, called in phar:///home/container/plugins/FactionMaster_dev-63.phar/src/ShockedPlot7560/FactionMaster/Listener/ScoreHudListener.php on line 470 File: plugins/ScoreHud_dev-70.phar/src/Ifera/ScoreHud/scoreboard/ScoreTag Line: 43 Type: TypeError

    Category: Internal Category: Bug 
    opened by ErwanScraft 13
  • PureChat Extension dont work

    PureChat Extension dont work

    Describe the bug When you start the server with the purechat version for FactionMaster, this error appears and does not let the server work.

    To Reproduce Steps to reproduce the behavior:

    [12:24:17.064] [Server thread/INFO]: Enabling PureChat v2.0.0
    [12:24:17.064] [Server thread/NOTICE]: [PureChat] No valid factions plugin in default-factions-plugin node was found. Disabling factions plugin support.
    [12:24:17.065] [Server thread/CRITICAL]: ReflectionException: "Class "_64FF00\PurePerms\event\PPGroupChangedEvent" does not exist" (-1) in "pmsrc/src/plugin/PluginManager" at line 510
    --- Stack trace ---
      #0 pmsrc/src/plugin/PluginManager(510): ReflectionClass->__construct(string[43] _64FF00\PurePerms\event\PPGroupChangedEvent)
      #1 pmsrc/src/plugin/PluginManager(532): pocketmine\plugin\PluginManager->getEventsHandledBy(object ReflectionMethod#112963)
      #2 plugins/PureChat_v2.0.0.phar/src/_64FF00/PureChat/PureChat(69): pocketmine\plugin\PluginManager->registerEvents(object _64FF00\PureChat\PCListener#113015, object _64FF00\PureChat\PureChat#24905)
      #3 pmsrc/src/plugin/PluginBase(137): _64FF00\PureChat\PureChat->onEnable()
      #4 pmsrc/src/plugin/PluginManager(437): pocketmine\plugin\PluginBase->onEnableStateChange(true)
      #5 pmsrc/src/Server(1385): pocketmine\plugin\PluginManager->enablePlugin(object _64FF00\PureChat\PureChat#24905)
      #6 pmsrc/src/Server(1011): pocketmine\Server->enablePlugins(object pocketmine\plugin\PluginEnableOrder#24901)
      #7 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#2, object pocketmine\utils\MainLogger#3, string[16] /home/container/, string[24] /home/container/plugins/)
      #8 pmsrc/src/PocketMine(327): pocketmine\server()
      #9 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)
    --- End of exception information ---
    

    Expected behavior Expect works

    Screenshots X

    System (please complete the following information):

    • OS: Ubuntu
    • Version
      • FactionMaster dev#214
      • PocketMine 4.2.3
      • Version of possible extension PureChat 2.0.0
    • PHP version 8.0
    • Plugin installed= X

    Additional context X

    Category: Bug 
    opened by MrBlasyMSK 9
  • /f top Feature

    /f top Feature

    Can you please add a /f top. This is basically a /f placeleaderboard (type), however it appears in chat like the image provided.

    To commands would be amazing: /f top Power, /f top Levels. 20211210_204640

    Please add this, it would be great and very useful.

    Suggestion 
    opened by YT-Duckyyy 8
  • Doesn't ask to download texture pack when I reload

    Doesn't ask to download texture pack when I reload

    40 minutes ago when I reported the bug that the textures did not appear, I downloaded the pack at join

    But now when I restart (and I should miss downloading the texture pack) it does not ask me

    Is there a problem or am I doing something wrong?

    opened by MrBlasyMSK 8
  • Faction creation crash

    Faction creation crash

    Hey, when a person create a faction, the player is not in the faction, the faction exist but nobody is inside

    • Plugin installed= version 3.1.4

    Error : Exception: "SQLSTATE[HY000]: General error: 1 near ".": syntax error" (E_ERROR) in "plugins/FactionMaster-stable/src/ShockedPlot7560/FactionMaster/Task/DatabaseTask" at line 97 2021-12-18 [18:19:09] [Asynchronous Worker #1 thread/CRITICAL]: #0 pmsrc/src/pocketmine/scheduler/AsyncTask(85): ShockedPlot7560\FactionMaster\Task\DatabaseTask->onRun() 2021-12-18 [18:19:09] [Asynchronous Worker #1 thread/CRITICAL]: #1 (): pocketmine\scheduler\AsyncTask->run() 2021-12-18 [18:19:09] [Asynchronous Worker #0 thread/CRITICAL]: Exception: "SQLSTATE[HY000]: General error: 1 near ".": syntax error" (E_ERROR) in "plugins/FactionMaster-stable/src/ShockedPlot7560/FactionMaster/Task/DatabaseTask" at line 97 2021-12-18 [18:19:09] [Asynchronous Worker #0 thread/CRITICAL]: #0 pmsrc/src/pocketmine/scheduler/AsyncTask(85): ShockedPlot7560\FactionMaster\Task\DatabaseTask->onRun()

    Category: Bug Category: Not confirmed 
    opened by RtoxGaming 6
  • Official extensions dont work

    Official extensions dont work

    Minecraft version: Minecraft: Bedrock Edition v1.17.10 (protocol version 448) Plugins version: all the latest releases Tested on clean server without plugins except MultiWorld and economyapi (and obviusly FactionMaster and this extensions).

    FactionMasterBank error, happens when clicking the "Faction Bank" button in form

    TypeError: "Argument 1 passed to ShockedPlot7560\FactionMaster\Button\Collection\Collection::generateButtons() must be an instance of ShockedPlot7560\FactionMaster\libs\jojoe77777\FormAPI\SimpleForm, instance of ShockedPlot7560\FactionMasterBank\libs\jojoe77777\FormAPI\SimpleForm given, called in phar:///home/container/plugins/FactionMaster-Bank.phar/src/ShockedPlot7560/FactionMasterBank/Route/MainBank.php on line 92" (EXCEPTION) in "plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/Button/Collection/Collection" at line 77 [18:12:35] [Server thread/CRITICAL]: #0 plugins/FactionMaster-Bank.phar/src/ShockedPlot7560/FactionMasterBank/Route/MainBank(92): ShockedPlot7560\FactionMaster\Button\Collection\Collection->generateButtons(object ShockedPlot7560\FactionMasterBank\libs\jojoe77777\FormAPI\SimpleForm, string[10] OutMencore) [18:12:35] [Server thread/CRITICAL]: #1 plugins/FactionMaster-Bank.phar/src/ShockedPlot7560/FactionMasterBank/Route/MainBank(79): ShockedPlot7560\FactionMasterBank\Route\MainBank->menu(string[26] ..7Solde current: ..60..7$) [18:12:35] [Server thread/CRITICAL]: #2 plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/Utils/Utils(97): ShockedPlot7560\FactionMasterBank\Route\MainBank->__invoke(object pocketmine\Player, object ShockedPlot7560\FactionMaster\Database\Entity\UserEntity, array[0], NULL ) [18:12:35] [Server thread/CRITICAL]: #3 plugins/FactionMaster-Bank.phar/src/ShockedPlot7560/FactionMasterBank/Button/Bank(51): ShockedPlot7560\FactionMaster\Utils\Utils::processMenu(object ShockedPlot7560\FactionMasterBank\Route\MainBank, object pocketmine\Player) [18:12:35] [Server thread/CRITICAL]: #4 (): ShockedPlot7560\FactionMasterBank\Button\Bank->ShockedPlot7560\FactionMasterBank\Button{closure}(object pocketmine\Player) [18:12:35] [Server thread/CRITICAL]: #5 plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/Button/Button(107): call_user_func(object Closure, object pocketmine\Player) [18:12:35] [Server thread/CRITICAL]: #6 plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/Button/Collection/Collection(94): ShockedPlot7560\FactionMaster\Button\Button->call(object pocketmine\Player) [18:12:35] [Server thread/CRITICAL]: #7 plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/Route/MainPanel(95): ShockedPlot7560\FactionMaster\Button\Collection\Collection->process(integer 1, object pocketmine\Player) [18:12:35] [Server thread/CRITICAL]: #8 plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/libs/jojoe77777/FormAPI/Form(46): ShockedPlot7560\FactionMaster\Route\MainPanel->ShockedPlot7560\FactionMaster\Route{closure}(object pocketmine\Player, integer 1) [18:12:35] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/Player(3674): ShockedPlot7560\FactionMaster\libs\jojoe77777\FormAPI\Form->handleResponse(object pocketmine\Player, integer 1) [18:12:35] [Server thread/CRITICAL]: #10 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(259): pocketmine\Player->onFormSubmit(integer 4, integer 1) [18:12:35] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/network/mcpe/protocol/ModalFormResponsePacket(49): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleModalFormResponse(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket) [18:12:35] [Server thread/CRITICAL]: #12 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\ModalFormResponsePacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [18:12:35] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket) [18:12:35] [Server thread/CRITICAL]: #14 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [18:12:35] [Server thread/CRITICAL]: #15 pmsrc/src/pocketmine/Player(3321): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [18:12:35] [Server thread/CRITICAL]: #16 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [18:12:35] [Server thread/CRITICAL]: #17 pmsrc/vendor/pocketmine/raklib/src/server/ServerHandler(95): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[19] x.x.x.x 51951, object raklib\protocol\EncapsulatedPacket, integer 0) [18:12:35] [Server thread/CRITICAL]: #18 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket() [18:12:35] [Server thread/CRITICAL]: #19 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process() [18:12:35] [Server thread/CRITICAL]: #20 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe{closure}() [18:12:35] [Server thread/CRITICAL]: #21 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications() [18:12:35] [Server thread/CRITICAL]: #22 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double 1631297555.989) [18:12:35] [Server thread/CRITICAL]: #23 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor() [18:12:35] [Server thread/CRITICAL]: #24 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start() [18:12:35] [Server thread/CRITICAL]: #25 pmsrc/src/pocketmine/PocketMine(311): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/) [18:12:35] [Server thread/CRITICAL]: #26 pmsrc/src/pocketmine/PocketMine(341): pocketmine\server() [18:12:35] [Server thread/CRITICAL]: #27 pmsrc(11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

    FactionMasterInvitationImproveError, happens when inviting someone.

    Error: "Class 'jojoe77777\FormAPI\CustomForm' not found" (EXCEPTION) in "plugins/FactionMaster-InvitationImprove-master/src/ShockedPlot7560/FactionMasterInvitationImprove/Route/SelectPlayer" at line 87 [17:57:13] [Server thread/CRITICAL]: #0 plugins/FactionMaster-InvitationImprove-master/src/ShockedPlot7560/FactionMasterInvitationImprove/Route/SelectPlayer(72): ShockedPlot7560\FactionMasterInvitationImprove\Route\SelectPlayer->createSelectMenu(string[4] Hola) [17:57:13] [Server thread/CRITICAL]: #1 plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/Utils/Utils(97): ShockedPlot7560\FactionMasterInvitationImprove\Route\SelectPlayer->__invoke(object pocketmine\Player, object ShockedPlot7560\FactionMaster\Database\Entity\UserEntity, array[0], array[3]) [17:57:13] [Server thread/CRITICAL]: #2 plugins/FactionMaster-InvitationImprove-master/src/ShockedPlot7560/FactionMasterInvitationImprove/Route/NewMemberInvitation(136): ShockedPlot7560\FactionMaster\Utils\Utils::processMenu(object ShockedPlot7560\FactionMasterInvitationImprove\Route\SelectPlayer, object pocketmine\Player, array[3]) [17:57:13] [Server thread/CRITICAL]: #3 plugins/FactionMaster.phar/src/ShockedPlot7560/FactionMaster/libs/jojoe77777/FormAPI/Form(46): ShockedPlot7560\FactionMasterInvitationImprove\Route\NewMemberInvitation->ShockedPlot7560\FactionMasterInvitationImprove\Route{closure}(object pocketmine\Player, array[2]) [17:57:13] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/Player(3674): ShockedPlot7560\FactionMaster\libs\jojoe77777\FormAPI\Form->handleResponse(object pocketmine\Player, array[2]) [17:57:13] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(259): pocketmine\Player->onFormSubmit(integer 11, array[2]) [17:57:13] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/network/mcpe/protocol/ModalFormResponsePacket(49): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleModalFormResponse(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket) [17:57:13] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\ModalFormResponsePacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [17:57:13] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket) [17:57:13] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [17:57:13] [Server thread/CRITICAL]: #10 pmsrc/src/pocketmine/Player(3321): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [17:57:13] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [17:57:13] [Server thread/CRITICAL]: #12 pmsrc/vendor/pocketmine/raklib/src/server/ServerHandler(95): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[19] x.x.x.x 57984, object raklib\protocol\EncapsulatedPacket, integer 0) [17:57:13] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket() [17:57:13] [Server thread/CRITICAL]: #14 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process() [17:57:13] [Server thread/CRITICAL]: #15 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe{closure}() [17:57:13] [Server thread/CRITICAL]: #16 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications() [17:57:13] [Server thread/CRITICAL]: #17 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double 1631296633.3877) [17:57:13] [Server thread/CRITICAL]: #18 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor() [17:57:13] [Server thread/CRITICAL]: #19 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start() [17:57:13] [Server thread/CRITICAL]: #20 pmsrc/src/pocketmine/PocketMine(314): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/) [17:57:13] [Server thread/CRITICAL]: #21 pmsrc/src/pocketmine/PocketMine(344): pocketmine\server() [17:57:13] [Server thread/CRITICAL]: #22 pmsrc(11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

    Category: Extension Category: Bug 
    opened by ghost 6
  • The database is not deleted

    The database is not deleted

    Step 1: Create a faction Step 2: Remove the plugin and plugin_data Step 3: Enter the server and restart it when you have entered Step 4: Put the plugin back (only the plugin, not the plugin_data) Step 5: Login to the server and use / f

    It will appear that your faction has the last name you entered, but it should reset everything completely and is storing it somewhere

    opened by MrBlasyMSK 6
  • plugin causes server to close when you try to manage permissions on a faction

    plugin causes server to close when you try to manage permissions on a faction

    [00:56:28.602] [Server thread/CRITICAL]: ErrorException: "Undefined array key "MANAGE_PERMISSIONS_MAIN_TITLE"" (EXCEPTION) in "plugins/FactionMaster (1).phar/src/Manager/TranslationManager" at line 43 --- Stack trace --- #0 plugins/FactionMaster (1).phar/src/Manager/TranslationManager(43): pocketmine\errorhandler\ErrorToExceptionHandler::handle(integer 2, string[51] Undefined array key "MANAGE_PERMISSIONS_MAIN_TITLE", string[88] phar:///home/container/plugins/FactionMaster (1).phar/src/Manager/TranslationMan, integer 43) #1 plugins/FactionMaster (1).phar/src/Utils/Utils(158): ShockedPlot7560\FactionMaster\Manager\TranslationManager::getTranslation(string[29] MANAGE_PERMISSIONS_MAIN_TITLE, string[2] EN) #2 plugins/FactionMaster (1).phar/src/Route/PermissionChangeRoute(138): ShockedPlot7560\FactionMaster\Utils\Utils::getText(string[15] RustlingBrick86, string[29] MANAGE_PERMISSIONS_MAIN_TITLE) #3 plugins/FactionMaster (1).phar/src/Route/PermissionChangeRoute(99): ShockedPlot7560\FactionMaster\Route\PermissionChangeRoute->getForm() #4 plugins/FactionMaster (1).phar/src/Utils/Utils(99): ShockedPlot7560\FactionMaster\Route\PermissionChangeRoute->__invoke(object pocketmine\player\Player#29766, object ShockedPlot7560\FactionMaster\Database\Entity\UserEntity#99400, array[0], array[1]) #5 plugins/FactionMaster (1).phar/src/Button/ChangePermission(48): ShockedPlot7560\FactionMaster\Utils\Utils::processMenu(object ShockedPlot7560\FactionMaster\Route\PermissionChangeRoute#25129, object pocketmine\player\Player#29766, array[1]) #6 plugins/FactionMaster (1).phar/src/Button/Button(134): ShockedPlot7560\FactionMaster\Button\ChangePermission->ShockedPlot7560\FactionMaster\Button{closure}(object pocketmine\player\Player#29766) #7 plugins/FactionMaster (1).phar/src/Button/Collection/Collection(96): ShockedPlot7560\FactionMaster\Button\Button->call(object pocketmine\player\Player#29766) #8 plugins/FactionMaster (1).phar/src/Route/ManagePermissionRoute(81): ShockedPlot7560\FactionMaster\Button\Collection\Collection->process(integer 1, object pocketmine\player\Player#29766) #9 plugins/FactionMaster (1).phar/src/libs/Vecnavium/FormsUI/Form(46): ShockedPlot7560\FactionMaster\Route\ManagePermissionRoute->ShockedPlot7560\FactionMaster\Route{closure}(object pocketmine\player\Player#29766, integer 1) #10 pmsrc/src/player/Player(1985): ShockedPlot7560\FactionMaster\libs\Vecnavium\FormsUI\Form->handleResponse(object pocketmine\player\Player#29766, integer 1) #11 pmsrc/src/network/mcpe/handler/InGamePacketHandler(892): pocketmine\player\Player->onFormSubmit(integer 1, integer 1) #12 pmsrc/vendor/pocketmine/bedrock-protocol/src/ModalFormResponsePacket(46): pocketmine\network\mcpe\handler\InGamePacketHandler->handleModalFormResponse(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket#99331) #13 pmsrc/src/network/mcpe/NetworkSession(395): pocketmine\network\mcpe\protocol\ModalFormResponsePacket->handle(object pocketmine\network\mcpe\handler\InGamePacketHandler#101971) #14 pmsrc/src/network/mcpe/NetworkSession(358): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\ModalFormResponsePacket#99331, string[5] e..1.) #15 pmsrc/src/network/mcpe/raklib/RakLibInterface(192): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[8] cMed2...) #16 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(42): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(integer 0, string[17] ..........o."....) #17 pmsrc/src/network/mcpe/raklib/RakLibInterface(122): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#28219) #18 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib{closure}() #19 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(82): pocketmine\snooze\SleeperHandler->processNotifications() #20 pmsrc/src/Server(1660): pocketmine\snooze\SleeperHandler->sleepUntil(double 1644368188.6068) #21 pmsrc/src/Server(1046): pocketmine\Server->tickProcessor() #22 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#2, object pocketmine\utils\MainLogger#3, string[16] /home/container/, string[24] /home/container/plugins/) #23 pmsrc/src/PocketMine(327): pocketmine\server() #24 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)

    Category: Internal Category: Bug 
    opened by iSpaceYT 5
  • Internal Server eror

    Internal Server eror

    I'm having a problem when I try to summon the faction's top floating text, I get an error like this

    Screenshot_2021-09-23-14-38-33-703_com android chrome

    I'm using the latest developer version of the plugin

    Category: Internal Category: Bug 
    opened by ErwanScraft 4
  • Suggestion

    Suggestion

    Add value like sky block but in claims. Any valuable block placed in the claim are counted which will be used for /f top Valuable blocks can be set in config. I can implement this if you want 😊

    Category: Extension Category: Internal 
    opened by DretooFuni 4
  • Leaderboard menu choice untraslated

    Leaderboard menu choice untraslated

    Describe the bug The plugin is writed in Spanish for display this:

    BUTTON_LEADERBOARD_FACTIONLEVEL: "Clasificación por nivel"
    BUTTON_LEADERBOARD_FACTIONPOWER: "Clasificación por poder"
    

    But it display this image

    To Reproduce Steps to reproduce the behavior:

    1. Put your lang in Spanish and check the leaderboard

    Expected behavior X

    Screenshots Screenshot at topside

    System (please complete the following information):

    • OS: Ubuntu
    • Version dev214
      • FactionMaster 4.2.1
      • PocketMine 4.2.3
      • Version of possible extension X
    • PHP version 8.0.16
    • Plugin installed= Plugins (31): AdvanceDeaths v3.5, BedrockEconomy v2.0.7, BetterBan v4.1.1, BuilderTools v1.4.0-dev, CapesLocker v1.2.0, ChatThin v1.3.0, CustomMessages v1.0.1, DevTools v1.15.0, FactionMaster v4.2.1, FormAPI v2.1.0, InvSee v2.0.1, KygekPingTPS v2.0.0, LoadEveryWorlds v1.0.1, MOTDShuffle v1.3.0, Mobs v1.1.0, MultiWorld v1.7.0-beta4, MyPlot v2.1.0, Netherite v2.3, NoVoid v1.0.0, PiggyCustomEnchants v3.0.0, PlayerTags v2.0.0, PurePerms v2.0.2, PurePermsScore v2.0.0, RedstoneCircuit v3.0.3, ScoreHud v7.0.0, SimpleNPC v3.0.1, VanillaElytra v1.4.0, VanishV2 v3.1.0, Weather v1.0.4, Worlds v3.1.0, theSpawn v1.7.0-dev

    Additional context Add any other context about the problem here.

    Category: Internal Category: Bug 
    opened by MrBlasyMSK 3
  • Crash on newest version

    Crash on newest version

    This happens when you use the Leaderboard.

    022-08-18 [17:21:00.385] [Server thread/INFO]: Enabling FactionMaster v4.2.0 2022-08-18 [17:21:00.407] [Server thread/CRITICAL]: InvalidArgumentException: "Invalid world given" (EXCEPTION) in "plugins/FactionsPro.phar/src/Utils/Leaderboard" at line 63 --- Stack trace --- #0 plugins/FactionsPro.phar/src/Manager/LeaderboardManager(143): ShockedPlot7560\FactionMaster\Utils\Leaderboard->__construct(string[12] factionPower, array[4]) #1 plugins/FactionsPro.phar/src/FactionMaster(120): ShockedPlot7560\FactionMaster\Manager\LeaderboardManager::updateLeaderboards() #2 pmsrc/src/plugin/PluginBase(117): ShockedPlot7560\FactionMaster\FactionMaster->onEnable() #3 pmsrc/src/plugin/PluginManager(448): pocketmine\plugin\PluginBase->onEnableStateChange(true) #4 pmsrc/src/Server(1419): pocketmine\plugin\PluginManager->enablePlugin(object ShockedPlot7560\FactionMaster\FactionMaster#33649) #5 pmsrc/src/Server(1024): pocketmine\Server->enablePlugins(object pocketmine\plugin\PluginEnableOrder#25758) #6 pmsrc/src/PocketMine(304): pocketmine\Server->__construct(object BaseClassLoader#3, object pocketmine\utils\MainLogger#2, string[34] /home/clientservers/server-283952/, string[42] /home/clientservers/server-283952/plugins/) #7 pmsrc/src/PocketMine(327): pocketmine\server() #8 pmsrc(11): require(string[71] phar:///home/serversoftwares/PocketMine_1.19.20.phar/src/PocketMine.php)

    Category: Internal Category: Bug Category: Not confirmed 
    opened by JustinLLDV 2
  • Large and small letters in the nickname.

    Large and small letters in the nickname.

    Error Description The error lies in the fact that if you change the letter to a large or small one in the same nickname, the clans are not actually saved. That is, if the nickname was "DutyDo", and a clan was created on it (or joined a clan), and then the letter in the nickname was changed to a small "Dutydo", then the clan no longer works on this nickname.

    Could you make the clan normal (created clan or joined), on the same nickname, but in big or small letters in it. Please

    If you don't know what I mean just watch the video: Tap

    Category: Internal Category: Bug Category: API change 
    opened by Defese 1
  • List of bugs

    List of bugs

    • [ ] can’t unclaim
    • [ ] can claim to infinity
    • [ ] co-leader (with all permission true) can’t teleported to faction home: no permission

    suggestion: teleportation instant to teleportation with delay (delay maybe configurable in config.yml)

    i will maybe post in this issue other bugs if i found them

    Category: Internal Category: Bug 
    opened by xodamcm 1
Releases(v4.2.0)
  • v4.2.0(Mar 6, 2022)

  • v3.1.5(Dec 20, 2021)

  • v3.1.0(Oct 5, 2021)

  • v3.0.3(Oct 2, 2021)

  • v3.0.0(Sep 30, 2021)

    v3 is not compatible with v2, to use it, please delete your FactionMaster related configuration files. The official extensions will be progressively updated.

    Note about API

    This version includes many features and uses that are incompatible with previous versions. Therefore, you will be asked to reinstall the entire plugin. The database will not be deleted but you will be asked to delete the configurations.

    Manager

    Most of the functions called and initialized at server startup have been moved to Managers in the namespace ShockedPlot7560\FactionMaster\Manager

    • The following classes have been mooved :
      • ExtensionManager to ShockedPlot7560\FactionMaster\Manager
      • MigrationManager to ShockedPlot7560\FactionMaster\Manager
      • PermissionManager to ShockedPlot7560\FactionMaster\Manager
      • SyncServerManager to ShockedPlot7560\FactionMaster\Manager
      • DatabaseManager to ShockedPlot7560\FactionMaster\Manager
    • The following classes have been added :
      • ConfigManager: Manage the link between file and Config instance
      • ImageManager: Manage if the button have image
      • LeaderboardManager: Manage the spawn location of Leaderboard
      • MapManager: Manage the player which want to have f map

    Events

    • This following super class has added:
      • AllianceEvent
      • FactionEvent
      • InvitationEvent
    • The interface Forcable has been added to allow specifying when an action is done manually by an admin (API extension)
    • The trait PlayerEvent has been added to add the getPlayer() function in events allowing it

    All events have been reviewed and redesigned for a better API

    Database

    • All EntityDatabase extends now from this super class
    • All uses of entity constants are to be prohibited, use functions now
    • The table schematics have been revised for better optimization and understanding

    Button

    • Radical change to the Button super class
      • Declarations are no longer made in the __construct but from the functions
        • setSlug
        • setContent
        • setCallable
        • setPermissions
        • etc
    • Cleaning code in Button classes
    • Adding the SLUG constant in each class

    Collection

    • Cleaning code
    • Rename all the classes to the Route schematics

    Route

    Many changes have been made to it

    • Rename all classes and completely restructure the organisation
      • For player with no faction
      |_ MainRoute
      |   |_ CreateFactionRoute
      |   |_ JoinFactionRoute
      |   |   |_ JoinSendInvitationRoute
      |   |   |_ JoinInvitationSendRoute
      |   |   |   |_ ManageJoinInvitationRoute
      |   |   |   |   |_ ConfirmationRoute (Delete)
      |   |   |_ JoinRequestReceiveRoute
      |   |   |   |_ ManageJoinRequestRoute
      |   |   |   |   |_ ConfirmationRoute (Accept / Deny)
      |   |_ TopFactionRoute
      |   |_ ChangeLangueRoute
      
      • For player with a faction
      |_ MainRoute
      |   |_ MembersViewRoute
      |   |_ HomesViewRoute
      |   |_ MembersOptionRoute
      |   |   |_ MembersSendInvitationRoute
      |   |   |_ MembersInvitationSendRoute
      |   |   |   |_ ManageMemberInvitationRoute
      |   |   |   |   |_ ConfirmationRoute (Delete)
      |   |   |_ MembersRequestReceiveRoute
      |   |   |   |_ ManageMemberRequestRoute
      |   |   |   |   |_ ConfirmationRoute (Accept / Deny)
      |   |   |_ MembersManageRoute
      |   |   |   |_ ManageMemberRoute
      |   |   |   |   |_ ManageMemberRankRoute
      |   |   |   |   |_ ConfirmationRoute (Kick)
      |   |_ FactionOptionRoute
      |   |   |_ DescriptionChangeRoute
      |   |   |_ MessageChangeRoute
      |   |   |_ VisibilityChangeRoute
      |   |   |_ ManageLevelRoute
      |   |   |   |_ ConfirmationRoute (Level up)
      |   |   |_ ManagePermissionRoute
      |   |   |   |_ PermissionChangeRoute
      |   |   |_ AllianceOptionRoute
      |   |   |   |_ ManageAllianceRoute
      |   |   |   |   |_ ConfirmationMenu (Break ally)
      |   |   |   |_ AllianceSendInvitationRoute
      |   |   |   |_ AllianceInvitationSendRoute
      |   |   |   |   |_ ManageAllianceInvitationRoute
      |   |   |   |   |   |_ ConfirmationRoute (Delete)
      |   |   |   |_ AllianceRequestReceiveRoute
      |   |   |   |   |_ ManageAllianceRequestRoute
      |   |   |   |   |   |_ ConfirmationRoute (Accept / Deny)
      |   |_ TopFactionRoute
      |   |_ ChangeLangueRoute
      |   |_ ConfirmationMenu (Leave / Delete faction)
      
    • Adding super classes
      • InvitationBase
      • RouteBase
      • VictimBase
    • Addition of abstract functions for better readability of classes

    Other

    • Resolve many many bug
    • Add many feature and configuration
    • Update API for thee actual
    Source code(tar.gz)
    Source code(zip)
    FactionMaster.phar(307.62 KB)
  • v2.4.1(Sep 27, 2021)

  • v3.0.0-alpha(Sep 26, 2021)

  • v2.4.0(Sep 9, 2021)

    • Add UpdateNotifier virions
    • Add ConfigUpdater virions
    • Add faction and ally chat support
    • Add faction name prohibition
    • /f scoreboard need to put data manually in config file to prevent comments in config file removed
    • Global translation correction
    • Some bug fix
    Source code(tar.gz)
    Source code(zip)
    FactionMaster.phar(273.12 KB)
  • v2.3.0(Sep 6, 2021)

    • Add ScoreHUD v6.0.0 support
      • Tag available:
        • factionmaster.faction.name
        • factionmaster.faction.power
        • factionmaster.faction.level
        • factionmaster.faction.xp
        • factionmaster.faction.message
        • factionmaster.faction.description
        • factionmaster.faction.visibility
        • factionmaster.player.rank
    • Add broadcast message (see configuration file for more information)
    • Added Spanish language and update TexturePack for spanish flag Download the pack again to take account of the change here
    • Fix Important server crash
    • Global optimisation and minor bug fix
    Source code(tar.gz)
    Source code(zip)
    FactionMaster.phar(266.93 KB)
  • v2.2.0(Sep 5, 2021)

  • v2.1.3-alpha(Sep 3, 2021)

Owner
FactionMaster
FactionMaster is a new faction plugin that aims at flexibility and customization of the plugin by the user and the developers.
FactionMaster
It's a CodeIgniter Library for Captcha Generation. With additional Flexibility .

Original Source : Pavel Tzonkov <[email protected]> Source Link : http://gscripts.net/free-php-scripts/Anti_Spam_Scripts/Image_Validator/d

Chris # 4 Sep 2, 2022
🐋 This project aims to broaden knowledge of system administration by using Docker: virtualizing several Docker images, creating them in a new personal virtual machine.

?? This project aims to broaden knowledge of system administration by using Docker: virtualizing several Docker images, creating them in a new personal virtual machine.

Anton Kliek 1 Jan 26, 2022
My intention with this app is that new developers can have a concrete application with Laravel + VueJS where they can use it as example to learn the right way

My intention with this app is that new developers can have a concrete application with Laravel + VueJS where they can use it as example to learn the right way, implementing the best practices possible and at the same time learn how TDD is done. So this will be an example application but completely usable for any similar case.

Eng Hasan Hajjar 2 Sep 30, 2022
Yab copy to new - A Textpattern plugin. Copies the current article content to a new one.

yab_copy_to_new Displays a new button in article write tab to copy the current article to a new one. Version: 0.2 Table of contents Plugin requirement

Tommy Schmucker 2 Dec 15, 2017
This extension links MediaWiki to phpBB's user table for authentication, and disallows the creation of new accounts in MediaWiki.

This extension links MediaWiki to phpBB's user table for authentication, and disallows the creation of new accounts in MediaWiki. Users must then log in to the wiki with their phpBB account.

Digitalroot Technologies 22 Feb 8, 2022
WP Local Analytics plugin. - run user analytics within your system and track user data inside your database.

WP Local Analytics plugin. - run user analytics within your system and track user data inside your database.

Gary 5 Dec 21, 2022
Project that aims to create a website for a gym, where the clients and employees can access their data, buy in the gym store and check the gym activities.

Gym_Management_Project Project that aims to create a website for a gym, where the clients and employees can access their data, buy in the gym store an

null 1 Jan 12, 2022
This module aims to validate if the pilot made his flights online on the IVAO and VATSIM networks

SMPirepValidator This module aims to validate if the pilot made his flights online on the IVAO and VATSIM networks SMPirepValidator v.1.0 for phpVMS (

SmartModules for phpVMS 1 Dec 13, 2021
This repository aims to build a fairly complete CI/CD example using GitHub workflows and actions.

CI/CD example This repository aims to build a fairly complete CI/CD example using GitHub workflows and actions. Keep in mind that the toolset used in

Robin Ingelbrecht 4 Nov 1, 2022
Sslurp is a simple library which aims to make properly dealing with SSL in PHP suck less.

Sslurp v1.0 by Evan Coury Introduction Dealing with SSL properly in PHP is a pain in the ass and completely insecure by default. Sslurp aims to make i

Evan Coury 65 Oct 14, 2022
AnsibleBoy aims to use the Asnible `facts` as data, which can then be visualized in a table format

AnsibleBoy - Ansible Frontend Hub About AnsibleBoy aims to use the Ansible facts as data, which can then be visualized as a table ToDo (note that this

Ron 23 Jul 14, 2022
This project aims to facilitate the management of websites monitored by the blackbox exporter, via a web UI.

This project aims to facilitate the management of websites monitored by the blackbox exporter, via a web UI. The UI would allow to add/remove sites, groups, and even add different fields in the prometheus database.

null 2 Nov 6, 2021
Opis Closure - a library that aims to overcome PHP's limitations regarding closure serialization

Opis Closure is a library that aims to overcome PHP's limitations regarding closure serialization by providing a wrapper that will make all closures serializable.

Opis 2.4k Dec 18, 2022
Helps detect the user's browser and platform at the PHP level via the user agent

cbschuld/browser.php Helps detect the user's browser and platform at the PHP level via the user agent Installation You can add this library as a local

Chris Schuld 574 Dec 16, 2022
Allow any Discord user to sign in to your website and save their discord user information for later use.

Simple Discord SSO ( Single Sign-On ) Requires at least: 5.0 Tested up to: 5.8.3 Stable tag: 1.0.2 Requires PHP: 7.4 License: GPLv2 or later License U

null 2 Oct 7, 2022
run user analytics within your system and track user data inside your database.

WP Local Analytics plugin. run user analytics within your system and track user data inside your database. Installing Go to the plugin page from the W

Gary 5 Dec 21, 2022
The best profanity filter for chat with api for plugin developers!

xqwtxon/ProfanityFilter is moving on ReinfyTeam/ProfanityFilter ProfanityFilter ?? A best profanity filter for pocketmine. Controls hate speech and bl

Ace Sobremont 4 Jul 11, 2022
WordPlate is a wrapper around WordPress. It makes developers life easier. It is just like building any other WordPress website with themes and plugins. Just with sprinkles on top.

WordPlate is simply a wrapper around WordPress. It makes developers life easier. It is just like building any other WordPress website with themes and plugins. Just with sprinkles on top.

WordPlate 1.7k Dec 24, 2022
The swiss army knife for Magento developers, sysadmins and devops. The tool provides a huge set of well tested command line commands which save hours of work time. All commands are extendable by a module API.

netz98 magerun CLI tools for Magento 2 The n98 magerun cli tools provides some handy tools to work with Magento from command line. Build Status Latest

netz98 758 Dec 28, 2022