FactionsBridge 1.3.6

Bridging the gap between Plugins and APIs.

  1. Retrix_Solutions
    Native Minecraft Version:
    1.18
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    • 1.17
    • 1.18
    Source Code:
    https://github.com/CallumJohnson/FactionsBridge
    Contributors:
    CustomEnchants (Ideas), Bloodshot_Pico (Ideas/JavaDoc Host), mBaxter/mbax (Ideas), Lèbànk (Ideas/Bug Fixes/Testing), Driftay (Bug Fixes), Thefluffypvper (Bug Fixes), winnipeg21 (Bug Fixes), llamadeal (Bug Fixes)
    FactionsBridge
    A Plugin which Bridges the gap between multiple APIs and Plugins which use them.

    Due to the nature of Factions and their individualised implementations, it can be difficult to implement Factions into a Project without having to make a multitude of methods to support them all or choosing a specific branch to exclusively support. This project is being developed to hopefully mitigate this issue and create a unified interface, which any developer can depend, use and rely upon to make the distance for them when handling different Factions APIs.

    JavaDocs

    To the view the JavaDocs, visit the following website: <redacted>
    Plugins which are supported.
    As of Version 1.3.6, 15 different versions of Factions are supported.
    1. FactionsX
    2. FactionsUUID
    3. SavageFactions (Abandoned)
    4. SupremeFactions
    5. KingdomsX
    6. MassiveFactions
    7. FactionsBlue
    8. Atlas Factions
    9. SaberFactions
    10. MedievalFactions
    11. LegacyFactions
    12. UltimateFactions
    13. Towny
    14. KoreFactions/Golfing8's Factions.
    15. Improved Factions
    Head over to the GitHub to see purchase/documentation links.
    Git: https://github.com/CallumJohnson/FactionsBridge

    How to use the API
    To begin, you need to remove Factions from your dependancies, this will hopefully be a full replacement and if it is not, please create an issue/contact me to get your desired functionality added into this project. Added FactionsBridge into your plugin.yml dependancies to ensure that your plugin is hooked correctly.
    Code (YAML):

    name
    : YourProject
    main
    : com.yourname.yourproject.YourProject
    version
    : 1.0-Snapshot-of-the-century

    # If you are shading the project in, include the following:
    softdepend
    : [Factions, FactionsX, FactionsBlue, KingdomsX, Kingdoms, LegacyFactions, MedievalFactions, UltimateFactions, Towny, ImprovedFactions]

    # If you are depending on the standalone plugin, including the following:
    softdepend/depend
    : [FactionsBridge] # depending on your preference or requirements.
     
    If you are shading the project into your plugin, please make sure to 'connect' to the FactionsBridge class when you do. If you are shading the project into your own, please make sure to utilise relocations as this will resolve the large majority of problems.
    How do I connect for Shading?
    Code (Java):

    FactionsBridge bridge = new FactionsBridge();
    //     This will create all methodology using the Plugin Object you provide.
    bridge.connect(yourPluginObject); // 1.0.0->Present.

    // If you do not require factions but you want console output, use these parameters.
    bridge.connect(yourPluginObject, true,          false           ); // 1.1.2->Present.
    // ->> connect(plugin,           consoleOutput, requiresFactions)
    /*
        FactionsBridge will bridge the APIs and then allow you to use the following
        methods for access to the API methods.
    */

     
    How do I get access to the API?
    Code (Java):

    //     This is how to obtain the API.
    FactionsAPI api = FactionsBridge.getFactionsAPI();
    /*
        The API class has many methods which will hopefully add all the
        functionality you could ever require.
     */

     
    There are also events which are bridged, these events are listened to within FactionsBridge and then ported into the API so you can use them at the same time.

    Code (YAML):

    FactionClaimEvent                    # When a Faction claims land. (1.2.0)
    FactionUnclaimAllEvent               # When a Faction unclaims all their land. (1.2.0)
    FactionUnclaimEvent                  # When a Faction unclaims land. (1.2.0)
    FactionCreateEvent                   # When a Faction is created. (1.2.0)
    FactionDisbandEvent                  # When a Faction is disbanded. (1.2.0)
    FactionRenameEvent                   # When a Faction is renamed. (1.2.0)
    FactionLeaveEvent                    # When a Player Leaves or is Kicked from a Faction. (1.2.0)
    FactionJoinEvent                     # When a Player Joins a Faction. (1.2.0)
     

    Side-note:
    This API is very unstable and is a very basic implementation of the concept, updates will come to increase stability and fix issues if they arise.
    The standalone plugin (FactionsBridge/BridgePlugin) uses bStats to track implementations.
    See more here: https://bstats.org/plugin/bukkit/FactionsBridge/11893

    Contact Me
    Discord: C A L L U M#4160

Recent Updates

  1. Beta - Version 1.3.6
  2. Beta - Version 1.3.5
  3. Beta - Version 1.3.4

Recent Reviews

  1. CustomEnchants
    CustomEnchants
    5/5,
    Version: 1.3.6
    Excellent plugin created by Callum.
    Makes life a whole lot easier when dealing with multiple factions plugins :)
  2. Bloodshot_pico
    Bloodshot_pico
    5/5,
    Version: 1.3.4
    Expanding to more faction plugins and covering more basis for compatibility, what more do you need? Why aren't Factions like this already? :thinking:
  3. DanTheTechMan
    DanTheTechMan
    5/5,
    Version: 1.3.0
    This is an ambitious and well-thought out project. For those wishing to create plugins that they plan on integrating with territory-management systems like Factions or Towny, I heavily recommend using this API. I am happy that a developer as meticulous and dedicated as Retrix_Solutions has decided to make something like this. I'm sure it will come in handy for many.
    1. Retrix_Solutions
      Author's Response
      Thank you for your review!
  4. FlyingCoder
    FlyingCoder
    5/5,
    Version: 1.2.5
    Extremely Useful, would recommend this to anyone coding plugins for Factions Servers. Developer updates this and replies at an unhealthily fast speed. Thank you <3
    1. Retrix_Solutions
      Author's Response
      Thank you for your review!
  5. Bloodshot_pico
    Bloodshot_pico
    5/5,
    Version: 1.2.5
    The functionality of this API basically allowing addons and the like to work across the board of the Faction plugins rather than having people switch out to use said Addon etc.

    Also this guy is big pog, and his work is quality I can vouch for him.
    1. Retrix_Solutions
      Author's Response
      Thank you for your review!
  6. Splodgebox
    Splodgebox
    5/5,
    Version: 1.1.1
    Massive Shoutout to this API, Really helps out developers like me who get requests for support for new faction plugins every month. This just saves me the time of having to make a whole system to support multiple faction plugins.

    Honestly, a massive life saver, thank you so much for making this.
    1. Retrix_Solutions
      Author's Response
      Thank you for your review!
  7. Heron4gf
    Heron4gf
    5/5,
    Version: 1.0.3
    I didn't try or use this API, since I don't have a Faction server, but I really love the idea of a "Vault" for Faction plugins, future factions addons will probably just need to hook in this plugin to have a really good integration, keep it up!
    1. Retrix_Solutions
      Author's Response
      Thank you for your review!
  8. CustomEnchants
    CustomEnchants
    5/5,
    Version: 1.0.1
    Vouch for this dude
    I kinda helped him think of what to add to this api.
    Can't thank him enough for this.
    1. Retrix_Solutions
      Author's Response
      Thank you for your review!