Skip to content

Instantly share code, notes, and snippets.

@MercerK
Last active January 11, 2022 01:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MercerK/9f793db326d03dddf6c7d09dc4e7be5d to your computer and use it in GitHub Desktop.
Save MercerK/9f793db326d03dddf6c7d09dc4e7be5d to your computer and use it in GitHub Desktop.
export class MobDisguiseClass {
clone: () => MobDisguiseClass
}
export type MobDisguiseApi = {
new (disguise: DisguiseTypeItem): MobDisguiseClass
}
export class DisguiseTypeItem {}
export interface LibsDisguisesApi {
hasActionBarPreference: any
setViewDisguiseToggled: any
hasSelfDisguisePreference: any
disguiseIgnorePlayers: any
getDisguises: any
constructDisguise: any
parseToString: any
getDisguise: any
isDisguiseInUse: any
addGameProfile: any
getSelfDisguiseId: any
disguiseEntity: (entity: obeEntity, mobDisguise: any) => void
disguiseToAll: (entity: obeEntity, mobDisguise: any) => void
isViewSelfToggled: any
setActionBarShown: any
disguiseNextEntity: any
isActionBarShown: any
undisguiseToAll: any
disguiseToPlayers: (entity: obeEntity, mobDisguise: any) => void
isDisguised: (entity: obeEntity) => boolean
isNotifyBarShown: () => boolean
getEntityAttachmentId: any
getRawCustomDisguise: any
getCustomDisguise: any
addCustomDisguise: any
isSelfDisguised: any
}
export interface DisguiseTypes {
AREA_EFFECT_CLOUD: DisguiseTypeItem
ARMOR_STAND: DisguiseTypeItem
ARROW: DisguiseTypeItem
AXOLOTL: DisguiseTypeItem
BAT: DisguiseTypeItem
BEE: DisguiseTypeItem
BLAZE: DisguiseTypeItem
BOAT: DisguiseTypeItem
CAT: DisguiseTypeItem
CAVE_SPIDER: DisguiseTypeItem
CHICKEN: DisguiseTypeItem
COD: DisguiseTypeItem
COW: DisguiseTypeItem
CREEPER: DisguiseTypeItem
DOLPHIN: DisguiseTypeItem
DONKEY: DisguiseTypeItem
DRAGON_FIREBALL: DisguiseTypeItem
DROWNED: DisguiseTypeItem
DROPPED_ITEM: DisguiseTypeItem
EGG: DisguiseTypeItem
ELDER_GUARDIAN: DisguiseTypeItem
ENDER_CRYSTAL: DisguiseTypeItem
ENDER_DRAGON: DisguiseTypeItem
ENDER_PEARL: DisguiseTypeItem
ENDER_SIGNAL: DisguiseTypeItem
ENDERMAN: DisguiseTypeItem
ENDERMITE: DisguiseTypeItem
EVOKER: DisguiseTypeItem
EVOKER_FANGS: DisguiseTypeItem
EXPERIENCE_ORB: DisguiseTypeItem
FALLING_BLOCK: DisguiseTypeItem
FIREBALL: DisguiseTypeItem
FIREWORK: DisguiseTypeItem
FISHING_HOOK: DisguiseTypeItem
FOX: DisguiseTypeItem
GHAST: DisguiseTypeItem
GIANT: DisguiseTypeItem
GLOW_ITEM_FRAME: DisguiseTypeItem
GLOW_SQUID: DisguiseTypeItem
GOAT: DisguiseTypeItem
GUARDIAN: DisguiseTypeItem
HOGLIN: DisguiseTypeItem
HORSE: DisguiseTypeItem
HUSK: DisguiseTypeItem
ILLUSIONER: DisguiseTypeItem
IRON_GOLEM: DisguiseTypeItem
ITEM_FRAME: DisguiseTypeItem
LLAMA: DisguiseTypeItem
LLAMA_SPIT: DisguiseTypeItem
LEASH_HITCH: DisguiseTypeItem
MAGMA_CUBE: DisguiseTypeItem
MARKER: DisguiseTypeItem
MINECART: DisguiseTypeItem
MINECART_CHEST: DisguiseTypeItem
MINECART_COMMAND: DisguiseTypeItem
MINECART_FURNACE: DisguiseTypeItem
MINECART_HOPPER: DisguiseTypeItem
MINECART_MOB_SPAWNER: DisguiseTypeItem
MINECART_TNT: DisguiseTypeItem
MODDED_MISC: DisguiseTypeItem
MODDED_LIVING: DisguiseTypeItem
MULE: DisguiseTypeItem
MUSHROOM_COW: DisguiseTypeItem
OCELOT: DisguiseTypeItem
PAINTING: DisguiseTypeItem
PANDA: DisguiseTypeItem
PARROT: DisguiseTypeItem
PHANTOM: DisguiseTypeItem
PIG: DisguiseTypeItem
PIG_ZOMBIE: DisguiseTypeItem
PIGLIN: DisguiseTypeItem
PIGLIN_BRUTE: DisguiseTypeItem
PILLAGER: DisguiseTypeItem
PLAYER: DisguiseTypeItem
POLAR_BEAR: DisguiseTypeItem
PRIMED_TNT: DisguiseTypeItem
PUFFERFISH: DisguiseTypeItem
RABBIT: DisguiseTypeItem
RAVAGER: DisguiseTypeItem
SALMON: DisguiseTypeItem
SHEEP: DisguiseTypeItem
SHULKER: DisguiseTypeItem
SHULKER_BULLET: DisguiseTypeItem
SILVERFISH: DisguiseTypeItem
SKELETON: DisguiseTypeItem
SKELETON_HORSE: DisguiseTypeItem
SLIME: DisguiseTypeItem
SMALL_FIREBALL: DisguiseTypeItem
SNOWBALL: DisguiseTypeItem
SNOWMAN: DisguiseTypeItem
SPECTRAL_ARROW: DisguiseTypeItem
SPIDER: DisguiseTypeItem
SPLASH_POTION: DisguiseTypeItem
SQUID: DisguiseTypeItem
STRAY: DisguiseTypeItem
STRIDER: DisguiseTypeItem
THROWN_EXP_BOTTLE: DisguiseTypeItem
TIPPED_ARROW: DisguiseTypeItem
TRIDENT: DisguiseTypeItem
TRADER_LLAMA: DisguiseTypeItem
TROPICAL_FISH: DisguiseTypeItem
TURTLE: DisguiseTypeItem
UNKNOWN: DisguiseTypeItem
VEX: DisguiseTypeItem
VILLAGER: DisguiseTypeItem
VINDICATOR: DisguiseTypeItem
WANDERING_TRADER: DisguiseTypeItem
WITCH: DisguiseTypeItem
WITHER: DisguiseTypeItem
WITHER_SKELETON: DisguiseTypeItem
WITHER_SKULL: DisguiseTypeItem
WOLF: DisguiseTypeItem
ZOGLIN: DisguiseTypeItem
ZOMBIE: DisguiseTypeItem
ZOMBIE_HORSE: DisguiseTypeItem
ZOMBIE_VILLAGER: DisguiseTypeItem
ZOMBIFIED_PIGLIN: DisguiseTypeItem
}
import { Command } from '../../helpers/commands'
import { EntityType } from '../../references'
import { DisguiseTypes, LibsDisguisesApi, MobDisguiseApi } from './types'
const LibsDisguisesHandler = () => {
const api = core.type(
'me.libraryaddict.disguise.DisguiseAPI' as any
) as unknown as LibsDisguisesApi
const DisguiseType = core.type(
'me.libraryaddict.disguise.disguisetypes.DisguiseType' as any
) as unknown as DisguiseTypes
const MobDisguise = core.type(
'me.libraryaddict.disguise.disguisetypes.MobDisguise' as any
) as unknown as MobDisguiseApi
let isActive = false
function initialize() {
if (!api) return
console.log(Object.keys(DisguiseType))
isActive = true
initializeCommands()
}
function initializeCommands() {
Command({
name: 'ldtest',
execute: ({ player }) => {
if (!player) return
const loc = player.getLocation()
const entity = server
.getWorld(player.getLocation().getWorld().getName())
.spawnEntity(loc, EntityType.RABBIT)
const mobDisguise = new MobDisguise(DisguiseType.ZOMBIE)
api.disguiseToAll(entity, mobDisguise)
},
})
}
return {
initialize,
isActive,
}
}
export const LibsDisguises = LibsDisguisesHandler()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment