Skip to content

A (server-side) library for disguising entities in Minecraft.

License

Notifications You must be signed in to change notification settings

NucleoidMC/DisguiseLib

This branch is 2 commits behind 1.21.4.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

90bf223 · Jan 6, 2024
Dec 24, 2023
Dec 24, 2023
Jan 6, 2024
Feb 14, 2021
Feb 23, 2021
Mar 18, 2022
Dec 24, 2023
Jan 6, 2024
Feb 14, 2021
Feb 14, 2021
Nov 25, 2021
Dec 24, 2023

Repository files navigation

Disguise Lib

A server-side library that allows disguising entities as other ones. Features built-in /disguise command as well. /disguise command with some other features has been moved to a separate mod.

Dependecy

repositories {
	maven {
		url 'https://maven.nucleoid.xyz'
	}
	// OR
	maven {
        url 'https://jitpack.io'
    }
}

dependencies {
    // Common module
    modImplementation "xyz.nucleoid:DisguiseLib:${project.disguiselib_version}"
  
    // Fabric
    modImplementation "xyz.nucleoid:disguiselib-fabric:${project.disguiselib_version}"
    
    // Forge
    implementation fg.deobf "com.github.NucleoidMC.DisguiseLib:disguiselib-forge:${project.disguiselib_version}"
    
}

API

Use the provided interface EntityDisguise on any class extending net.minecraft.entity.Entity.

import xyz.nucleoid.disguiselib.api.EntityDisguise;

import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;

public class MyDisguises {
    public static void disguise() {
        // Make sure you are executing disguise on the server side
        if (world.isClient)
            return;

        // Disguises as creeper
        ((EntityDisguise) entityToDisguise).disguiseAs(EntityType.CREEPER);

        // Disguise as aCustomEntity (net.minecraft.entity)
        ((EntityDisguise) entityToDisguise).disguiseAs(aCustomEntity);

        // If you disguise it as EntityType.PLAYER, you can apply custom GameProfile as well
        ((EntityDisguise) entityToDisguise).setGameProfile(aCustomGameProfile);

        ((EntityDisguise) entityToDisguise).isDisguised(); // Tells whether entity is disguised or not
        ((EntityDisguise) entityToDisguise).removeDisguise(); // Clears the disguise


        // Not that useful (mainly for internal use)
        ((EntityDisguise) entityToDisguise).getDisguiseType(); // Gets the EntityType of the disguise
        ((EntityDisguise) entityToDisguise).disguiseAlive(); // Whether the entity from the disguise is an instance of LivingEntity
    }
}

About

A (server-side) library for disguising entities in Minecraft.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages