Guide Sourcecode for a monolithic RPG plugin

Blutkrone

New member
Jun 26, 2024
1
2
3
Hello, I am Blutkrone.

I developed RPGCore and ended up cancelling the project. But I feel it would be such a waste to let it die. So I hope to share some of my knowledge (in the form of source code) and hopefully encourage the development of decent free and open source plugins.

I have spent an ungodly number of hours on RPGCore, many thousands of hours over several years. Development, research, iterations - much of the work on rpgcore was done at a time when we didn't have proper tools to deobfuscate Minecraft sources.

Anyway, I am releasing this project as both binaries and sources.

About the binaries

You can find a jar and the configurations on the github page I've linked to, it's under releases.

It is possible to use this to build a server, but I would discourage anyone from doing so. While rpgcore has a ton of features, I will no longer be maintaining it. If you don't have a developer who can find and fix the problems you will encounter, you will be shooting yourself in the foot.

Also, RPGCore is a monolith, it tries to do everything - I cut it short just before it was finished. It lacks a few things like trade, consumables and some social aspects. I probably could've split RPGCore into 40 or so plugins.

Play with it if you want, but don't build around it unless you have a developer to fix issues you encounter.

About the sources

The sources are the real reason I am posting this. Many thousands of hours have gone into this. For research, for development, for testing, and for rewriting.

A lot of the free options on the market were just so incredibly lacking, and the good stuff was just proprietary premium plugins. With these sources as a reference, I hope that we will see great open source alternatives to things. Better yet, I hope the day comes when this post is buried and forgotten because these things are native Minecraft features that no longer require a plugin.

Notable things include:
  • Packets using bytebuffers instead of reflection
  • Blockbench entity models (including animations)
  • Using fonts for HUD elements and Chest-GUIs
  • A pattern on flexible skill systems (And skill systems that are just incredibly flexible in general)
  • In-game editing tools with minimal boilerplate, instead of configuration files
  • A minimap rendering on-screen and updating while moving
  • An implementation of a quest system
  • Generating resourcepacks from a plugin
Just skim thorough it, maybe you'll find something useful.

See here

I am not answering any questions, I just wanted to share this with the hope that it will be helpful.


Why not a resource

I refrained from posting this as a resource because I do not intend to maintain it, and because I know that there are likely many little issues with it. Please refrain from posting a fork of RPGCore unless you intend to maintain it, also note that the sources forbid the fork itself to be monetized.