This article will teach you how to develop and deploy a Minecraft plugin for a Paper server, using the Bukkit API. As a toy example, you will learn all the steps necessary to create a plugin that allows players to craft special compasses that can teleport them to their linked lodestones. This is going to be a complete guide, covering all aspects of plugin development: from how to set up the project using IntelliJ IDEA, to how to integrate it with bStats to collect metrics.

# Tutorial

There are 152 posts filed in **Tutorial** (this is page **1** of **16**).

# Unity 4D #4: Creating 4D Objects

This article will explain how to create four dimensional objects, in a format compatible with the Unity4D extension.

You can find all the articles in this series here:

**Part 1:**Understanding the Fourth Dimension**Part 2:**Extending Unity from 3D to 4D**Part 3:**Rendering 4D Objects**Part 4:****Creating 4D Objects**

# Unity 4D #3: Rendering 4D Objects

This article will explain how to render 4D objects in Unity, using three separate technique: orthographic projection, perspective projection and cross-section.

You can find all the articles in this series here:

**Part 1:**Understanding the Fourth Dimension**Part 2:**Extending Unity from 3D to 4D**Part 3:****Rendering 4D Objects****Part 4:**Creating 4D Objects

A link to download the Unity4D package can be found at the end of this article.

Continue reading# Unity 4D #2: Extending Unity to 4D

This article will show how to extend Unity to support four-dimensional geometry. This is the second article in a series of four, and the first one which will probably start discussing the Mathematics and the C# code necessary to store and manipulate 4D objects in Unity.

You can find all the articles in this series here:

**Part 1:**Understanding the Fourth Dimension**Part 2: Extending Unity from 3D to 4D****Part 3:**Rendering 4D Objects**Part 4:**Creating 4D Objects

A link to download the Unity4D package can be found at the end of this article.

# Unity 4D #1: Understanding the Fourth Dimension

This is the first part of a series of articles dedicated to extending Unity from 3D to 4D. In this instalment, we will explore the fourth dimension, from its representations in movies and video games, to its more mathematical and geometrical interpretations.

At the end of the series, you will learn how to create and manipulate 4D objects inside a modern game engine like Unity or Unreal.

You can find all the articles in this series here:

**Part 1:****Understanding the Fourth Dimension****Part 2:**Extending Unity from 3D to 4D**Part 3:**Rendering 4D Objects**Part 4:**Creating 4D Objects

A link to download the Unity4D package can be found at the end of this article.

# Slippy Maps with Unity

A **slippy map** (sometimes also referred to as **tiled web map**, **tile map,** or simply **interactive map**) is a web-based map that can be zoomed in and out seamlessly. The most popular slippy map you might be familiar with is Google Maps, alongside many others like that.

This tutorial will show you how to create your own web-based slippy map with Unity. Such a technique can be used to create interactive maps for your own games, or to better explore complex phenomena such as fractals or even Mathematical functions. For clarity, the actual map will be created with Unity, but it will be served using a JavaScript library called LeafletJS. A link to download the full Unity package is also available at the end of the article.

The image used in the cover has been generated using Stamen.

Continue reading# Seam Carving

**Seam carving** is a technique that can be used to resize images, which is also known as **liquid rescaling**. Compared to the traditional resizing tool, it does not “stretch” the image, but it selectively removes the pixels which contain the least amount of information. As a result, it allows to shrink images preserving most of the details.

Seam carving is an example of a **context-aware** resizing algorithm, as it does not treat images as mere collections of pixels. By all means, it can be considered an AI-powered algorithm. The “AI part” resides in the fact that it is able to identify which pixels to remove on its own. However, it does so without any neural network and—most importantly—without the need to be trained on external data. Hence, it belongs to the field of what I call *Classical AI*, conversely to the more recent field of *Deep Learning*. With AI-powered tools becoming more and more popular, I find it helpful to show how a lot can be achieved with some clever algorithms, without the need to train expensive neural network models.

If you are interested in learning more about tools like DALL·E 2 and Midjourney, I would suggest checking one of my most detailed articles titled The Rise of AI Art.

Continue reading# Car Paint Shader: Thin-Film Interference

This post completes the journey started in The Mathematics of Thin-Film Interference, by explaining how to turn the equations previously presented into actual shader code.

You can find the complete series here:

- Part 1. The Nature of Light
- Part 2. Improving the Rainbow (Part 1)
- Part 3. Improving the Rainbow (Part 2)
- Part 4. Understanding Diffraction Grating
- Part 5. The Mathematics of Diffraction Grating
- Part 6. CD-ROM Shader: Diffraction Grating (Part 1)
- Part 7. CD-ROM Shader: Diffraction Grating (Part 2)
- Part 8. Iridescence on Mobile
- Part 9. The Mathematics of Thin-Film Interference
- Part 10. Car Paint Shader: Thin-Film Interference

A link to **download** the **Unity project** used in this series is also provided at the end of the page.

# The Mathematics of Thin-Film Interference

This post continues our journey through the Mathematical foundations of iridescence. This time, we will discuss a new way in which material can split light: **thin-film interference**. This is how bubbles (and car paint) get their unique reflections.

You can find the complete series here:

- Part 1. The Nature of Light
- Part 2. Improving the Rainbow (Part 1)
- Part 3. Improving the Rainbow (Part 2)
- Part 4. Understanding Diffraction Grating
- Part 5. The Mathematics of Diffraction Grating
- Part 6. CD-ROM Shader: Diffraction Grating (Part 1)
- Part 7. CD-ROM Shader: Diffraction Grating (Part 2)
- Part 8. Iridescence on Mobile
- Part 9. The Mathematics of Thin-Film Interference
- Part 10. Car Paint Shader: Thin-Film Interference

A link to **download** the **Unity project** used in this series is also provided at the end of the page.

# The Extended Kalman Filter

This is the third part of the series dedicated to one of the most popular sensor de-noising technique: Kalman filters. This article will explain how to model non-linear processes to improve the filter performance, something known as the **Extended Kalman Filter**.

You can read all the tutorials in this online course here:

- Part 1. A Gentle Introduction to the Kalman Filter
- Part 2. The Mathematics of the Kalman Filter: The Kalman Gain
- Part 3. Modelling Kalman Filters: Liner Models
**Part 4: The Extended Kalman Filter: Non-Linear Models**- Part 5. Implementing the Kalman Filter 🚧