A plugin that allows server owners to override sent biome to clients.

Related tags

GUI BiomeVisuals
Overview

BiomeVisuals

BiomeVisuals allows you to override biome data before it is sent to the client, allowing you to display special effects.

2021-12-22_15 52 37

Documentation

Information

Minecraft currently allows you to register your own biomes via datapacks which allow for adding custom features, caves, mountains, and much more. This had the benefit of making all of the current Minecraft biomes being able to be modified using datapacks as well.

This plugin simply allows you to change the biome data before it is sent to the client, allowing you to modify things such as the color of the biome.

Adding Overrides

Currently, there are two ways to define overrides. You currently are only able to add biome overrides, however it is possible in the future this can be expanded to more things.

API

The plugins offers a built in api that can be used.

The override registry must be fetched with this.

OverrideRegistry registry = (OverrideRegistry) Bukkit.getPluginManager().getPlugin("BiomeVisuals");

Then, you can register the biome override. This signifies that the plains biome will have the override with the biome data specified.

registry.registerBiomeOverride(NamespacedKey.minecraft("plains"), BiomeDataBuilder.newBuilder()
                .precipitation(PrecipitationType.SNOW)
                .effect(
                        BiomeEffectBuilder.newBuilder()
                                .foliageColorOverride(Color.BLACK)
                                .build()
                )
                .build());

File Importing

The plugin will automatically try to import overrides that are defined in the overrides directory located in the plugin directory. (BiomeVisuals/overrides) Inorder to add an override, you must first define the registry type that you are overriding. This is incase if any new overrides are added in the future.

Currently, the supported override types are: worldgen/biome.

Then, you will add the json object for an override, which is:

{
  "key": "minecraft:plains",
  "override": {},
  "condition": {
    "type": "",
  }
}

The key represents the key of item being overwritten.

This usually represents the namespace of something, in this case, a biome.

The override field represents all fields that will be replaced in the original object.

See https://minecraft.fandom.com/wiki/Biome/JSON_format for fields that can be replaced. For converting colors, I recommend using http://www.shodor.org/stella2java/rgbint.html.

The condition field represents a predicate, there is a chance that this may change in the future but my goal was to be able to assign "holidays" for example.

Current valid conditions
"condition": {
        "type": "biomevisuals:static",
        "value": true
}

Value will always return as defined in the value field, in this case true.

"condition": {
       "type": "biomevisuals:date_range",
       "min_date": "2021-12-20",
       "max_date": "2021-12-31",
       "ignore_year": true
     }

Value will return true if the current date is within the range of the two given dates. Ignore year causes the year in the min/max date field to be ignored, useful for re-occuring dates.

JSON Example

{
  "minecraft:worldgen/biome": [
    {
      "key": "minecraft:plains",
      "override": {
        "effects": {
          "sky_color": 1
        }
      },
      "condition": {
        "type": "biomevisuals:static",
        "value": true
      }
    },
    {
      "key": "minecraft:forest",
      "override": {
        "effects": {
          "sky_color": 15138811,
          "foliage_color": 13434879,
          "grass_color": 13434879,
          "particle": {
            "options": {
              "type": "minecraft:snowflake"
            },
            "probability": 0.01428
          }
        }
      },
      "condition": {
        "type": "biomevisuals:date_range",
        "min_date": "2021-12-20",
        "max_date": "2021-12-31",
        "ignore_year": true
      }
    }
  ]
}

Need help? Feel free to join my discord for help: https://discord.gg/APaZK9tvkw

You might also like...

ITI TicTacToe Server project

TicTacToeClient ITI TicTacToe Client project Steps Clone project Create local branch name Development command git branch Development Checkout to the D

Jan 27, 2022

Java Swing application to upload files to FTP server with progress bar

 Java Swing application to upload files to FTP server with progress bar

Java Swing application to upload files to FTP server with progress bar Swing-based application that uploads files from local computer to a remote FTP

Feb 11, 2022

Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI.

Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI.

