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.
● Minecraft: #1.2.5
● CraftBukkit Plus Plus RB #198 (CraftBukkit DEV 2151+)
● SpoutPlugin: RB #1110
● SpoutCraft: RB #1412 (DEV #1449)
● Java SE RE 7.3 x64
● 1.5.2
2012-04-29 04:53:46 [SEVERE] Could not pass event EntityDamageByEntityEvent to xTeam
java.lang.ClassCastException: org.bukkit.craftbukkit.entity.CraftGhast cannot be cast to org.bukkit.entity.Player
at me.protocos.xTeam.TeamPvPEntityListener.onEntityDamage(TeamPvPEntityListener.java:37)
at sun.reflect.GeneratedMethodAccessor120.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.SimplePluginManager.callEvent(SimplePluginManager.java:461)
at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:363)
at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:381)
at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:607)
at net.minecraft.server.EntityGhast.damageEntity(EntityGhast.java:36)
at net.minecraft.server.EntityArrow.F_(EntityArrow.java:215)
at net.minecraft.server.World.tickEntity(World.java:1398)
at net.minecraft.server.World.entityJoinedWorld(World.java:1338)
at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:106)
at net.minecraft.server.World.playerJoinedWorld(World.java:1330)
at net.minecraft.server.World.tickEntities(World.java:1199)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:613)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:506)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:492)
@TheSandwichMakr
Thanks for the info, I'm going to be slightly busy for the next couple of days and for that matter the next week+. If you could just bear with me for a little while, I'll look into and if I can duplicate, fix this ASAP.
Bug
I am using my worlds to have multiple worlds with my main world (the one specified in server.properties) is called world and is the PvE world. My PvP world is called pvp. When I set the headquarters it works fine team members can to to the headquarters but after a restart they will be tped to the same cords but in the PvE (main) world. I tried edting the team files by replacing world with pvp but it changed it back.
@jisaacs1207
RIght. This is something I've been considering for a while and like I was saying before, once I feel that the plugins is stable as-is, I'll move on to bigger features in the priority of what other users want (probably going to be a poll). This was one of the bigger features I was referring to, and it would probably be something more along these lines:
mining ores = +1 to team points mining iron = +2 to team points mining diamond = +5 to team points cutting wood = +1 to team points ... etc ... killing non-team player = +10 team points killing another team player = +20 team points dying to another player = -10 team points dying to other causes = -5 team points killing mobs = +2 team points
The "team points" would basically automatically rank the teams based on total number of points. Now, obviously this list is incomplete and this idea would have to be fleshed out, but it is a start. I do kind of like the idea though where the teams get bonuses for getting past certain ranks. So this is definitely not out of the question, and it will probably show up on the poll.
You could have a team points where if someone on a team kills a member of another team they get a point, the killed individual loses a point for their teams. You could then grant permissions based on leveled tiers. I was going to put that in to a plugin of mine but I am going in a different direction.
@meshein
I've been suggested this idea before and while it is simple conceptually, there are a multitude of problems that arise. As soon as I put it in, people would start complaining about how it's not compatible with this or that chat plugin. The problem there being the some of these chat plugins don't offer good APi's for changing prefixes... So while in theory I absolutely I love the idea, implementing this is a whole other matter. If you have any specific suggesting I am definitely willing to listen. I've been trying to think of a good solution to this for a while.
@spy85
Really dude? What are you... Ten years old?
A) If you had scrolled up, you would have seen that most of your initial questions could have been answered had you bothered to take a look instead of acting like a child and posting comments before you read.
B) I probably cannot make the configuration file more self explanatory.. There is even a help section commented at the top for your convenience
C) If you want all of the features of factions, then go download factions...
D) I have absolutely no idea what you are talking about when you say you can you can enable or disable PvP for team members..
E) xTeam is an ongoing project of mine and if you didn't notice (as I'm sure you didn't since you didn't bother to read) this plugin is still in Beta stage which means that features will likely still be added and/or changed.
F) If you would like to do a better job, then you are free to code to your hearts content, granted you have the slightest idea how to program.
G) I would like to see you try to dedicate special time to a project for others to enjoy while trying to complete school-related projects and study for final examinations.
In conclusion, thanks for your feedback, I'll take it under consideration, and ask that you kindly grow up, gtfo, and stop acting like a 10 year old. Thanks.
That would be a great addition. Can you configure the plugin for when you play in a certain world, you have a prefix to your username of your team name or if you are not on a team another name (like Solo or Individual)?
Worst plugin ever doesnt show team tag! tele to hq wont work! And its just confusing! the config isnt good u can enable or disable pvp to work for team members or not!
@meshein
If you are the last person on the team and you use '/team leave' it will remove the team automatically. If you are having problems with players leaving and you're the team leader, you can use '/team remove [player]'. If you are the admin for the server, then you can use '/team set [player] none' to remove them from a team.
How can you remove your team with a command? something like /team disband or so would be VERY helpful!
@spy85
As of 1.5.1 '/team create' should work, and '/team leave' has always worked. Also, I'm still contemplating what other features to add... An Ally/Enemy system is not necessary but I'd still like to know who wants which features. I'll add a poll soon enough for larger additions once I feel the plugin is as stable as it can be. ;)
This doesnt allow allying or to enemy teams. I like it that way cuz ally thing in factions gets in the way of a lot of other plugins like pvp arena. This plugin needs to be more simple though with easy cmds like /team create or /team leave like factions is. but this plugin is great
@Perfk
Dually noted. Thanks for the help. 1.5.2 should have this fixed. If you have any further problems, please let me know. I'd like to have the project as stable as possible before I start adding larger features...
Hmm, pretty big bug.
when players are on the same team, they cant harm eachother in mele battle. but they can with arrows. i think this needs to be fixed.
@protocos
Make a poll !!!! xDDDD
@AssRealm
Well you see, my last day of finals should be May 7th unless I get one of them shifted (I have 3 on the same day), so I expect to be spending a good amount of time after that on fixing everything and adding new features. I'd like to warn you though, implementing something as large as this is going to take some time to make it as bug-free as possible and even then it will likely have a lot of bugs... This is one of the features I know I'm a little more interested in but I'd still like to hear from teh community before I start prioritizing things myself.
@protocos
Definitely waiting for it :)
When will it be out?
Please before June D:
June is when my remake of the server goes live
@Perfk
Interesting, added to the potential bug list. I'll test it out when I have time... Thanks for the tip.
@migsthegod
Yes, that would not be very hard to add. I could probably add it in the next update... we'll see.