Icicle is a Spring inspired framework designed for Bukkit/Spigot plugin development. It's a new way of thinking about plugin development, and not worrying about the complex systems you have to write for many hours straight.
The aim of this project is to aid you in every single part of plugin development, from basic commands to advanced protocol mechanics.
Even though Icicle can be implemented in many environments, we'll only focus on Minecraft development in this documentation. If you're interested in gaining the basic (non-Minecraft) functionalities of Icicle, please check out the Embedding Icicle page.
If you're already familiar with the concept of beans, or with Spring, then you will have no time picking up Icicle's style.
If you have never heard of the things above, then don't feel disqualified. In this documentation, we will explain everything in a nutshell, so that you will understand the "weird terms" we will reference/rely on.
We've split the documentation into sections. These sections include the complete guide of separate modules, how to extend Icicle, etc. However, if you're new to Icicle (or have no idea about Spring either) we strongly recommend starting with the basics under Icicle Basics.
Create your first Icicle application very easily.
To help your productivity skyrocket, we've decided to make our own development tools, with many in mind for the future.
Currently, our only development tool is our own Gradle Plugin, but don't let this little number fool you, this addon for Gradle will help you more than you can imagine, but let's dive into it further!
We strongly recommend the use of Gradle, but you can get away with Maven or the dependency manager of your choice, but you will lose the helpful features of our plugin.
You want to use Eclipse, I see. Teach you how to do so, I shall.
Fire up Eclipse and create a new Project with CTRL+N
, or by clicking on File -> New -> Other
.
This will bring up a handy little wizard, where the only thing I care about is the Gradle -> Gradle Project
.
a
First of all, we need to create the folder containing our project
Next we'll start creating the project with Gradle. This needs to be unzipped and added to the environment variables. To start the creation process we'll need to execute
This will give us some options which we'll quickly answer. In this demo we'll be using a Kotlin DSL.
After we've finished setting up our basic file structure, we can go ahead and add all the icicle related funky stuff!
With your preferred text editor open up the settings.gradle.kts
file. For the sake of presentation, I'll be using nano.
In there copy-paste the following text:
Inside of your plugins
block, add the icicle plugin with the following bit of code.
Next up, let's create the configuration for the Icicle plugin.
Create a new block, called icicle
and populate it according to the template provided below.