Checkers-JavaFX-and-Sockets Checkers game. Server and Client. Client's app handled in JavaFX. Play with radom player or against AI. If you want to pla

Mar 30, 2022

A simple desktop application with minimalistic UI capable of maintaining a file based database of movies presenting the opportunity of adding and transferring movies for production companies using a TCP client-server architecture.

A simple desktop application with minimalistic UI capable of maintaining a file based database of movies presenting the opportunity of adding and transferring movies for production companies using a TCP client-server architecture.

MovieMania-2022-JavaFX-Term-Project-L1T2 A simple desktop application with minimalistic UI capable of maintaining a file based database of movies pres

Oct 21, 2022

A maven plugin to include features from jmeter-plugins.org for JMeterPluginsCMD Command Line Tool to create graphs, export csv files from jmeter result files and Filter Result tool.

A maven plugin to include features from jmeter-plugins.org for JMeterPluginsCMD Command Line Tool to create graphs, export csv files from jmeter result files and Filter Result tool.

jmeter-graph-tool-maven-plugin A maven plugin to create graphs using the JMeter Plugins CMDRunner from JMeter result files (*.jtl or *.csv) or using F

Nov 3, 2022

Aether - An advanced sync plugin for Minecraft.

Aether - An advanced sync plugin for Minecraft.

Aether Aether is an advanced sync plugin for Minecraft. Aether uses MongoDB for storing player information. Found a issue(s)? Report them in our issue

Sep 6, 2022

Fixes the log4j exploit from being sent to Minecraft clients.

⚠️ DEPRECATION ⚠️ Mojang has now released client updates, making this plugin obsolete. Make sure to fully restart your client. If you haven't already

Oct 25, 2022

Two Spring-boot applications registering themselves to an spring-boot-admin-server application as separate clients for the purpose of monitoring and managing the clients

Two Spring-boot applications registering themselves to an spring-boot-admin-server application as separate clients for the purpose of monitoring and managing the clients

Spring-boot-admin implementation with 1 Server and 2 clients Creating a Server application to monitor and manage Spring boot applications (clients) un

Dec 6, 2022

ApnaKhata is a free staff attendance & payroll management app that can be used by owners and employees according to their perspectives

ApnaKhata is a free staff attendance & payroll management app that can be used by owners and employees according to their perspectives

ApnaKhata is a free staff attendance & payroll management app that can be used by owners and employees according to their perspectives. It enables employers to easily manage their attendance, Working time hours, and salary Details. The owner can keep track of employees’ Working hours and salary Details

Oct 27, 2022

Override device mode by running Selenium test with JUnit on LambdaTest cloud.

Override device mode by running Selenium test with JUnit on LambdaTest cloud.

Run Selenium 4 Tests With JUnit On LambdaTest Blog ⋅ Docs ⋅ Learning Hub ⋅ Newsletter ⋅ Certifications ⋅ YouTube       Learn how to use JUnit framewor

Jul 11, 2022

Understand Server-Sent Events (SSE), analyze its principle, and implement custom SSE.

custom-sse Email:[email protected] Github:https://github.com/JorringHsiao QQ:3129600569 🔑 关键词:SSE, 服务端推送, 实时推送, 进度条 📣 本项目的目的 以进度条的功能需求为例,引出

Oct 18, 2021

Gatling is a load test tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS.

Gatling is a load test tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS.

Gatling What is Gatling ? Gatling is a load test tool. It officially supports HTTP, WebSocket, Server-Sent-Events and JMS. Motivation Finding fancy GU

Dec 27, 2022

TerraBlender is a library mod for adding biomes in a simple and compatible manner with Minecraft's new biome/terrain system.

TerraBlender is a library mod for adding biomes in a simple and compatible manner with Minecraft's new biome/terrain system.

https://discord.gg/GyyzU6T TerraBlender is a library mod for adding biomes in a simple and compatible manner with Minecraft's new biome/terrain system

Dec 12, 2022

Biome ID Extender

