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 Nov 9, 2012Perhaps I'll give it another try in a week or two :) I understand your reasoning for working with it.
EDIT: Oh alright Im trying it again :P Here I go on #119
-
View User Profile
-
Send Message
Posted Nov 8, 2012@andrewkm
You must understand that any plugin that has to do the work ProtocolLib does takes time to round out. aadnk has only had about a month since DisguiseCraft started soft-depending on it. It may not seem this way to you server admins, but some of us developers rate plugin success not by the lack of errors, but rather how well the errors are resolved.
ProtocolLib has been doing a great job of dealing with issues it has come across.
You also need to remember that dev builds in our Jenkins are made for testing. Errors are expected and can ultimately contribute to the improvement of the plugin's design.
The reason the destroy packet error disappeared when you removed ProtocolLib is because the erroneous code I wrote was avoided. When ProtocolLib is installed, different sets of code are run in DisguiseCraft. If I mess up using the API, it will sometime show up as an issue on the ProtocolLib end. The reason we want to move DisguiseCraft over to using more ProtocolLib API methods is so that our plugin will be less dependent on me having to spend hours trying to update to a new Minecraft protocol or read through obfuscated code.
However, this doesn't mean that I'll ever make DisguiseCraft fully dependent on another plugin. I just happened to forget to make the ProtocolLib packet generator functions disablable via the "compatibility mode" config option. In the future, disabling the compatibility option(s) could prevent such issues.
-
View User Profile
-
Send Message
Posted Nov 8, 2012I set up the permissions but for some reason i can still see the player within the mob.
-
View User Profile
-
Send Message
Posted Nov 8, 2012Never mind; removed protocollib and literally ALL the errors are gone :)
This was my third try at protocollib; I think im just going to drop it and not use it; its quite a mess. Hopefully it doesn't become a serious dependent for disguisecraft; that would be very saddening :(
-
View User Profile
-
Send Message
Posted Nov 8, 2012@andrewkm
Which mobs cause the NullPointerException?
I don't think the creeper should, but I could see why some others would.
The errors regarding the destroy packet was completely my fault XD
I was setting an int where it wanted an int array.
-
View User Profile
-
Send Message
Posted Nov 8, 2012http://www.pastie.org/5348662 Another one; unsure if same as the ones I reported below.
-
View User Profile
-
Send Message
Posted Nov 8, 2012http://www.pastie.org/5348650 Also getting the above on server stop.
-
View User Profile
-
Send Message
Posted Nov 8, 2012Build 118 having some issues... http://pastie.org/5348566 (unsure but seeing alot) Also http://pastie.org/5348573 (during /undis)
Using protocollib 1.5.1
Please help/advise
-
View User Profile
-
Send Message
Posted Nov 8, 2012@Devil_Boy
Possibly, I'd consider donating ;)
-
View User Profile
-
Send Message
Posted Nov 8, 2012Version 3.9 is backwards compatible with older MineCraft versions. I've only tested it with 1.2.5 so far though. Maybe if you guys test out the dev builds for me, you can tell me how far back its backwards compatibility goes XD
Why would I add backwards compatibility?
We're using similar reasoning as ProtocolLib does. Backwards compatibility can lead to forward compatibility. This could mean that you guys may no longer need to wait for me to update DisguiseCraft the next time MineCraft updates. However, new mobs won't be added until I update the plugin manually.
How does this new compatibility system work?
-
View User Profile
-
Send Message
Posted Nov 8, 2012@SuperMinecraftBrosMC
ROFL, I still think a plugin would've been more desirable XD
Now, if you think your plugin was tough, take a peek at DisguiseCraft source...
I think MagicSpells does some interesting stuff O.o
Maybe you're using a spell that is messing with the disguises? :x
-
View User Profile
-
Send Message
Posted Nov 8, 2012@Devil_Boy
No. Im using magicspells and Ive got a spell that disguises you and whenever someone does that spell I get the playerdisconnect.GenericReason thing :/. Also I've given up on my plugin for now... To hard :P. Ive found a work around using skript :)
-
View User Profile
-
Send Message
Posted Nov 7, 2012@SuperMinecraftBrosMC
Is that when the client is disconnected with end of Stream?
-
View User Profile
-
Send Message
Posted Nov 7, 2012Found a bug. Sometimes whenever a player disguises players disconnect with the error "playerdisconnect.GenericReason" on the Console. I know its DisguiseCraft cause I took out the Plugin and it doesn't happen anymore
-
View User Profile
-
Send Message
Posted Nov 7, 2012@boomrq
Do I get tons of money? :D
@shadowex99
Just PM Tux2 o.o
I'm sure he could explain how to do the permissions thing XD
-
View User Profile
-
Send Message
Posted Nov 7, 2012So i tried to use this How do i remove the disguisecraft.seer From Op or whats a way that can help? PLease Contact me at Lolinoob@hotmail.com Ive tried everything
-
View User Profile
-
Send Message
Posted Nov 7, 2012@Devil_Boy
Well mad props to you if you can add this feature in ;)
-
View User Profile
-
Send Message
Posted Nov 7, 2012@themine12
Your chat manager plugin is doing that.
@boomrq
Not currently.
-
View User Profile
-
Send Message
Posted Nov 7, 2012Is there a way to see yourself as the mob you're disguised as? I'd love this feature.
-
View User Profile
-
Send Message
Posted Nov 7, 2012When i try to disguise as a player, it will say the players name for a moment, then when i say something else, it will trip back into my real name. Please Help!!!