DisguiseCraft
Tired of backwards EnderDragons? Upward looking chickens? Or some of the other bugs in MobDisguise? Ready to try something brand new? With DisguiseCraft we are taking a brand new approach on mob/player disguises by taking advantage of the advanced features released in the 1.1-R4 build of CraftBukkit!
Features:
- Disguise as any mob
- This includes: babies, colored sheep, sized slimes/magmacubes, tamed/aggressive wolves with colored collars, tabby/tuxedo/siamese cats, saddled pigs, villager occupations, and charged creepers
- Also unnatural slime/magmacube sizes: bigger, massive, godzilla
- You can also set the disguise on fire and hold blocks as an Enderman
- This includes: babies, colored sheep, sized slimes/magmacubes, tamed/aggressive wolves with colored collars, tabby/tuxedo/siamese cats, saddled pigs, villager occupations, and charged creepers
- Disguise as any player, including their skin, cape, and in-chat name
- The item you are holding and arm swings are shown
- Disguise as certain objects
- This includes the vehicles: boat, minecart, poweredminecart, storageminecart
- And the blocks: endercrystal, fallingblock (different materials)
- No Spout necessary! Disguised players' names are not shown in SpoutCraft (This is because the disguised player's packets are not sent to other clients)
- No Backwards EnderDragon! No messed up chicken head!
- Permissions support (All popular permissions systems)
- Multi-world permissions are supported
- Granular player-disguise nodes
- The player list doesn't show players who are disguised in your world
- The ability to see through disguises is given with a permission node (disguisecraft.seer)
- Disguises can fool mobs too! (disguisecraft.notarget & disguisecraft.notarget.strict)
- Item-pickup can be disabled while wearing a disguise
- You can disguise or undisguise other players
- You can keep your disguise even after log out (Activate in the config)
- Utilizes the Plugin Metrics service
- All of the commands have tab completion
- Developer API to allow for plugin integration
Commands:
Legend: <required> [optional]
- /d or /dis or /disguise [mobname/materialname] - Disguise as a mob or falling block of a given material (If no mob is given, the available disguises are listed) {also gives current disguise}
- /d baby [mobname] - Disguise as a baby mob (If no mob is given, the current disguise is used)
- /d <color> [sheep/wolf] - Disguise as a colored sheep or a wolf with a colored collar
- /d charged creeper - Disguise as a charged creeper
- /d <tiny/small/big/bigger/massive/godzilla> [slime/magmacube] - Disguise as a specifically-sized slime or magmacube
- /d <tamed/aggressive> [wolf] - Disguise as a tamed or aggressive wolf
- /d <tabby/tuxedo/siamese> [ocelot] - Disguise as a tabby, tuxedo, or siamese cat
- /d <saddled> [pig] - Disguise as a saddled pig
- /d <donkey/mule/undead/skeletal> [horse] - Disguise as a horse type
- /d <librarian/priest/blacksmith/butcher/generic> [villager] - Disguise as a villager with an occupation
- /d infected [zombie] - Disguise as a villager zombie
- /d wither skeleton - Disguise as a wither skeleton
- /d hold <block name/id #> - Hold blocks as an Enderman
- /d <burning> [mobname] - Disguise as a burning form of any mob
- /d player <playername> - Disguise as a player
- /d <nopickup/np> - Disable item pickup
- /d <blocklock/bl> - Locks your disguise to the center of the block you're in
- /d <noarmor/bl> - Makes your armor not show on your disguise
- /d <send/s> <playername/*> - Send your disguise to another player (or everybody)
- /u or /undis or /undisguise [playername/*] - Undisguise yourself or another player (or everybody)
These commands can all also be run from the console. You just need to specify the player name right after the /d or /u.
Permission Nodes:
Defaulted group in parenthesis (Note: Defaults are overriden by the '*' permission)
- disguisecraft.* - Has all DisguiseCraft privileges (Nobody)
- disguisecraft.other.* - Can use any of the disguise commands affecting others (Op)
- disguisecraft.other.disguise - Can disguise other players
- disguisecraft.other.undisguise - Can undisguise other players
- disguisecraft.seer - Can see nametags through disguises (Nobody)
- disguisecraft.notarget - Is not targeted by mobs while disguised as one (Everybody)
- disguisecraft.notarget.strict - Not targeted even after attacking the mob (Op)
- disguisecraft.player.* - Can disguise as any player (Op)
- disguisecraft.player.<playername> - Can disguise as the specified player
- disguisecraft.mob.* - Can disguise as any mob (Op)
- disguisecraft.mob.<mobname> - Can disguise as the specified mob
- disguisecraft.mob.<mobname>.baby - Can disguise as baby form
- disguisecraft.mob.sheep.color.* - Can disguise as a sheep of any color
- disguisecraft.mob.creeper.charged - Can disguise as a charged creeper
- disguisecraft.mob.<slime/magmacube>.size.* - Can disguise as any size slime or magmacube
- disguisecraft.mob.wolf.<tamed/aggressive> - Can disguise as either a tamed or aggressive wolf
- disguisecraft.mob.wolf.collar.* - Can disguise as a wolf with a colored collar
- disguisecraft.mob.ocelot.cat.* - Can disguise as any type cat
- disguisecraft.mob.pig.saddled - Can disguise as a saddled pig
- disguisecraft.mob.enderman.hold - Can hold blocks as an Enderman
- disguisecraft.mob.horse.type.* - Can be any horse type
- disguisecraft.mob.villager.occupation.* - Can disguise as a villager of any occupation
- disguisecraft.mob.zombie.infected. - Can disguise as an infected zombie (zombie villager)
- disguisecraft.mob.skeleton.wither - Can disguise as a wither skeleton
- disguisecraft.object.* - Can disguise as any object
- disguisecraft.object.vehicle.* - Can disguise as any vehicle
- disguisecraft.object.vehicle.<vehiclename> - Can disguise as the specified vehicle
- disguisecraft.object.block.* - Can disguise as any block entity
- disguisecraft.object.block.<blockname> - Can disguise as a specific block entity (TNTPrimed, EnderCrystal, FallingBlock)
- disguisecraft.object.block.fallingblock.material - Can disguise as a FallingBlock of any material
- disguisecraft.object.block.<blockname> - Can disguise as a specific block entity (TNTPrimed, EnderCrystal, FallingBlock)
- disguisecraft.object.vehicle.* - Can disguise as any vehicle
- disguisecraft.burning - Can have burning disguises
- disguisecraft.nopickup - Can use the "/d nopickup" command
- disguisecraft.blocklock - Can use the "/d blocklock" command
- disguisecraft.noarmor - Can use the "/d noarmor" command
How to use:
- Put Disguisecraft and http://www.spigotmc.org/resources/protocollib.1997/ in your plugins folder
- Restart your server
- Disguise! (e.g. /disguise Creeper)
- Run around scaring your friendssssssssssssss
Video:
Useful Links
Planned or ToDo <== Put suggestion comments over here!
Development builds of this project can be acquired at the provided continuous integration server.
These builds have not been approved by the BukkitDev staff. Use them at your own risk.
Dev Builds (Jenkins) <== Contains the latest DisguiseCraft builds!
JavaDocs and Source Code
Plugins Utilizing the API:
- Mortuus Terra - A Post-Nuclear Zombie Apocalypse
- FleetingDisguises - Disguise time-limits and cool-downs
- DisguiseTester - An advanced entity metadata research tool
- MobDisguisePVPControl - Adds PVP-related disguise handling
- Be Herobrine - Makes the Herobrine disguise more intense
- SimplyVanish - The first invisibility plugin compatible with DisguiseCraft
- FactionsPlus - Undisguise upon entering territories
- CloneCover - Hide in a crowd where everybody looks alike
- CommandPoints MobDisguise Bridge - Let regular users disguise in moderation
- Armor Abilities - Use armor to disguise as a creeper and explode upon death
- Pony Pack - Enter the changelings
- PropHunt - Hide 'n Seek Revolutionized
- Infected - If you liked COD Zombies, you'll love this
- PVPPack - Your new solution to fair combat
- Dwarves vs Zombies - A DvZ plugin in the works
- Ultimate Herobrine - The legend continues
- MobHunting - Disguising is dangerous business
How to negate the disguisecraft.seer node with PermissionsEx
Or, how to make it so that you don't see the nametag of the person inside of the disguise!
- Open up your permissions.yml file
- Add the permission node "-disguisecraft.seer" to the group that is seeing the double disguises!
- Do /pex reload ingame.
Example pex file:
admin: options: rank: '1' permissions: - -disguisecraft.seer - '*'
Project Page Notices: (Please Read)
- Be sure to read our Frequently Asked Questions section.
- Report errors using the ticket system and be sure that you are using this plugin with the CraftBukkit build that it supports. Any error reported in the comment area may be deleted and ignored. Also make sure to check your tickets often and report in when a build or release has fixed the issue.
- We will only release for stable CraftBukkit builds. Do not report errors when using our plugin with a build it was not listed to support. Because we need to recompile for each specific build, you will only ever see versions for CraftBukkit Dev builds in our jenkins.
-
View User Profile
-
Send Message
Posted Mar 22, 2012Glaciem and I have just done some testing and found that DisguiseCraft appears to work perfectly fine on CraftBukkit build #2110 (MineCraft 1.2.4). We're glad to see that the protocol changes did not interfere with any of DisguiseCraft's functionality. :)
@mrmarchant
You have the disguisecraft.seer permission. It's a feature listed in the description...
-
View User Profile
-
Send Message
Posted Mar 22, 2012Hey! just a brilliant brilliant plugin... i am having one weird thing happen though, can anybody tell me why?.... when another player uses the command forinstance /d cow.. i see the cow fine but.. i also see the player? they dont just turn into a cow.. but when i do /d cow the other player just sees a cow? does anyone know why that happens?
-
View User Profile
-
Send Message
Posted Mar 22, 2012I just read up on the 1.2.4 release.
According to EvilSeph:
"Please note: Minecraft 1.2.4 has bumped the protocol version, so it is incompatible with 1.2.3."
This spells bad news for DisguiseCraft as we're dependent on the protocol and often need to update with any change to it. We'll likely have to wait until CraftBukkit gives us a stable release before we start coding to it.
There is a hint of good news though. It appears the only change to the protocol was the addition of one packet. This packet is unrelated to DisguiseCraft. This means there's a small chance that DisguiseCraft may work on 1.2.4 without anything more than a recompile.
-
View User Profile
-
Send Message
Posted Mar 21, 2012Build #46 startup error: http://pastie.org/3641719
Build #45 is fine.
-
View User Profile
-
Send Message
Posted Mar 21, 2012256th comment! 2.0 is coming along very nicely and we have a few cool things implemented not shown yet. Just wait until you see them. ;)
-
View User Profile
-
Send Message
Posted Mar 20, 2012The releases have obviously slowed, so I'm gonna give you guys a progress report (in the form of images):
click the images to see them larger
http://dev.pinoygamers.info/mediagallery/media.php?f=0&sort=0&s=20120320210427242 (holding a Dragon Egg)
http://dev.pinoygamers.info/mediagallery/media.php?f=0&sort=0&s=20120320215253635 (holding a Chest)
http://dev.pinoygamers.info/mediagallery/media.php?f=0&sort=0&s=20120320215256759 (some blocks [fire/water] do not show up when held)
As you can see, we have the Enderman block-holding implemented. It is not yet ready for release, as we have found critical bugs which can crash all the clients in a world. Hopefully, we'll be able to flatten them all out before the v2.0 release.
"2.0" always sounds like an epic update and we plan to keep it that way.
-
View User Profile
-
Send Message
Posted Mar 20, 2012I could do the translation of this plugin in French! I am French so... PM me!
I will use and not mobdisquise
-
View User Profile
-
Send Message
Posted Mar 20, 2012/me votes up the ticket.
-
View User Profile
-
Send Message
Posted Mar 20, 2012@owenftw
Why would you disguise and vanish at the same time..... DisguiseCraft and VanishNoPacket use the same methods, so inherently, they do not play well with each other.
-
View User Profile
-
Send Message
Posted Mar 20, 2012People can still see you while disguised if your vanished.
I use vanishNoPacket.
-
View User Profile
-
Send Message
Posted Mar 19, 2012Yes, we enjoy testing:

(Looks like it's gonna be a low blow...)
-
View User Profile
-
Send Message
Posted Mar 19, 2012@Squirzy
That plugin will take just as long as the PvP issue will to be fixed. If you haven't already, vote here: https://bukkit.atlassian.net/browse/BUKKIT-1145 and possibly ask your players to do so as well. If if gets enough votes, PG Dev team will implement it straight away.
-
View User Profile
-
Send Message
Posted Mar 19, 2012Authors of this plugin, i love you !!!
-
View User Profile
-
Send Message
Posted Mar 19, 2012@andrewkm
You have also not listed your plugins on your server so we can see what's causing the issue as we are unable to reproduce it. If you are worried about people taking advantage of the list PM it to us and we will take a look at it.
-
View User Profile
-
Send Message
Posted Mar 19, 2012Using build 46 1.9 - Still getting this:
2012-03-19 05:14:42 [SEVERE] Could not pass event PlayerQuitEvent to DisguiseCraft java.lang.NullPointerException at org.bukkit.craftbukkit.entity.CraftPlayer.showPlayer(CraftPlayer.java:632) at pgDev.bukkit.DisguiseCraft.DisguiseCraft.halfUndisguiseAllToPlayer(DisguiseCraft.java:210) at pgDev.bukkit.DisguiseCraft.listeners.DCMainListener.onPlayerQuit(DCMainListener.java:51) at sun.reflect.GeneratedMethodAccessor175.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) at org.bukkit.plugin.SimplePluginManager.callEventInternal(SimplePluginManager.java:455) at org.bukkit.plugin.SimplePluginManager.callEventSync(SimplePluginManager.java:442) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:437) at net.minecraft.server.ServerConfigurationManager.disconnect(ServerConfigurationManager.java:181) at net.minecraft.server.NetServerHandler.disconnect(NetServerHandler.java:161) at net.minecraft.server.ServerConfigurationManager.attemptLogin(ServerConfigurationManager.java:239) at net.minecraft.server.NetLoginHandler.b(NetLoginHandler.java:102) at net.minecraft.server.NetLoginHandler.a(NetLoginHandler.java:41) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:68) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:625) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:509) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
-
View User Profile
-
Send Message
Posted Mar 19, 2012I'm noob when it comes to developing plugins - but how long could it take to port over the MobDisguisePVPControl plugin to DisguiseCraft?
People want it off my server until the PVP issue is fixed, the vote is currently 23 people want it off the server, and 8 want to keep it :/
I really don't want to take it off the server but I am worried I am losing players because of the unfair gameplay because of people taking advantage of it.
-
View User Profile
-
Send Message
Posted Mar 18, 2012@barneebrown
It's not something we'd add to DisguiseCraft itself. The focus of this plugins is to be a core system for disguising.
If we did create something for that, it would be a separate plugin that utilized the API. (We have the API there for a reason)
-
View User Profile
-
Send Message
Posted Mar 18, 2012@Devil_Boy
That's great but to keep up to date with you cool cats are up to with bug fixes and such, it would be nicer if you had such feature. =)
-
View User Profile
-
Send Message
Posted Mar 18, 2012@barneebrown
I think zonedabone did already create a version that used WorldGuard anti-disguise zones :)
-
View User Profile
-
Send Message
Posted Mar 18, 2012@icheesy
If you are desperate enough, these guys have the source posted.
You could just go into the playermove event and include a check for the x-z co-ordinates. If the player goes within these co-ordinates, undisguise the player... that's what I did.
Perhaps as an added feature, be able to stipulate co-ords in a config file so players can add non-disguise zones.