RankCapes
RankCapes
RankCapes was made for servers that would like to offer something more to their players. It is a fun aesthetic mod that allows servers to give their players capes based on permissions given to them. RankCapes is not restricted to donating or contributing players, though; anyone can be given a cape, as anyone can be given a permission. Easy to use, RankCapes implements Cape Packs that are like Resource Packs and can be swapped back and forth easily.
Website - Wiki - Client Mod
Bukkit (bleeding edge) build status:
Features:
- Make you own capes for server players.
- Multiple capes per player.
- Animated and HD capes.
- Movement-triggered Animated capes.
- Cape Packs that are similar to Resource Packs for easy swapping.
- Bukkit permission-based cape access system.
How it Works
On the server there is a Cape Pack that contains all the textures as well as a file that associates images and cape names. When clients with the RankCapes mod installed connect to the server, they can change their cape to whatever they have permissions for in the cape change GUI. All other players with the mod installed can see theirs, and other player's capes.
Permissions
Capes are given with this permission node: rankcapes.cape.use.$CAPE_NAME
.
Commands
RankCapes has one command, it's there for debug purposes only.
mycape - Used for debug, tells the sender what cape it has.
Client Mod
The RankCapes Client mod is required for the player to see their cape. The plugin sends the cape pack and tells the client which capes it has access to, as well as the other players' capes. Currently there is only a Minecraft Forge version available. Installation and use is simple.
Download it here.
Setup
Setup is generally simple. See the wiki for details and documentation.
Support
If you have any problem with the RankCapes plugin or mod, you may create an issue on GitHub.
Versioning
RankCapes uses the Semantic Versioning 2.0.0 system with an added BUILD version. Every time an incompatible API change is made, including SERVER<->CLIENT protocol, the MAJOR version is incremented. Every time Minecraft is updated, the MINOR version is incremented. Every time a backwards-compatible change is made, the PATCH/REVISION version is incremented. Also, whenever the MAJOR or MINOR version is incremented, the PATCH/REVISION version is reset to 0. Every time Travis does a build, the BUILD version increments.
Complicated? Maybe. Just remember to only use server and client versions that have the same MAJOR.MINOR versions.
Is this dead?
@Paxination
its not a mod
@xxtechmoxx
how if the mod wont load client side?
@pokekart2014
yes, it woks for bukkit 1.8+
This looks totally amazing!
Is this also compatible for 1.8+? (e.g.1.8.3)
How do I edit the capes... I looked at the setup tutorial but it's too confusing to follow...
I am not even concerned about it till it updates, we're running Spigot 1.8 now. I know I can get it to work. But testing out an older version isnt going to do us any good if he doesnt update.
the main problem is still just that the cape pack won't load, I have not been able to figure out why yet but pax you should try to run it, it may be my computer as Jadar was saying it was working for him.
@jadar Do you plan on updating to 1.8 for spigot? Now that its released? This would be great as my server is very interested in this plugin/mod!
@masonzyn
See Issue 4. And please pastebin your error and paste the link please, next time. Also, GitHub issues are a lot more convenient.
Minecraft Crash ReportEverything's going to plan. No, really, that was supposed to happen.Time: 11/16/14 6:29 PM Description: Unexpected error
java.lang.NoSuchMethodError: net.minecraft.client.Minecraft.getMinecraft()Lnet/minecraft/client/Minecraft; at com.jadarstudios.rankcapes.forge.handler.KeyEventHandler.key(KeyEventHandler.java:45) at cpw.mods.fml.common.eventhandler.ASMEventHandler_5_KeyEventHandler_key_KeyInputEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:51) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:122) at cpw.mods.fml.common.FMLCommonHandler.fireKeyInput(FMLCommonHandler.java:539) at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1823) at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:917) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:835) at net.minecraft.client.main.Main.main(SourceFile:103) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
A detailed walkthrough of the error, its code path and all known details is as follows:
-------------------HeadStacktrace: at com.jadarstudios.rankcapes.forge.handler.KeyEventHandler.key(KeyEventHandler.java:45) at cpw.mods.fml.common.eventhandler.ASMEventHandler_5_KeyEventHandler_key_KeyInputEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:51) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:122) at cpw.mods.fml.common.FMLCommonHandler.fireKeyInput(FMLCommonHandler.java:539)Affected levelDetails: Level name: MpServer All players: 1 total; [EntityClientPlayerMP['2iguys'/710985, l='MpServer', x=-4575.25, y=66.62, z=-5366.61]] Chunk stats: MultiplayerChunkCache: 729, 729 Level seed: 0 Level generator: ID 00 - default, ver 1. Features enabled: false Level generator options: Level spawn location: World: (-4593,72,-5355), Chunk: (at 15,4,5 in -288,-335; contains blocks -4608,0,-5360 to -4593,255,-5345), Region: (-9,-11; contains chunks -288,-352 to -257,-321, blocks -4608,0,-5632 to -4097,255,-5121) Level time: 589774378 game time, 583998368 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Level game mode: Game mode: survival (ID 0). Hardcore: false. Cheats: false Forced entities: 90 total; [EntityClientPlayerMP['2iguys'/710985, l='MpServer', x=-4575.25, y=66.62, z=-5366.61], EntityChicken['Chicken'/711052, l='MpServer', x=-4563.19, y=82.00, z=-5409.41], EntityOcelot['Cat'/711055, l='MpServer', x=-4590.69, y=72.00, z=-5325.31], EntityChicken['Chicken'/711049, l='MpServer', x=-4563.19, y=82.00, z=-5410.53], EntityBat['Bat'/711048, l='MpServer', x=-4622.02, y=29.61, z=-5366.52], EntityChicken['Chicken'/711051, l='MpServer', x=-4563.19, y=82.00, z=-5409.97], EntityChicken['Chicken'/711050, l='MpServer', x=-4563.81, y=82.00, z=-5409.47], EntityCreeper['Creeper'/711045, l='MpServer', x=-4601.50, y=70.00, z=-5402.50], EntitySheep['Sheep'/711044, l='MpServer', x=-4605.91, y=75.00, z=-5399.91], EntityCreeper['Creeper'/711047, l='MpServer', x=-4619.50, y=25.00, z=-5367.50], EntitySkeleton['Skeleton'/711046, l='MpServer', x=-4609.50, y=24.00, z=-5361.50], EntityWolf['Wolf'/711041, l='MpServer', x=-4598.59, y=72.00, z=-5340.22], EntitySpider['Spider'/711040, l='MpServer', x=-4605.50, y=31.00, z=-5331.50], EntityWolf['Wolf'/711043, l='MpServer', x=-4594.63, y=72.00, z=-5337.31], EntityWolf['Wolf'/711042, l='MpServer', x=-4592.31, y=72.00, z=-5343.22], EntityChicken['Chicken'/711064, l='MpServer', x=-4598.46, y=72.00, z=-5321.70], EntityCreeper['Creeper'/711065, l='MpServer', x=-4620.50, y=13.00, z=-5341.50], EntityWolf['Wolf'/711066, l='MpServer', x=-4610.69, y=72.00, z=-5330.00], EntityWolf['Wolf'/711067, l='MpServer', x=-4609.38, y=72.00, z=-5330.00], EntitySpider['Spider'/711060, l='MpServer', x=-4588.00, y=67.00, z=-5410.75], EntityOcelot['Cat'/711063, l='MpServer', x=-4594.00, y=72.00, z=-5325.59], EntityVillager['Villager'/711056, l='MpServer', x=-4618.44, y=50.00, z=-5355.69], EntityVillager['Villager'/711057, l='MpServer', x=-4617.34, y=50.00, z=-5352.34], EntityVillager['Villager'/711058, l='MpServer', x=-4617.50, y=50.00, z=-5354.69], EntityVillager['Villager'/711059, l='MpServer', x=-4614.34, y=66.00, z=-5345.69], EntityCow['Cow'/711087, l='MpServer', x=-4613.50, y=72.00, z=-5325.31], EntitySheep['Sheep'/711086, l='MpServer', x=-4613.72, y=72.00, z=-5321.47], EntityPig['Pig'/711085, l='MpServer', x=-4614.91, y=72.00, z=-5321.50], EntityPig['Pig'/711084, l='MpServer', x=-4609.03, y=72.00, z=-5322.09], EntityPig['Pig'/711083, l='MpServer', x=-4609.28, y=72.00, z=-5325.75], EntitySheep['Sheep'/711082, l='MpServer', x=-4614.91, y=72.00, z=-5326.91], EntityCow['Cow'/711081, l='MpServer', x=-4608.09, y=72.00, z=-5323.88], EntityPig['Pig'/711080, l='MpServer', x=-4608.44, y=72.00, z=-5326.91], EntityCow['Cow'/711079, l='MpServer', x=-4610.56, y=72.00, z=-5322.38], EntityZombie['Zombie'/711072, l='MpServer', x=-4596.50, y=20.00, z=-5414.50], EntitySheep['Sheep'/711090, l='MpServer', x=-4609.38, y=72.00, z=-5323.28], EntityCow['Cow'/711091, l='MpServer', x=-4614.91, y=72.00, z=-5323.22], EntityPig['Pig'/711088, l='MpServer', x=-4614.91, y=72.00, z=-5326.91], EntityPig['Pig'/711089, l='MpServer', x=-4613.72, y=72.00, z=-5322.63], EntityItem['item.tile.stonebrick'/710986, l='MpServer', x=-4573.66, y=63.13, z=-5370.50], EntityChicken['Chicken'/710987, l='MpServer', x=-4575.22, y=72.00, z=-5360.71], EntityChicken['Chicken'/710988, l='MpServer', x=-4575.60, y=72.00, z=-5361.84], EntityChicken['Chicken'/710989, l='MpServer', x=-4574.15, y=72.00, z=-5361.32], EntityChicken['Chicken'/710990, l='MpServer', x=-4575.76, y=72.00, z=-5360.72], EntityChicken['Chicken'/710991, l='MpServer', x=-4574.15, y=72.00, z=-5361.85], EntityChicken['Chicken'/710993, l='MpServer', x=-4574.15, y=72.00, z=-5361.29], EntityChicken['Chicken'/710992, l='MpServer', x=-4574.46, y=72.00, z=-5360.78], EntityChicken['Chicken'/710995, l='MpServer', x=-4575.36, y=72.00, z=-5360.71], EntityChicken['Chicken'/710994, l='MpServer', x=-4574.66, y=72.00, z=-5360.71], EntityChicken['Chicken'/710997, l='MpServer', x=-4574.72, y=71.73, z=-5361.19], EntityChicken['Chicken'/710996, l='MpServer', x=-4575.79, y=72.00, z=-5361.84], EntityChicken['Chicken'/710999, l='MpServer', x=-4574.15, y=72.00, z=-5361.85], EntitySpider['Spider'/710998, l='MpServer', x=-4577.28, y=70.00, z=-5375.72], EntityChicken['Chicken'/711001, l='MpServer', x=-4575.20, y=72.00, z=-5361.85], EntityChicken['Chicken'/711000, l='MpServer', x=-4575.80, y=72.00, z=-5361.18], EntityChicken['Chicken'/711003, l='MpServer', x=-4576.29, y=71.88, z=-5361.19], EntityChicken['Chicken'/711002, l='MpServer', x=-4574.64, y=72.00, z=-5361.85], EntityChicken['Chicken'/711005, l='MpServer', x=-4576.29, y=72.00, z=-5360.72], EntityChicken['Chicken'/711004, l='MpServer', x=-4574.62, y=72.00, z=-5361.19], EntityChicken['Chicken'/711007, l='MpServer', x=-4576.29, y=72.00, z=-5360.72], EntityChicken['Chicken'/711006, l='MpServer', x=-4576.29, y=72.00, z=-5360.72], EntityChicken['Chicken'/711010, l='MpServer', x=-4576.29, y=71.88, z=-5361.84], EntityItem['item.item.rottenFlesh'/711011, l='MpServer', x=-4586.59, y=87.13, z=-5361.66], EntityChicken['Chicken'/711008, l='MpServer', x=-4576.29, y=72.00, z=-5360.72], EntityChicken['Chicken'/711009, l='MpServer', x=-4575.40, y=72.00, z=-5361.26], EntityZombie['Zombie'/711251, l='MpServer', x=-4604.50, y=18.00, z=-5336.50], EntityHorse['Horse'/711014, l='MpServer', x=-4579.91, y=77.00, z=-5350.00], EntityItem['item.item.rottenFlesh'/711015, l='MpServer', x=-4576.81, y=69.13, z=-5345.59], EntityCreeper['Creeper'/711012, l='MpServer', x=-4548.35, y=74.99, z=-5363.50], EntitySpider['Spider'/711013, l='MpServer', x=-4563.88, y=22.00, z=-5344.41], EntityOcelot['Grupmy'/711018, l='MpServer', x=-4586.69, y=78.00, z=-5342.69], EntityZombie['Zombie'/711016, l='MpServer', x=-4585.06, y=46.00, z=-5387.44], EntitySkeleton['Skeleton'/711017, l='MpServer', x=-4572.50, y=46.00, z=-5393.50], EntityWolf['Roofy'/711022, l='MpServer', x=-4590.31, y=78.00, z=-5342.69], EntityVillager['Villager'/711023, l='MpServer', x=-4583.95, y=68.00, z=-5338.52], EntityWolf['Wolf'/711021, l='MpServer', x=-4586.31, y=72.00, z=-5329.13], EntityHorse['Horse'/711027, l='MpServer', x=-4594.72, y=82.00, z=-5353.81], EntitySkeleton['Skeleton'/711026, l='MpServer', x=-4602.50, y=25.00, z=-5348.88], EntityChicken['Chicken'/711031, l='MpServer', x=-4601.78, y=75.00, z=-5391.22], EntityChicken['Chicken'/711030, l='MpServer', x=-4606.22, y=75.00, z=-5391.22], EntityHorse['Horse'/711029, l='MpServer', x=-4604.50, y=75.00, z=-5388.19], EntityHorse['Horse'/711028, l='MpServer', x=-4605.00, y=75.00, z=-5390.19], EntityCreeper['Creeper'/711035, l='MpServer', x=-4535.50, y=72.00, z=-5386.50], EntitySheep['Sheep'/711034, l='MpServer', x=-4548.09, y=85.00, z=-5397.91], EntityCreeper['Creeper'/711033, l='MpServer', x=-4579.38, y=71.00, z=-5409.54], EntityChicken['Chicken'/711032, l='MpServer', x=-4601.78, y=75.00, z=-5385.78], EntitySkeleton['Skeleton'/711039, l='MpServer', x=-4534.50, y=75.13, z=-5356.97], EntitySkeleton['Skeleton'/711038, l='MpServer', x=-4535.50, y=75.07, z=-5356.94], EntityChicken['Chicken'/711037, l='MpServer', x=-4536.16, y=75.26, z=-5347.44], EntitySkeleton['Skeleton'/711036, l='MpServer', x=-4531.34, y=71.00, z=-5386.84]] Retry entities: 0 total; [] Server brand: Spigot Server type: Non-integrated multiplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:368) at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2383) at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:864) at net.minecraft.client.main.Main.main(SourceFile:103) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) at net.minecraft.launchwrapper.Launch.main(Launch.java:28)System DetailsDetails: Minecraft Version: 1.7.2 Operating System: Mac OS X (x86_64) version 10.10 Java Version: 1.6.0_65, Apple Inc. Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Apple Inc. Memory: 190645560 bytes (181 MB) / 451371008 bytes (430 MB) up to 1060372480 bytes (1011 MB) JVM Flags: 5 total; -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M AABB Pool Size: 20003 (1120168 bytes; 1 MB) allocated, 2 (112 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95 FML: MCP v9.03 FML v7.2.217.1147 Minecraft Forge 10.12.2.1147 4 mods loaded, 4 mods active mcp{9.03} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available FML{7.2.217.1147} [Forge Mod Loader] (forge-1.7.2-10.12.2.1147.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available Forge{10.12.2.1147} [Minecraft Forge] (forge-1.7.2-10.12.2.1147.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available rankcapes{1.0-SNAPSHOT} [RankCapes] (RankCapes-client-forge-1.7.2-2.0.0.32.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available Launched Version: 1.7.2-Forge10.12.2.1147 LWJGL: 2.9.1 OpenGL: Intel HD Graphics 4000 OpenGL Engine GL version 2.1 INTEL-10.0.86, Intel Inc. Is Modded: Definitely; Client brand changed to 'fml,forge' Type: Client (map_client.txt) Resource Packs: [Sphax PureBDcraft 128x MC18] Current Language: English (US) Profiler Position: N/A (disabled) Vec3 Pool Size: 2114 (118384 bytes; 0 MB) allocated, 18 (1008 bytes; 0 MB) used Anisotropic Filtering: Off (1)Here is the crash from the client side mod
Hello, that could be really awesome, but it doesn't work, your mod is not working, when we are on multiplayer or in singleplayer, press F5 and crash the game. Please make it possible, if you did it, i'm going to give you some donation.
cant play minecraft ONLINE when u play it on single player it crashes minecraft??