Skip to content
Ali 'SupaHam' M edited this page Jan 13, 2018 · 9 revisions

Welcome to the Blur wiki!

Introduction

Blur, also known as BlurEngine, is a Minecraft Bukkit plugin that enables modular configuration to a Bukkit server. Blur enables the ability to control a Minecraft server without the need to write programs. This is made possible by the architecture of Blur - it operates through sessions that contain modules.

A Blur Session is the root of Blur's potential. It essentially helps encapsulate behaviour and apply it to the entities involved in the session. This is very crucial for mini-games to ensure consistent and expected behaviour with every time the level is setup. The behaviour, and full experience, of Blur comes from the modules applied to the session.

A Blur module is computer code written by a programmer that is referred to by name, e.g. WorldProtect. Being able to identify modules by name allows the Blur end users to easily import modules into their session configuration and further extend the behaviour and possibilities of the experience.

Module configuration is expressed via YAML file format configuration through a file called blur.yml. Modules are made most effective when configuration for it is implemented. It's so easily done via the framework provided that not doing it would be considered more of a hassle due to the loss of flexibility.

To a list a few of the features Blur has to offer:

  • Copy of world when starting the session. Great for mini-games!
  • Lobby module to have breaks between sessions.
  • Write custom modules using Blur's API to extend features!

Behind Blur

The idea of Blur came from the struggle of running a paintball mini-game Minecraft server. The paintball project has been alive for many years, and still runs code written since the early days. The problem became apparent as every new gameplay feature was being added and features to control those features on top of that. Blur strives to solve that mess by isolating features on their own such that no feature unnecessarily depends on another. It achieves this by forcing features to be organised into modules, and the end user manually stating which modules to include.

Clone this wiki locally