Mod development kit for the Tecknix Client Modding API

Overview

Tecknix Mod Loader API

THIS API IS NOT COMPLETE AND WILL NOT YET ALLOW YOU TO MOD THE CLIENT

Discord

What is this?

This is our modding MDK for Tecknix Client. This implementation includes an example mod with mixins pre setup!

License:

This repository is licenced under the GNU General Public License. Any additions or contributions must include the license header.

Setting up:

  • Download the zip file from github and open it in your IDE of choice.

  • You will notice the API files are missing, download the latest release of the api and put it in a folder called "lib" under the root directory.

  • Open the gradle project in Intellij IDEA or Eclipse.

  • Run "setupDecompWorkspace" then "setupCiWorkspace". Image


- Run "genIntellijRuns". Image
- Open the run configuration's settings and change the classpath. Image And you are done!

Contributing

Added an event? Amazing! Be sure to create a pull request with your changes on this repository. Remember to keep our Code Style in mind!

Using the event bus:

Posting an event:

EventBus.post(new YourEvent());

Listening for an event:

@TMSubscription
public void onChat(TMChatEvent event){
    System.err.println("CHAT: "+event.getFormattedText());
}

Registering an object for listening:

EventBus.register(new YourObject());

Using Transformers:

Create transformer:

package com.tecknix.modding.examplemod.transformer;

import com.tecknix.modding.api.transform.IModTransformer;

/**
 * Example transformer...
 * This transformer can be used to manipulate classes with raw asm or alternative frameworks!
 *
 * @author Tecknix Software
 */
public class ExampleTransformer implements IModTransformer {

    @Override
    public byte[] transform(String s, byte[] bytes) {
        //Run transformations and return byte array
        return yourByteArray;
    }
}

Registering transformers:

Call this#registerModTransformers in the onEnable method of your main class.

this.registerModTransformers(new Transformer1(),new Transformer2,new Transformer3());

Code Style:

Classes:

Classes should have a header containing a short description of the class' purpose.

    /**
 * TMTickEvent
 *
 * This event is called in the {@link net.minecraft.client.Minecraft} class.
 * It can be used for calling things constantly on every tick of the game.
 *
 * @author Tecknix Software
 */
public class TMTickEvent extends TMEvent {

}

Methods:

Methods should have a header including the purpose of the method, the author of the method and the method's parameters.

/**  
 * Post an event to the API. * * @param event Passes through the event to post.  
 * @author Tecknix Software.  
 */
 public static void post(final TMEvent event) {  
	  //Gets the content object from the map if the key matches that of this events class.  
	  final ArrayList<EventContent> contents = EVENT_REGISTRY.get(event.getClass());  
	  if (contents != null) {  
		  for (final EventContent content : contents) {  
				  event.invoke(content);  
		  } 
	  } 
 }

You might also like...

spark client is a utility mod for anarchy server made by dvd, geza3d and me

Spark-Client spark client is a utility mod for anarchy server made by dvd, geza3d and me.

Dec 11, 2022

ForgetMeChunk - a simple client side mod that removes a type of light update when unloading chunks

ForgetMeChunk is a simple client side mod that removes a type of light update when unloading chunks. This fixes the large lag spikes you sometimes get when crossing a chunk border.

Nov 24, 2022

Lynx client is a utility mod for 1.12.2 anarchy servers.

Lynx-Client Lynx client is a utility mod for 1.12.2 anarchy servers. Usage Download and install forge 1.12.2 from the official forge website Put the j

Dec 21, 2022

A client-side fabric mod that makes it easier to perform the shulker dupe.

shulker-dupe A client-side fabric mod that makes it easier to perform the shulker dupe. Notes Every dupe action ('Dupe All' and 'Dupe') depends on you

Jan 3, 2023

Open source Minecraft client with Replay Mod and more.

Sol Client Simple and easy to use Minecraft client for 1.8.9 (and in futureā„¢, newer versions). Update: Yes, I know, it has been seven months since I w

Jan 5, 2023

A client-side forge mod that makes it easier to perform the shulker dupe.

shulker-dupe A client-side forge mod that makes it easier to perform the shulker dupe. The fabric version.The original author is Coderx-Gamer. Notes E

Jul 22, 2022

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

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

Dec 20, 2022

Nuclear-Mines-Mod - A mod adding radiation-related items to Mindustry (radioactive materials, new guns, etc.)

Nuclear Mines (VERY EARLY BUILD) A Mindustry mod adding more radiation-based items to the game. THIS IS A VERY EARLY VERSION. NOT EVERYTHING IS FINISH

Sep 3, 2022
Owner
Tecknix Client
The most sleek, modern and performance enhancing Minecraft experience.
Tecknix Client
Just some small utilities for sandbox/modding

Testing Utilities Just some small utilities for sandbox/modding Team Changer: Change teams easilty. (Disabled in campaign) Seppuku Button: Kill yourse

dead inside 27 Dec 12, 2022
Apron: Classic Modding APIs on Babric

Apron Apron adds a compatibility layer between Fabric and several legacy modding APIs. In essence, it is a complete reimplementation of the API mods o

Better Than Updates 9 Dec 4, 2022
Mesh is a cross-version minecraft mod development platform for Forge and Fabric.

Mesh is a cross-version minecraft mod development platform for Forge and Fabric. Supported Versions Mesh will eventually be able to run on most f

null 12 Dec 13, 2022
A high-level cross-platform 2D game development API

mini2Dx A high-level game development API for LibGDX inspired by Slick Website Wiki Community Javadoc Downloads Goals The main objective of mini2Dx is

null 492 Dec 24, 2022
Exeter client. A client created by Friendly, for Minecraft version 1.8

Exeter client. A client created by Friendly, for Minecraft version 1.8. It has been released or leaked on that version.

null 25 Dec 31, 2022
The Lezard Client is a new, open-source, minecraft client for the newer versions of the game.

The Lezard Client is a new, open-source, minecraft client for the newer versions of the game. It is oriented not for PvP, but for the Vanilla and the Survival experience. It is not a hack client for Minecraft and do not ask for it. 1 I hate hacked client and 2 it is not fun for other people. Also, I misspelled the word lizard in English and decided to leave it like that.

Michel-Ange 4 Jul 5, 2022
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
BetterBlockOutline - A client sided Minecraft mod that allows for ample customization of the block outline. Everything from color customization to debug information.

BetterBlockOutline BetterBlockOutline is a client sided Minecraft mod that allows for ample customization of the block outline. Everything from color

null 19 Nov 19, 2022
A client mod that changes the debug frame graphs to use a dark theme

Dark Graph A client mod that changes the debug frame graphs to use a dark theme. To access the frame graphs hold alt then press F3. If you are connect

null 3 Dec 19, 2022
A fabric client-side mod for an invincibility exploit.

invincibility-hack How to use: Type '*invincibility' in the chat to toggle the hack. Now once you die you will not see the death screen. After dying r

null 25 Dec 2, 2022