Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/NucleoidMC/DisguiseLib
A (server-side) library for disguising entities in Minecraft.
https://github.com/NucleoidMC/DisguiseLib
fabric
Last synced: about 1 month ago
JSON representation
A (server-side) library for disguising entities in Minecraft.
- Host: GitHub
- URL: https://github.com/NucleoidMC/DisguiseLib
- Owner: NucleoidMC
- License: mit
- Created: 2021-02-14T16:15:18.000Z (almost 4 years ago)
- Default Branch: 1.20.4
- Last Pushed: 2024-01-06T16:48:21.000Z (11 months ago)
- Last Synced: 2024-08-02T03:07:04.316Z (4 months ago)
- Topics: fabric
- Language: Java
- Homepage:
- Size: 181 KB
- Stars: 9
- Watchers: 2
- Forks: 15
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-fabric-server-mods - \[GitHub\
- awesome-fabric - DisguiseLib - A (server-side) library for disguising entities in Minecraft. `MIT` (Uncategorized / Uncategorized)
README
# 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.](https://github.com/samolego/MobDisguises)## Dependecy
```gradle
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}"
}
```
# APIUse the provided interface `EntityDisguise` on any class extending `net.minecraft.entity.Entity`.
```java
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
}
}```