Loading...
Beta Modpages Unclaimed

Kube Utils

Adds helper utilities and new features to KubeJS in a clean, concise and consistent API design

0 Likes
2498703 Downloads
Created by ErrorMikey

Description

Kube Utils

Kube Utils is a simple addon to KubeJS which adds new functionality to existing features and branches off to create new systems that allow for more performant, simplified, and concise code.

How it works

Kube Utils (Ku from now on) has been designed with the concept of a clear, concise, and consistent API like design. Everything added by this mod is held within the global Ku object meaning if you want to access level apis, you will access it via Ku.Level, if you want to do something with fluids you will use Ku.Fluids etc.

Features

Currently, we only have a few helpers to some of the lesser supported areas of KubeJS but we plan to expand this greatly over the life cycle of the systems development. If you have any suggestions, please make a feature request!

  • Level additions like being able to get structures at a block pos, ability to spawn structures, find entities and clear spaces, get a random location with a bounding box, etc.
  • Fluids, allow you to get a list of fluids based on their namespace(s), and being able to check if a fluid is empty or not.
  • List additions like getting random entries based on a weighted table
  • The addition of general utilities like nullOrEmpty which gives you a very simply way to always know if an object is nullOrEmpty whether it's a item, block, itemstack, string, fluid or itemEntity! (more support to come as required)
  • Completely documented code
  • Production validated
  • Clear and simple API

Our goals

  • We aim to never make breaking changes unless absolutely forced to by Minecraft, Forge or Fabric. At the point we feel we need to branch off and make breaking changes, it will be done in an optional way that will not affect existing code.
  • Never to make the additions overly complex
  • Always document the additions in plain English

Documentation

Our goal is to release a website that documents all of the new additions and how to use them.

Right now, you can read up on the features we add from within the code. Our BaseBinding class shows you which objects you can use in the Ku object. For example BaseBindings contains Streams as a field. This means you can use Ku.Steams.MethodName. You can find the available methods from within the related modules class file. If you see a field surrounded by ClassWrapper<?> this means to use the field in KubeJS, you will have to create the object. For example, Level is wrapped with ClassWrapper<LevelUtils> meaning you will need to use the field like this new Ku.Level(player.level). It's a touch complicated but once the website is ready, it will be much simpler.

Disclaimer

Disclaimer, whist in beta, expect possible code breaking changes. Once we hit stable release, this message will be removed and from that point onwards, the code will not contain breaking changes!

Issues

Please report any issues to our issue tracker along with example code so we can validate the issues.


AD Become Premium to remove Ads!

What means Verified?

  • Compatibility: The mod should be compatible with the latest version of Minecraft and be clearly labeled with its supported versions.
  • Functionality: The mod should work as advertised and not cause any game-breaking bugs or crashes.
  • Security: The mod should not contain any malicious code or attempts to steal personal information.
  • Performance: The mod should not cause a significant decrease in the game's performance, such as by causing lag or reducing frame rates.
  • Originality: The mod should be original and not a copy of someone else's work.
  • Up-to-date: The mod should be regularly updated to fix bugs, improve performance, and maintain compatibility with the latest version of Minecraft.
  • Support: The mod should have an active developer who provides support and troubleshooting assistance to users.
  • License: The mod should be released under a clear and open source license that allows others to use, modify, and redistribute the code.
  • Documentation: The mod should come with clear and detailed documentation on how to install and use it.

AD Become Premium to remove Ads!

How to Install

1

Download Forge & Java

Download Forge from the offical Site or here. If you dont have Java installed then install it now from here. After Downloading Forge you can run the file with Java.

2

Prepare

Lounch Minecraft and select your Forge istallation as Version this will create a Folder called Mods.

3

Add Mods

Type Win+R and type %appdata% and open the .minecraft Folder. There will you find your Folder called Mods. Place all Mods you want to play in this Folder

4

Enjoy

You are now Ready. Re-start your Game and start Playing.

More Mods like this

Mantle

Shared code for Forge mods

AutoRegLib

A library to ease menial tasks in mod development.

CraftTweaker

CraftTweaker allows modpacks and servers to customize the game. With CraftTweaker you can change recipes, script events, add new commands and even change item properties!

CoFH Core

Contains Core Functionality for all Team CoFH mods. Also does some really cool stuff on its own!

Patchouli

Accessible, Data-Driven, Dependency-Free Documentation for Minecraft Modders and Pack Makers

Baubles

An addon module and API for Thaumcraft