A minecraft mod that allows using minecrafts structure block based test system

Overview

MC Tester Mod

This mod allows using the automated structure based test system Mojang created for minecraft. The test system is only partially included in minecraft and this mod adds some missing parts to make it work. Furthermore, more features, for example autorun and non-0 exit-code on failure, are included to make the usage more convenient. The tests can be run with gradle or even with github actions see the repositories' build workflow file.

Usage as a dependency

Add the following to build.gradle (use existing dependencies/maven blocks) or put a build from the releases page into the mods folder. Currently the mctester mod will be loaded at every startup e.g. gradlew runClient or gradlew runServer.

dependencies {
    modImplementation 'com.github.2No2Name:McTester:VERSION_TAG_HERE'
}

repositories {
    allprojects {
        repositories {
            maven { url 'https://jitpack.io' }
        }
    }
}

Edit the config/mctester.properties file to adjust available options. Put test structures into the gameteststructures directory. Prefixing the structure names with a template name, e.g. test_redstone. will automatically use the test function from the template. Other test functions can be defined by using the @Test annotation, cf. Example test functions.

Available test templates

See the test templates file

  • test_redstone.: Replaces all red stained terracotta with redstone blocks in the structure's area (test area) when the test is activated. Automatically fails after 20 seconds. Test succeeds if there is a powered noteblock on top of an emerald block in the test area. The emerald block positions are cached at the start of the test, so placing or removing more emerald blocks may break the test success detection.

Available options

The following options can changed in the mctester.properties config text file. You may need to create the file manually.

Format: option=VALUE, possible values: true, serveronly, clientonly, false
Defaults:

  • autostart=false Automatically runs all tests when a world is loaded.
  • autostart.shuffle=true Shuffles the tests before automatically running them.
  • autostart.shuffle.seed Set the shuffle seed for debug purposes. When this option is not defined, a random seed is used.
  • crashOnFail=false Automatically crashes the server when any test fails.
  • shutdownAfterTest=false Automatically shut down the server after the tests finished.
  • stayUpAfterFail=false Do not shutdown the server if a test failed.
  • isDevelopment=false Sets Minecraft's SharedConstants.isDevelopment field if true.
  • includeExampleTests=false Loads example test functions defined by this mod. Templates are always loaded.

Setup for development

For setup instructions please see the fabric wiki page that relates to the IDE that you are using.

You might also like...

An elegant Minecraft mod template for the Fabric mod loader

An elegant Minecraft mod template for the Fabric mod loader

Fabric Example Mod Lorem ipsum dolor sit amet Example is a Minecraft mod that lorem ipsum dolor sit amet. Ut mi lectus, egestas a justo nec, hendrerit

Dec 25, 2022

Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

Addon to the Minecraft Forge/Fabric mod InvMove that adds mod compatibilities

Oct 21, 2022

A Spigot plugin to edit block properties and more.

BoneTool BoneTool is a tool created to edit block properties with many features for builders. This is a creative tool developed as a package of featur

Jan 6, 2022

A legacy-fabric mod that makes minecraft versions older than 1.13 run using LWJGL 3 instead of the legacy LWJGL 2

A legacy-fabric mod that makes minecraft versions older than 1.13 run using LWJGL 3 instead of the legacy LWJGL 2

A legacy-fabric mod that makes minecraft versions older than 1.13 run using LWJGL 3 instead of the legacy LWJGL 2

Dec 4, 2022

Jetserver is a high speed nio socket based multiplayer java game server written using Netty and Mike Rettig's Jetlang.It is specifically tuned for network based multiplayer games and supports TCP and UDP network protocols.

Note New version of Jetserver is called Nadron and is in a new netty 4 branch of this same repo. JetServer is a java nio based server specifically des

Dec 14, 2022

A Fabric mod that allows for efficient connected textures

Continuity Continuity is a Fabric mod built around modern APIs to allow for the most efficient connected textures experience possible. It is designed

Jan 9, 2023

A simple forge mod which allows deepslate to be instamined

InstantDeepslate An extremely simple mod that allows you to instantly mine deepslate. This works by changing the blast resistance and break time value

Jan 26, 2022

A simple Serverside Fabric mod that allows you to assign commands to Item(Stacks)

Item Commander Shiny item do stuff A simple Serverside Fabric mod that allows you to assign commands to Item(Stacks). It works by adding NBT data to t

Feb 25, 2022

CustomHandGUI - This mod allows you to change hands position on screen

CustomHandGUI - This mod allows you to change hands position on screen

CustomHandGUI This mod allows you to change hands position on screen And you can change your main hand to be left hand! Keybindings: F - Swaps hands.

Apr 11, 2022
Releases(v0.3.1)
Owner
2No2Name
2No2Name
A Minecraft Mod for Fabric which aims to make Block Entity rendering faster and more customizable with almost no compromises.

Enhanced Block Entities EBE is a 100% client side mod for Minecraft on the Fabric mod loader which aims to increase the performance of block entity re

null 151 Dec 30, 2022
Minecraft mod to block NameMC indexing on servers.

Fuck NameMC A mod to block server status ping from NameMC. ?? What's this mod? Let's say it outright, NameMC doesn't have any decency. It indexes ever

LambdAurora 72 Dec 28, 2022
A Fabric mod that allows using RakNet as Minecraft networking backend.

RaknetFabric A Fabric mod that allows using RakNet as Minecraft networking backend. Features Higher reliability and lower latency under unreliable and

null 75 Jan 3, 2023
Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cross-chatting between Minecraft and Discord.

DiscordSync Small mod for Minecraft Forge 1.16.5 that sends messages of in-game events to a channel in your Discord server. This mod also enables cros

AeonLucid 4 Dec 20, 2022
This minecraft plugin adds @a, @p, and @r to EssentialsX Commands! Works with command block and console aswell!

EssentialsX-Target-Selectors This minecraft plugin adds @a, @p, and @r to EssentialsX Commands! Works with command block and console aswell! Usage: Ju

null 6 Dec 7, 2022
A minecraft mod that allows additional windows to be opened alongside the game

Breakout API BreakoutAPI is a Minecraft mod which allows developers to create new windows that run alongside Minecraft. All the windows run on the sam

Raph Hennessy 11 Jan 3, 2023
A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2_01 to Beta 1.7.3.

multiversion-fabric A client-side Fabric mod for Minecraft Beta 1.7.3 that allows you to connect to servers running almost any patch from Alpha v1.1.2

0n1 2 Mar 13, 2022
Minecraft mod which allows displaying your items to other players in chat.

Show Me What You Got Show Me What You Got is a Minecraft mod for Fabric. When added to the server, it allows players to display their items in chat by

null 5 Oct 24, 2022
A free mixin-based injection hacked-client for Minecraft using Minecraft Forge.

Custom LiquidBounce 1.8.9 build that aims to improve original visuals and bypasses, along with built-in ViaVersion to help you change from 1.8 to 1.17.1 without creating any other version branch.

epic group of paster 123 Jan 2, 2023
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

Glitchfiend 31 Dec 12, 2022