
I'll explain all about the course, the content within it, my credibility, the support networks available and how to make the most of this resource!
You'll learn how to install IntelliJ, the software we'll be using throughout, using Windows OS.
You'll learn how to install IntelliJ, the software we'll be using throughout, using Mac OS.
You'll learn how to install IntelliJ, the software we'll be using throughout, using Linux-based Ubuntu (22.04).
You'll learn the basics of how IntelliJ works, how to get my theme and some other top tips.
You'll learn how to setup your very own local Spigot server using Windows OS.
You'll learn how to setup your very own local Spigot server using Mac OS.
You'll learn how to setup your very own local Spigot server using Linux-based Ubuntu (22.04).
I'll introduce you to our exclusive student-only Discord community and support server! Come join us @ discord.gg/9WuhJJkCsa
You will learn:
Introduction to Java & OOP
Variables & Objects
Data Types (Primitive & Non Primitive)
Methods (including Parameters & Returning)
You will learn:
If Statements & Operators
Null
Exceptions & Try/Catch
Classes, Instances & Constructors
You will learn:
Arrays
List (& LinkedList)
HashMap (& LinkedHashMap)
Loops (For & While)
You will learn:
Inheritance (Superclass & Subclass)
Abstract Methods & Classes
Enumerators
Static Keyword
You will learn:
Switch Statement
Date & Time
Randomness
You'll make your very first plugin! We start basic, with a simple console message, after setting up the whole environment for future lectures.
You'll begin to understand what events are and how to listen to them - in this lecture we look at the PlayerMoveEvent and the PlayerEggThrowEvent!
You'll learn how to create basic commands. We'll make a /heal command to start off!
You'll learn how to start expanding your command possibilities using optional arguments from the player.
You'll learn how to allow your console users to run your commands!
You'll learn how to create a configuration file, read and set data.
You'll learn how to incorporate permission check into your plugin (i.e. allowing actions based on whether user has X permission).
You'll learn the importance of the Javadocs throughout the course and your development career, and understand how to read and search them.
You'll learn the essential skills of reading errors and debugging which will be used throughout the course!
You'll learn some of the key methods and events relating to entities.
You'll learn the key methods related to block manipulation, ItemStacks and the Material's behind them.
You'll learn how to use other forms of ItemMeta such as LeatherArmorMeta to make dyed armor.
You'll learn how to send custom action bars (1.9+), titles (1.9) and player list header and footers (1.13+). For lower versions, see packets section.
You'll learn how to create boss bars with lots of customization, and also how to edit them in real time!
You'll learn how to create and give extremely customizable fireworks to players.
You'll learn the key methods regarding potion effects and how to apply them to players with different settings.
You'll learn all the key methods regarding worlds; including how to get them, the methods you can use on them and the key events.
You'll learn how to send sounds to single or all players and the key settings involved.
You'll learn how to play every Note Block sound and music discs.
You'll learn the key events related to projectiles and also create a gun-like Egg-shooting Diamond Hoe!
You'll learn how to spawn particles to players & worlds.
You'll learn the importance of toggling logic and how it works in practise!
You'll learn how to vanish players and even incorporate it into a custom command!
We'll bring together a load of content from the earlier videos and implement some guns into Minecraft!
You'll learn how to create a fully custom book - including setting the title, author, pages and other settings.
You'll learn how to create custom banners and give them to players.
You'll learn how to kick, ban and temporarily ban players using Bukkit's build-in punishment system!
You'll learn the key events related to resource packs and also how to force them from the server.
You'll learn the key methods that allows any entity to ride any entity (really!).
You'll learn how to retrieve all the default-stored Minecraft statistics and how to change them.
You'll learn the methods used in the ServerPingEvent to set the server MOTD, icon and max player count.
We'll bring together a load of content from this section and create a functioning message system between players.
You'll learn all about runnables and their importance, aswell as the key ones we'll be using and how to use them!
You'll learn how to create your very first GUI by making a cool staff/moderation menu! It'll also teach how to be sustainable, scalable and how to make your own ideas come to life.
You'll learn how to make GUI's clickable and user friendly, while keeping safety measures in mind. We'll make our GUI from last lecture fully functional and responsive!
You'll learn how to add custom tab complete options to your commands!
This lecture you'll learn how to modify attributes on entities and items.
You'll learn how to set specifc block data about all supported blocks, using a Rail, Cake & Glass Panes as examples!
You'll learn how to send block and sign information to just one player rather than the whole server!
You'll learn how to create fully custom skulls - by (a) setting it to a player's head, or (b) setting it to a custom texture.
You'll learn how to generate custom files for data storage, extra configuration, languages etc.
You'll learn how to generate files for data storage in the JSON format!
You'll learn how to draw coloured pixels & shapes, create custom text and add any image to maps!
You'll learn how to create custom crafting recipes using three different examples!
You'll learn how to use persistent data containers with entities, tile entities, itemstacks and chunks. This data persists over server restart.
You'll learn about the logic behind cooldowns and how to make the most efficient and effective system.
You'll learn how to create cool-looking single and multi-line holograms and how to make them clickable!
You'll learn how to use text, block and item display entities within your Spigot plugin which were implemented in 1.19.4!
You'll learn the (annoyingly complicated) way of manually applying and removing specific permissions on players.
You'll learn how to display information that is unlikely to change on a player's sidebar!
You'll learn how to add smooth seamless data which changes in your sidebar, alongside the static lines!
You'll learn how to set player prefixes and suffixes (i.e. nametags) which show up on the tablist and above the player.
You'll learn how to make a fully custom rank system, with all of your own savable ranks that work with nametags, chat formats & setting permissions.
You'll learn how to make clickable and hoverable text show in chat!
You'll learn how to make optional clickable and hoverable text within custom books.
You'll learn the (slightly-complex) way of forcing a player to have a custom skin.
You'll learn how to create a fully custom event, with optional cancellable implementation, and how to call it and listen to it.
You'll learn how to connect to other plugins using theirs APIs - namely WorldEdit in this example!
You'll learn how to convert your plugin into an API usable by others, following the best conventions and practises.
You'll learn (a) how to create your very own Note Block music and (b) how to play this or any other public Note Block song to players!
You'll learn how to accept player text input through an anvil and how to do things with the input!
You'll learn how to create a custom 3d region between two bounds, allowing for mass block updates, player tracking etc.
You'll learn how resource packs work and how to utilise custom model data in 1.14+ to add (near) unlimited models.
You'll learn how to create your own unique enchantment, how to apply it to an item and set the impact of it.
You'll learn how to make it so you can have conversations with an AI bot and give it certain characters to act as.
You'll learn how to make pages for GUIs which dynamically generate depending on contents!
You'll learn how to create a link between your Minecraft and Discord bot to allow for limitless possibilities; from syncing data, to sending messages, to sharing events etc.
You'll learn how to bring together all the command and tab completion content to make an efficient, scalable command manager which requires no plugin.yml info!
You'll learn all about databases, their benefits and use-cases, aswell as creating and building your own.
You'll learn how to connect to your database - whether local or externally hosted - using the the correct settings.
You'll learn the essential SQL commands, everything from setting, updating, deleting and retrieving information from your database!
You'll learn how to make a wrapper for each player which provides useful functionality to connect to the database in setting and retrieving information.
You'll learn how to use HikariCP - a connection pooling API - in order to speed up requests and make your life easier!
You'll learn how to use MongoDB as an alternative to an SQL database. You'll download the relevant software and learn how to push and pull data.
You'll learn about what we'll be making and creating the configuration file which will govern the rest of our minigame.
You'll create the arena manager and arena classes which control the games.
You'll create the countdown and game classes which compliment the arena class to provide the minigame experience.
You'll create the required listeners and an arena command to ensure the most user-friendly approach. Then we're done!
You'll learn how to convert our simple minigame mechanics framework into a fully functional Bedwars game!
You'll learn how to implement kits and a selection GUI to the minigame.
You'll learn how to implement teams and a selection GUI to the minigame.
You'll learn how to add multiple maps and make them reset after each game.
You'll learn how to create multiple scalable signs which allow users to join specific arenas.
You'll learn how to create multiple scalable NPCs which allow users to join specific arenas.
You'll learn how to make all of the messages within the minigame fully configurable.
You'll learn how to convert our setup to a BungeeCord network to have an unlimited server system.
You'll learn how to convert our setup to an engine which supports unlimited games which can be added extremely easily.
You'll learn about the nature of cosmetics and how we're going to proceed in this section! We make a base GUI, command and listener.
You'll learn how to add custom player skulls onto peoples heads - as well as creating a fully functioning toggling system and paving the way for future lectures.
You'll learn how to spawn cool particles behind players as they move!
You'll learn how to save what cosmetics people own in local YML files.
You'll learn how to create your very own BungeeCord network using Windows OS, setting up two Spigot servers to connect to each other!
You'll learn to create your very own BungeeCord network using Mac OS!
You'll learn to create your very own BungeeCord network using Linux (Ubuntu 22.04)!
You'll learn how to create your very first BungeeCord plugin using Maven & IntelliJ!
You'll learn how to make basic commands, listen to events and run schedulers using the BungeeCord API.
You'll learn how to add custom tab complete options to your commands in BungeeCord!
You'll learn how to set a custom MOTD, server favicon, online player count, max player count and version information.
You'll learn how to make a private messaging system across servers by bringing together a load of content from this section.
You'll learn how to use the BungeeCord Plugin Messaging Channel in order to communicate between Spigot servers.
This lecture you'll learn how to convert names and UUIDs to be used across the network.
2026 update: This is now the most sold Minecraft course ever! (Course updated March 2026)
Our Discord server has 6,000+ students! You'll enjoy 24/7 support and a warm community to learn alongside.
You'll learn how to create Minecraft plugins, from any level to advanced. The first tutorial is the installation and setup, and we'll work together by starting simple and turning you into some sort of Java god! We'll start with setting up your first plugin, creating commands and listening to events, and then move onto more tricky aspects, such as GUIs, packets and schedulers (and literally everything in between - scroll down to see the list of videos!). We also have full sections on making a minigame, building a network, managing databases and understanding NMS/packets.
Whether you know Java or not, you'll learn it from this course. I'll be covering Java from basic to advanced throughout the course and this is a skill that you can carry all throughout life. When using it with Minecraft, you can create some beautiful things: for example, you could be developing your own server, doing private commissions or even sell your plugins on marketplaces for people to purchase. At the end of this carefully constructed course you will be confident in creating plugins for Paper, Spigot, Bukkit & Bungee servers.
It's now 2025. I first released this course in 2017, and it has since seen several complete remakes! I've been writing Minecraft plugins for around a decade now, and we have built an exceptional exclusive community of thousands of like-minded developers who offer around the clock support in a welcoming, judgement-free environment.
If you decide to join us, you're in safe hands. We hope to see you soon!
Why this course?
• 130+ lectures
• 4000+ 5 star reviews (and 15,000+ students!)
• Very generous price and still the best available
• Discord server with 5000+ members & dozens of support staff (who would love to help!)
• Constantly being updated to suit API changes (covers all versions)
• 'Best selling' course by Udemy (quality reviewed by a human)
• Very high course rating! (average for video game category is 4.2)
• 24/7 Q&A section (every question answered)
• One purchase = lifetime access (content is always being added)
• Extra resources after each lecture for further learning
• Videos for both Windows and Mac users
• 1080p 60fps HD videos
• English captions
• Partnered with JetBrains! Free 6 month keys (not required for course)!