Skip to content

ArcanePlugins/ArcaneFramework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArcaneFramework

Shaded plugin development library for ArcanePlugins software

Support available on Discord Support available through Spigot PMs
Documentation available on the Wiki Source Code available on GitHub
Contributors listed in Credits Page

About

ArcaneFramework is a library purposed to reduce the amount of boilerplate code required in our plugin suite.

It is designed to replace our usage of MicroLib. Upon sufficient completion, MicroLib will be discontinued.

Should I use this library?

Probably not. Unexpected, right? Usually libraries want to sell themselves to developers. 😄

There may be features you like in the library, however, there are a handful of barriers this library poses to developers interested in adopting it. It boils down to how this library is designed for our use - what we require of it - without catering for what other developers would desire it to be. Rather, we have decided that forks of this library would be able to expand on it if wanted without the burden of us trying to facilitate a feature we may never use or may not be able to maintain in the long term. Here's why you probably don't want to use ArcaneFramework:

  • Compiled in Java 17, so your plugin will need to be compiled with Java 17 or newer.

    • We will not backport as we are not interested in aiding users who intentionally use outdated software such as Java 8 and Minecraft 1.8, we would rather our software not be dragged behind.
  • This library uses the GNU GPL v3 license which poses restrictions on what license you may use in your plugins which adopt it.

    • All of our plugins are GPL, and we don't like proprietary software.. the choice to make this framework licensed under GPL was an easy one to make.
    • But... if your plugin is licensed under the GPL, then all the better!
  • This library is highly opinionated.

    • We have our way of doing things, our design choices in this library will reflect such.
  • This library contains only the features that we require.

    • Again, feel free to create a fork if you want to expand on ArcaneFramework.
  • Not widely documented.

    • Documented enough that we (hopefully) won't forget what things do.
  • Makes breaking changes as often as we need them to.

    • As we will have large codebases depending on ArcaneFramework, we will aim to not make large breaking changes so we don't have to constantly refactor things.
    • However, if there's something we need to change, we will do it.

All of these barriers (except for the license) may be addressed by anyone who is willing to create and maintain a fork of ArcaneFramework. We are not interested in maintaining such a variant ourselves.

Copyright Notice

         Copyright © 2022 lokka30 and contributors.

      /\  |\_________ ArcaneFramework is free software; you
     /  \ |  _______/ can redistribute it and/or modify it
    / /\ \| |____     under the terms of the GNU General
   / /  \ `  ___/     Public License as published by the
  / /    \  |         Free Software Version, 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 General Public License for more details.
 
You should have received a copy of the GNU General Public
License along with this program.  If not, see
<https://www.gnu.org/licenses/>.