Develop Minecraft Plugins (Java)
4.7 (85 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
277 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Develop Minecraft Plugins (Java) to your Wishlist.

Add to Wishlist

Develop Minecraft Plugins (Java)

High-quality, detailed and slow-paced tutorials providing you with the most sustainable practices available.
Best Seller
4.7 (85 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
277 students enrolled
Created by Stephen King
Last updated 8/2017
Curiosity Sale
Current price: $10 Original price: $20 Discount: 50% off
30-Day Money-Back Guarantee
  • 5.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
What Will I Learn?
  • Learn the programming language Java (if not known)
  • Develop plugins for Spigot, Bukkit or BungeeCord
  • Earn money from developing in Minecraft
View Curriculum
  • Should be able to install Eclipse (or another IDE)
  • Should understand basic math operations (i.e. addition, subtraction, division etc.)

Here, you will learn all about Minecraft plugins! The first tutorial is the installation and description of what you will need, and we'll work together by starting simple and by slowly developing your plugins you will become some sort of Java god! You will start with basic lectures, teaching you how to setup your first plugin, create commands and manage events, and then move onto more tricky aspects, such as the idea of toggling or GUIs.

Whether you know Java or not, you will learn a lot from this course. I will be covering Java from basic to advanced throughout the course and it is a skill that you can carry all throughout life. When using it with Minecraft, you can create some amazing things; for instance, you could be developing for your own server, another server, or even make money from uploading your plugins online for people to purchase. At the end of this carefully constructed course you will be confident in creating plugins for Spigot, Bukkit & Bungee.

I have been dealing with Java for several years and have been working with Minecraft for the majority of those. I have developed plugins ranging from Spigot to Bungee and earned a lot of money from it. I am a natural teacher and so I can assure you that you will be in safe hands! Once you have completed the course (or even each lecture), you will be able to create your own plugins based on what you have learned. 

Who is the target audience?
  • This course is for Minecraft players who want to create awesome things!
Students Who Viewed This Course Also Viewed
Curriculum For This Course
24 Lectures
7 Lectures 01:30:40

This lecture you will be installing all of the necessary programs and making the most simple starter plugin. You will have all of the components to start creating amazing plugins!

Installation / Setup

This lecture you will learn the basics of the Java programming language, such as math operations and variables. You will be testing with regular Java and not implementing into Minecraft at the moment.

Java Overview (Basic)

This lecture you will understand how to make the most basic command. You will be using the most simple system which can incorporate multiple commands; you will also learn more about player variables and how they can be modified based on a command!

Simple Command

This lecture you will learn about events.. code that you can manipulate which is triggered upon a certain event. Essentially, you will be able to make things happen once something else does! 

Event Handling

This will quiz you on the most basic functions within Java. These include math operations, loops and general terms that we have covered thus far!

Basic Java
10 questions

This small lecture will provide you with the simple code to add permissions. You will use code created from previous lectures and modify how a command/event is run based on player permissions!


You will understand the basic rules of a config.yml file and how you are able to add and remove formatting from it. You will also be taught the basic principals of YML creation and how you can use code inside of the file to modify what happens in your plugins.

Configuration File (config.yml)

This could include general Java knowledge (recommended quiz: Basic Java) or anything which we have covered so far. 

Knowledge This Far
5 questions
More Advanced
10 Lectures 01:51:56

Following from basic Java lecture, you will understand more advanced methods in the language. You will grasp the concepts of try/catch, loops, switch etc. and be able to improve the efficiency and functionality of your code! 

Further Java

Whilst there is a lecture on commands in the earlier section, here you will learn the most efficient method of writing commands and ensures that your code remains tidy and comprehensible. You will use the Command Executor method which simply directs your commands to different .class files!

Multiple Commands

You've done commands.. but now we need to do arguments! You'll learn the simplicity of command arguments and some good practices as it does require some effort and a neat coding style. You will then be able to change what happens based on the desired arguments.

Command Arguments

This lecture will teach you about console commands and how you can filter between sender types (i.e. player and sender). You will then be able to change the way your plugin works based on this information!

Console Commands

You will be taught about Enums, they are another type of file (i.e. different from a .class) and allow you to make quick and easy lists which can be accessed throughout your projects. You will be able to use the example as provided to incorporate into your own plugins!


This lecture teaches you the most important methods related to Armor Stands and how to manipulate them to create Holograms. You will learn how to make a single hologram, one that follows players and a multi-line hologram.


This lecture will teach you about the best methods to toggle anything of your desire. It could be toggling the use of ender pearls, moving or command usage. You will learn the process of filtering ArrayLists in order to declare the player as having the toggle enabled or disabled.


In this lecture you will be learning new data types, such as blocks and materials, to which you can use to manipulate events and commands. You will follow the example of manipulating block modifications which will work on any map - therefore, you will understand how to target specific blocks within the map.

Map Modification / Blocks

In this lecture we purposely create a problem and attempt to read the error. Whilst the error appears horrible, it actually tells us exactly where the problem is which makes it much easier for you to solve the problem!

Reading Errors

During this project I will be creating a private message system. You will be following along and starting to understand new methods and practices within Java that you weren't previously aware of. After following this lecture, you will have created the ability to private messages between two players.

Preview 19:10
Further Learning
7 Lectures 01:53:38

You will be learning a new method which allows you to schedule (repeating) tasks for a certain time. By the end of this lecture you should fully understand Runnables, including where to use them and how they can be implemented into your code to work effectively.


This lecture will teach you about how to create a GUI that can be shown to players. Many servers nowadays have menus that are triggered on item clicks, by the end of this lecture you will be able to replicate any GUI of your choice! You will be learning some new concepts and so sustainable practices will be used throughout.

GUI Creation

In this lecture you will be managing the GUI that you created in the previous lecture. You will be dealing with the InventoryClickEvent in order to define what happens when a player clicks on an item in the menu.

GUI Interaction

This lecture will teach you two appropriate methods of dealing with cooldowns. The example is with commands, but they can be used all throughout your plugins. One method involves runnables and the other is a simplistic technique involving ArrayList storage, each dealing with time!

Command Cooldowns

Whilst we have covered the config.yml, at the end of this lecture you will be able to create YML files with your own names that act the same as the configuration file. You will be able to edit and use data inside to determine how your plugin works!

Custom YML Files

This lecture shows you how to use API's that are provided by other plugins. This means that you are able to use and send information from the API. In this example, WorldEdit is used and we register a selection using different means than what WorldEdit provides using their API.

Using Plugin API's

This lecture shows you how to make a help command with automatic pages. This means that you could add as many commands to your server as you wish and the pages would update accordingly. As this is a 'project', you are not expected to fully understand everything at this stage.

PROJECT: Intelligent Help Command
About the Instructor
Stephen King
4.7 Average rating
84 Reviews
277 Students
1 Course
Minecraft Plugin Developer

I run the most sustainable and educational course on developing Minecraft plugins available on the site. It is a 'Best Selling' and has amazing reviews!

My name is Stephen and I'm providing online courses where you can learn all about Minecraft plugin developing! I attempt to teach you the most sustainable and up-to-date practices so that you can make the best from my course! You will learn from an experienced developer who shares detailed, slow-paced and high quality tutorials which you are able to follow so that you can grow wings and design anything of your choice!