xTeam
xTeam Plugin
Brief Description
xTeam is a team-based PvP plugin that allows for creating and joining teams, setting a headquarters and various other features. It is meant for use on hardcore PvP servers where land is not protected.
This is a mod I've been working on for some time. Initially I figured a mod like this would be made eventually and I would just switch to using the alternative instead of mine but surprisingly I haven't quite found an equivalent. Factions is nice but if you want more of a 'hardcore' team plugin, then this mod is for you.
____________________________________________________________________________
!!! IMPORTANT !!!
Version 1.8.1 of the plugin contains an Anonymous Error Reporting feature for sending errors directly to me when they are thrown.
This feature does not reveal any private information. In fact the only one thing that could possibly identify the client is encrypted even from me. The benefit of this feature is that I can see which errors are happening the most and fix them more quickly. Having said that, there is an option in the configuration file to disable this feature by setting 'anonymouserrorreporting = false' if you feel so inclined. Just know that if this is disabled, I will not be able to see what errors are happening frequently from your server.
____________________________________________________________________________
Command Aliases: '/team', '/xteam', '/xt'
Command Parameters: {optional} [required] pick/one
Features
- create and join teams
- get info for any team
- change the team tag
- set a headquarters
- rally team to a location
- teleport to teammates and headquarters
- teleport to return location that is saved upon using any of the other teleport functions
- teleport to rally location set by team leader
- promote and demote players to use team admin commands
- team chat function to toggle between team chat and regular chat
- disable friendly fire
- wolves can be team members too!
- default teams for automatic joining on login
Team User Commands
- /team - main help menu for xTeam
- /team {help} {Page} - user help page for xTeam
- /team info {Team/Player} - get team info or other team's info
- /team list - list all teams on the server
- /team create [Name] - create a team
- /team join [Team] - join a team
- /team leave - leave your team
- /team accept - accept the most recent team invite
- /team hq - teleport to the team headquarters
- /team tele {Player} - teleport to nearest or specific teammate
- /team return - teleport to saved return location (1 use)
- /team rally - teleport to team rally location
- /team chat {On/Off} - toggle chatting with teammates
- /team message [Message] - send message to teammates
Team Admin Commands
- /team sethq - set headquarters of team
- /team invite [Player] - invite player to your team
- /team promote [Player] - promote player to team admin
Team Leader Commands
- /team demote [Player] - demote team admin
- /team disband - disband the team
- /team open - open team to public joining
- /team remove [Player] - remove player from your team
- /team rename [Name] - rename the team
- /team tag [Tag] - set the team tag
- /team setleader [Player] - set new leader for the team
- /team setrally - set rally point for the team
Server Admin Commands
- /team chatspy - spy on team chat
- /team debug {Option} - server admin debug menu for xTeam
- /team disband [Team] - disband a team
- /team demote [Team] [Player] - demote team admin
- /team hq [Team] - teleport to team headquarters for team
- /team promote [Team] [Player] - promote player to admin
- /team remove [Player] [Team] - remove player from team
- /team rename [Team] [Name] - rename a team
- /team tag [Team] [Tag] - set team tag
- /team open [Team] - open team to public joining
- /team set [Player] [Team] - set team of player
- /team sethq [Team] - set team headquarters for team
- /team setleader [Team] [Player] - set leader of team
- /team setrally [Team] - set team rally point for team
- /team teleallhq - teleports everyone to their headquarters
- /team tpall [Team] - teleports a team to yourself
Console Commands
- team {help} - console help menu for xTeam
- team debug {Option} - console debug menu for xTeam
- team demote [Team] [Player] - demote team admin
- team disband [Team] - disband a team
- team info [Player/Team] - get info on player/team
- team list - list all teams on the server
- team promote [Team] [Player] - promote player to admin
- team remove [Player] [Team] - remove player from team
- team rename [Team] [Name] - rename a team
- team tag [Team] [Tag] - set team tag
- team open [Team] - open team to public joining
- team set [Player] [Team] - set team of player
- team sethq [Team] [World] [X] [Y] [Z] - set headquarters of team
- team setleader [Team] [Player] - set leader of team
- team setrally [Team] [World] [X] [Y] [Z] - set rally point of team
- team teleallhq - teleports everyone to their headquarters
Permission Support
- Supports bukkit SuperPerms (PermissionsEx, PermissionsBukkit, and bPermissions, etc.)
Permissions Nodes
- xteam.core.user.accept - Allows team users to accept an invitation
- xteam.core.user.chat - Allows team users to chat/msg their team
- xteam.core.user.create - Allows team users to create a team
- xteam.core.user.headquarters - Allows team users to teleport to headquarters
- xteam.core.user.info - Allows team users view team info
- xteam.core.user.join - Allows team users to join a team
- xteam.core.user.leave - Allows team users to leave a team
- xteam.core.user.list - Allows team users to list all team names
- xteam.core.user.return - Allows team users to return to saved location
- xteam.core.user.rally - Allows team users to rally to a location
- xteam.core.user.tele - Allows team users to teleport to teammates
- xteam.core.user.* - All team user core commands
- xteam.core.admin.invite - Allows team admins to invite other players
- xteam.core.admin.promote - Allows team admins to promote teammates
- xteam.core.admin.sethq - Allows team admins to set a headquarters
- xteam.core.admin.* - All team admin core commands
- xteam.core.leader.demote - Allows team leaders to demote teammates
- xteam.core.leader.disband - Allows team leaders to disband a team
- xteam.core.leader.open - Allows team leaders to open team to public
- xteam.core.leader.remove - Allows team leaders to remove players
- xteam.core.leader.rename - Allows team leaders to rename team
- xteam.core.leader.setleader - Allows team leaders to set leader of team
- xteam.core.leader.setrally - Allows team leaders to set rally point for the team
- xteam.core.leader.tag - Allows team leaders to set team tag
- xteam.core.leader.* - All team leader core commands
- xteam.core.serveradmin.chatspy - Allows server admins to spy on team chat
- xteam.core.serveradmin.debug - Allows server admins to debug the plugin
- xteam.core.serveradmin.disband - Allows server admins to disband a team
- xteam.core.serveradmin.demote - Allows server admins to demote a player on a team
- xteam.core.serveradmin.hq - Allows server admins to teleport to any headquarters
- xteam.core.serveradmin.promote - Allows server admins to promote a player on a team
- xteam.core.serveradmin.reload - Allows server admins to reload the configuration file
- xteam.core.serveradmin.remove - Allows server admins to remove player from a team
- xteam.core.serveradmin.rename - Allows server admins to rename a team
- xteam.core.serveradmin.tag - Allows server admins to set team tag
- xteam.core.serveradmin.open - Allows server admins to open a team to the public
- xteam.core.serveradmin.set - Allows server admins to set the team of a player
- xteam.core.serveradmin.sethq - Allows server admins to set the headquarters of a team
- xteam.core.serveradmin.setleader - Allows server admins to set the leader of a team
- xteam.core.serveradmin.setrally - Allows server admins to set the rally point of a team
- xteam.core.serveradmin.teleallhq - Allows server admins to teleport everyone to their headquarters
- xteam.core.serveradmin.tpall - Allows server admins to teleport a team to current location
- xteam.core.serveradmin.* - All server admin commands
- xteam.core.* - All core commands
Configuration
Contains data that the plugin uses universally - feel free to change the values to suit your needs. Also contains the permission nodes for the plugin. Use these inside whatever permissions plugin you desire to enable or disable commands for certain people or groups.
NOTE: As this project is still in Beta stage, I will be adding/changing features until I'm satisfied with the basic functionality of the plugin. For updating to a newer version of the plugin, check to see whether there are any configuration file changes. If so, you will want to reload the configuration file or add the new options yourself.
FAQ
Many of the frequently asked questions about the plugin.
Source Code Repository
Feel free to download the current source code at https://github.com/protocos/xTeam/
Links
Donations
I work on this project in my spare time and I will always have a love for Minecraft no matter what, but it certainly does make me smile when people feel like contributing. Donating to the project helps encourage me to continue providing support and feedback to all of you awesome peoples! If you feel like helping out, there's a link at the top right of the page. ;)
Bug Reports
Please leave any questions, comments, concerns, and potential bugs in the comments. I will try to squash them when I can. Having said that, I am a real human being, so if the bug is not fixed right away, please be patient.
@protocos
Ok thank you, ill try to think of more ideas
@suzukijr
Except in that case, the teams would have to agree on being allies. I'll put it in the list for consideration. No promises but I like the idea so we'll see.
@protocos
Umm probably none, and you can tp to hq with them near?
@suzukijr
What about the PvP factor? would allies receive less/no damage?
@protocos
Well the main point of enemy and allies is that it will be easy to choose the teams you like and dislike and put them on a list, like /team enemy or /team allie
@suzukijr
Interesting, but the console should provide a means of chat 'spying' for any admin with access to ssh on a particular server. I'll definitely consider it though.
Now the ally/enemy would be interesting. What benefits would a team get from either making another team an enemy or another team an ally?
Hmm, i got one idea for admins/owners, maybe you can make it so owners can read all team chats ?
Also to be able to set an allie and enemy list for your team?
@suzukijr
I was considering adding this as a option but the problem is that there are many other chat plugins out there that would overwrite/disable/conflict with this sort of feature. Not exactly sure how I would integrate it (if at all) with things like ChatManager or HeroChat. Both of these plugins are nice but they don't provide API's for changing prefixes from within another plugin. If you have any specific suggestions, I'm open to anything...
How can we make it so it shows the team name as a prefix?
@deathwing911
Awesome! Good to know.
@Chrono124
I am thinking maybe I will just add alternate command aliases, which wouldn't be too hard. So I'll probably just make '/team' and '/xteam' do the same thing instead of adding a separate configuration option. I will say that it is a little strange that I haven't heard of many conflicts like this before. As simple as an idea that teamed PvP is, one would tend to think that many people would have used the command. At any rate, I'll try to put it in the next update but I'd like to wait to see if any bugs come from this most recent update.
PS. Thanks for the support! ;)
@protocos
I sure will and thanks for the consideration on it, I will agree that the War plugin is somewhat messy the dev should have made the commands more uniform with his plugin and I will bring this to his attention as well.Thank you for a speedy reply I can tell you are actually dedicated to making your plugin as good as it can be, keep up the good work I look forward to using it.
Btw, I got mine to work fine from editing War's source and just removing those useless commands they tried to pack in there. I am using xTeams now thanks for making a real team plugin without all the crap that Factions has, I like simplicity that doesnt try to do a million things in one plugin. :) Good Work.
wow this Per-world config is simply awesome , my server is functional now !
thanks for your time and adding this. :)
@Chrono124
Hmm, this is a bit of a predicament... the thing about changing any commands is that there is a whole lot of other people that are used to the way it is. It would seem that the War plugin has a messy command system.. should be something like "/w <command>" or "/war <command>" instead of different commands for everything in my humble opinion. Having said that, I will see what I can do.
I might suggest though that you also contact the warhub developer and see if you could suggest a cleaner command system with a base command for everything.
I have a problem with warhub and this plugin conflicting on commands. Warhub has a command "/team" for in pvp team chat so that one command pretty much ruins every command on xTeam making it effectively unusable. I was wondering I you could add an option for people to interchange your command to maybe "/xteam create" etc. That would fix any issues with warhub and possible issues with other plugins with a "/team" command which may be more common in other plugins, since it is a basic general command other developers may accidently use this same command and interfere with xTeam.
@Benas223
This is an error that happens when someone hits a wolf that is unowned. It will be fixed in the next update. Someone else already reported this but thanks for the info anyway.
@Y19
Ill try to have the '/team tele' return message fixed by the next update. As for the '/team hq' not working... is anything printed in the terminal that might help me diagnose this issue? Also, what are your preferences in the config file or permissions file? Anything that might pertain to team headquarters would help.
Dunno if this error affects our server in any way, just letting you know, we get spammed with it like every hour
2012-04-02 12:32:39 [SEVERE] Could not pass event EntityDamageByEntityEvent to xTeam org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:459) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:359) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:377) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:608) at net.minecraft.server.EntityAnimal.damageEntity(SourceFile:124) at net.minecraft.server.EntityWolf.damageEntity(EntityWolf.java:169) at net.minecraft.server.EntityHuman.attack(EntityHuman.java:749) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:997) at net.minecraft.server.Packet7UseEntity.handle(SourceFile:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:113) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.NullPointerException at me.protocos.xTeam.TeamPvPEntityListener.onEntityDamage(TeamPvPEntityListener.java:73) at sun.reflect.GeneratedMethodAccessor834.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) ... 16 more
Great plugin :) Found a little problem: when trying to use "/team tele" during cooldown period, it says "you can still use /return" even if you don't have the return permission. Can you please fix that? Also, sometimes "/team hq" doesn't work and I don't know why. It just doesn't do anything, and nothing is printed to chat. Any idea on what might be causing this?
@protocos
many thanks :)
@deathwing911
Ok, great, thanks for the information. Its things like this that help refine and make the plugin better so please continue to post and concerns. I'll try to add something in the next update but no promises on when it will be out. I'm a bit busy with schoolwork and exams this week. That said, I'll try to have it stable and out as soon as possible.
@protocos
ok thanks for the info , for the permissions im using bpermissions i actually using each world permission. the thing is even when i remove the xteam permissions from the specific world they still have there names green and cant pvp , has if xteam is enabled in all worlds.
PS thats exacly how i setup the permission except that mine is Bpermissions. i dont think bpermission is capable of doing what you explain,
PSS: maybe you can just add a permission node like xteam.off that if someone has it he will never be affected by xteam. And then ill just add it to the default group in the freeforall world permission.