Often times when becoming a new developer, you find yourself annoyed by the number of programs you must install often times to make a simple Spigot plugin. Some programs are however smaller, such as using MS Paint which is a full-fledged IDE in MS Paint, or what some people might suggest Eclipse, however, this is just a glorified text editor and nothing more. You may have tried the MC Book IDE, but may have gotten annoyed while typing in books. Now, there is a fast, easy, and convenient way to program in the safety of your own server, without having downloaded any other external programs other than Minecraft itself.
- Easy to use, natural typing style
- Full Java syntax highlighting
- Angry squiggle highlighting
- In-game execution of programs
- In-game compilation of programs
- Program library support
- Addition of extra resources in the compiled jar (eg. manifest, plugin.yml, etc.)
There are two main commands for the Banner IDE, one with several subcommands. Here are the usages and what they do:
/setup start - This is the first command you should do, this sets up the programming board for you.
/setup stop - This stops the current board from being recognized.
/setup compile - This simply highlights and compiles the program written on the current board, using the settings in the config file.
/setup execute - This command highlights, compiles, and then executes the current program written.
/setup give - This drops at your feet all of the banners that can be used in a program.
/<changecase|cc> <true|false> - This changes the case of all of your current banners in your inventory. The value true will change everything to uppercase, and false will turn everything lowercase. Banners with a yellow background are capitalized while reading the program.
To make it easier for past IDE users, the Banner IDE has the same configuration as the MC Book IDE. The configuration allows you to change some settings of how the books are compiled into jars. These are the config paths and their usages, with example values:
compile.jarname - This is the name of the jar that will be compiled from the books. The default value of this is "CompiledJar.jar"
compile.otherfiles - This is the location of other files to be packaged into the jar file. These can be things like Manifests, plugin.yml's, etc. This can be a directory containing files to be packaged, or a singular file. The location is in the plugin's data folder. The default value for this is "OtherFiles" which will put everything in the created folder, into the jar.
compile.classoutput - This is the folder location (In the plugin directory still) to put all of the .class files compiled from books.
compile.libs - The jar file to be used as a library, or a directory containing jars to be libraries. These can be things like Spigot, plugin APIs, etc. The default for this is "libs", so all jars in this folder (In the plugin data folder) will be used for compiling.

Example with a missing semicolon:
https://rubbaboy.me/images/0476388.gif (Sorry for the link, Spigot doesn't like large gifs)
Donate
If anyone would like to donate to me to keep the memes flowing, I would be extremely grateful. If you are unable to donate money, throwing a like or a review will help support as well!
Feel free to donate via PayPal.
Similar projects
Plugin →Let Me Despawn
Improves performance by tweaking mob despawn rules. Say bye to pesky unintentional persistent mobs.
25MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
Emotecraft
Create your own emotes in Minecraft.
7.5MSueta
Simple Tpa
A simple tpa plugin which sends requests
5.4MSueta
Common Network
Forge and Fabric Unified Networking Solution
3.9MSueta
Set Home
A lightweight plugin for players to set their homes.
3.8MSueta