Skip to content

Chojos Dev Blog

Welcome on my blog. That's my place where I relieve some steam or just want to share some knowledge,

I might write about a lot of random stuff. Stuff which might affected me during my day, or just to keep answers on every day questions at some place. So you might find all kinds of stuff, from infrastructure over programming or just some rants.

Gradle Basics

This blog post is about the basics of gradle. It is part of a longer series focusing on different build approaches using gradle. I will link further in depth posts for specific topics at the end of the post. During the Blog post I will show a lot of snippets. Those snippets will be mostly shorted and previously added stuff will not be shown. You will find spoilers sometimes that include the full files. Check those if you get lost on how your build file should look like.

This blogpost will mainly cover the general structure of gradle files, more precisely the gradle.build and gradle.settings files.

Gradle Application Plugin

The application plugin is included in Gradle and is a nice alternative to shadow when your application is standalone. For example a webservice or Discord bot. It is however not useful, when your application is a minecraft plugin. Please see the minecraft post for that.

Gradle Shadow Plugin

The shadow plugin for gradle is a third party plugin that is widely used. It is especially useful if you need to bundle all your dependencies in a single jar, producing a so called FatJar. If you simply want to ship a standalone application, the application plugin might be the better choice. Shadow is ideal for minecraft plugins for example.

GPN22 Tag 3 | Nix ist ne ganze Menge

Tag drei begann in etwa genauso wie Tag zwei. Diesmal stand ein Nix Talk am morgen an und daher war später aufstehen nicht wirklich eine Option.

Also aufstehen, duschen, frühstücken und ab zur GPN. Diesmal zu Fuß um zumindest ein bisschen Bewegung zu haben. Angekommen wurde dann erstmal noch schnell der Blog Eintrag für Tag 2 fertig gemacht und hochgeladen.

GPN22 Tag 1 | Die erste GPN

Nach einer morgendlichen Dusche und einem überraschend üppigen Frühstück im Hotel stand noch etwas arbeit an.

Während Freunde bereits Bilder von der noch nicht ganz so startbereiten GPN schicken und plätze reserviert haben für uns, saß ich in meinem Hotelzimmer und löste noch ein paar Probleme an der Arbeit und fasste den Entschluss wirklich einen Blog über meine GPN Erlebnisse zu schreiben.

GPN22 Tag 0 | Anreise

Da dies meine erste GPN sein wird dachte ich, dass ich meine Erlebnisse gern mal auf meinem Blog festhalten möchte. Vorwiegend als experiment für mich.

Die Anreise war bereits am Mittwoch. Ich mag entspanntes Reisen und tauche ungern irgendwo müde von einer mehrstündigen Bahnreise auf.

Sharing and Publishing Dependencies with Gradle

German Version

Reusing or accessing code from other projects with gradle is very easy. This blog posts dives into publishing dependencies to your local maven repository (or remote) to use it in another project. We also take a short look at online repositories and the small extras you have to account for when your projects are minecraft plugins.

If you are not familiar with gradle yet, have a look at my previous post about gradle basics.

Jackson Bukkit - Bukkit serialization done the right way

German Version

With the introduction of paper plugins, paper decided to drop support for the ConfigurationSerializable interface. While this interface and the system behind it provided a usable way to de/serialise an object fairly easily, it wasn't ideal by any means. It was hard to learn and required a lot of boilerplate code to simply de/serialise an object. So we're going to say goodbye to it. It won't be missed.

Logging in Minecraft - The good and better way

German Version

This blog post is about logging and writing information to the console in Minecraft. There are a lot of ways to write data to the Minecraft console. And there are a lot of bad or wrong ways to write to the Minecraft console. We'll start by looking at some bad practices, then move on to the built-in plugin logger, and finish with a look at slf4j.

Minecraft Development with Gradle: Basic and Advanced | A guide

German Version

This blog post is about developing Minecraft plugins for Paper and Spigot servers using Gradle. The Minecraft community has built a huge ecosystem for Minecraft around the Gradle build tool. Instead of throwing a sample Gradle file at you, we will go through this step by step. We will start with the basic Gradle layout, set up repositories and dependencies, and move on to plugins.