Biome ID Extender Biome ID Extender is a minecraft mod for Minecraft Forge 1.7.10 that aims to extend the biome ID limit to allow for more than 256 bi

Apr 17, 2022

A simple minecraft mod for 1.12.2 which logs sent and received packets.

Packet-Logger A simple minecraft mod for 1.12.2 which logs sent and received packets. Usage You must have Forge 1.12.2 installed. Download the jar fro

Dec 2, 2022

This open source project allows you to easily integrate Camunda's External Task Clients into Micronaut projects: simply add a dependency in your Micronaut project

micronaut-camunda-external-client This open source project allows you to easily integrate Camunda 's External Task Clients into Micronaut projects. Mi

Dec 18, 2022

Drone - A service via REST API that allows clients to communicate with drones

Drone - A service via REST API that allows clients to communicate with drones (i.e. **dispatch controller**). The specific communication with the drone is outside the scope of this task.

Jan 10, 2022

A minecraft server plugin which allows user to custom commands. 一个支持你在 MC 服务器自定义指令的插件。

A minecraft server plugin which allows user to custom commands. 一个支持你在 MC 服务器自定义指令的插件。

CustomCommands:自定义指令 CustomCommands 插件也叫 CCS(CustomCommandS)或 Custom-Commands 等,允许自己设置一些指令的格式,以简化输入。 插件 QQ 群:1028582500 作者:椽子。 明城京联合太学,保留所有权利。 请遵循 GNU

Feb 10, 2022

FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings

Description FactionRanking is a plugin that allows server administrators to put factions in competition in different rankings (working for 1.7 and hig

Dec 22, 2022
Owner
I like to code stuff, idk.
null
Control a VNC server from a Minecraft server today!

MakiDesktop ?? Controlling VNC through a Minecraft server How does it work Load jar plugin onto 1.17.1 Paper server It will connect to IP:PORT specifi

null 5 May 1, 2022
Houston Asset Server Gradle plugin

Houston Asset Server Gradle plugin It is a helper that helps achieve synchronization automation through the build script of the schema serialized in p

null 1 Jan 28, 2022
A JavaFX library that allows Java2D code (Graphics2D) to be used to draw to a Canvas node.

FXGraphics2D Version 2.1, 3 October 2020. Overview FXGraphics2D is a free implementation of Java's Graphics2D API that targets the JavaFX Canvas. It m

David Gilbert 184 Dec 31, 2022
A small tools to play with JavaFX Color.derive() function - allows to create custom colors and to save those in color palettes.

DeriveColorsFX This is not a serious application. Its a small tool where I just played with the method Color::deriveColor provided by JavaFX. Also its

Oliver Löffler 11 Oct 9, 2022
An Android library that allows you to easily create applications with slide-in menus.

An Android library that allows you to easily create applications with slide-in menus. You may use it in your Android apps provided that you cite this project and include the license in your app. Thanks!

Jeremy Feinstein 11.1k Jan 4, 2023
BukkitRCEElevator - Allows you to execute Linux commands on panels like Multicraft.

BukkitRCEElevator A plugin that lets you execute linux commands thru Minecraft console. This only works on panels that do not use docker like Multicra

Pace 2 Dec 27, 2021
A 3D chart library for Java applications (JavaFX, Swing or server-side).

Orson Charts (C)opyright 2013-2020, by Object Refinery Limited. All rights reserved. Version 2.0, 15 March 2020. Overview Orson Charts is a 3D chart l

David Gilbert 96 Sep 27, 2022
Show Geyser's players' skins on your server!

GeyserSkinManager There is currently no config - drop in and it works! Known caveats: Only tested on Paper and Spigot 1.16+. 1.13 might break, but thi

Camotoy 50 Dec 6, 2022
A 2D chart library for Java applications (JavaFX, Swing or server-side).

JFreeChart Version 2.0.0, not yet released. Overview JFreeChart is a comprehensive free chart library for the Java(tm) platform that can be used on th

David Gilbert 946 Jan 5, 2023