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.
-
View User Profile
-
Send Message
Posted Aug 10, 2012[SEVERE] Could not pass event EntityDamageByEntityEvent to xTeam org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:332) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at org.bukkit.craftbukkit.event.CraftEventFactory.callEvent(CraftEventFactory.java:80) at org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:364) at org.bukkit.craftbukkit.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:386) at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:591) at net.minecraft.server.EntityAnimal.damageEntity(SourceFile:124) at net.minecraft.server.EntityWolf.damageEntity(EntityWolf.java:169) at net.minecraft.server.EntityArrow.h_(EntityArrow.java:222) at net.minecraft.server.World.entityJoinedWorld(World.java:1239) at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:498) at net.minecraft.server.World.playerJoinedWorld(World.java:1221) at net.minecraft.server.World.tickEntities(World.java:1119) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:565) at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:212) at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) Caused by: java.lang.NullPointerException at me.protocos.xTeam.TeamPvPEntityListener.onEntityDamage(TeamPvPEntityListener.java:61) at sun.reflect.GeneratedMethodAccessor73.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:330) ... 19 more
-
View User Profile
-
Send Message
Posted Aug 7, 2012@CheeseBallz02
Do you have any other information on it? It looks like it happens when the server is booting up but I could be wrong... Anything that might point me to the bug would help.
-
View User Profile
-
Send Message
Posted Aug 6, 20122012-08-06 23:57:14 [INFO] [xTeam] Enabling xTeam v1.6.3 2012-08-06 23:57:14 [WARNING] [xTeam] "xTeam v1.6.3" has registered a listener for org.bukkit.event.player.PlayerChatEvent on method "public void me.protocos.xTeam.TeamChatListener.onPlayerChat(org.bukkit.event.player.PlayerChatEvent)",$ org.bukkit.plugin.AuthorNagException at org.bukkit.plugin.java.JavaPluginLoader.createRegisteredListeners(JavaPluginLoader.java:302) at org.bukkit.plugin.SimplePluginManager.registerEvents(SimplePluginManager.java:507) at me.protocos.xTeam.xTeam.onEnable(xTeam.java:53) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:357) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:263) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:245) at net.minecraft.server.MinecraftServer.i(MinecraftServer.java:296) at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:275) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:225) at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:140) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:380) at net.minecraft.server.ThreadServerApplication.run(SourceFile:539) 2012-08-06 23:57:14 [INFO] [xTeam] Plugin Enabled. 2012-08-06 23:57:14 [INFO] [xTeam] Config loaded.
This error crashes my server.
-
View User Profile
-
Send Message
Posted Aug 6, 2012@lovemeseriously
@kittsfu
Interesting ideas. I'll try to keep them as a reference. I am looking to incentivize the PvP, but it is one of those features that will inevitable take a while to iron out details, balance, and bugfix. Definitely something that I want to accomplish in a future installment of the plugin. I'll keep updating as much as possible.
@lovemeseriously
Yeah, I went home to see family for the weekend and I've been a bit busy with work lately. Sorry I haven't added a new update yet, I know people are waiting. I'll try to have something soon...
-
View User Profile
-
Send Message
Posted Aug 5, 2012ummm when is the next update coming up? people on my servers really want this so they can make teams and such :( [the option for no permissions]
-
View User Profile
-
Send Message
Posted Aug 5, 2012One thing i would love, would be that if you made it:
Player1 is standing outside Player2's castle. Player1 types /siege on Player2.
Player1 destroys alot of the Player2's castle and buildings inside. And finally manage to get to and kill Player2.
Player2's castle and houses are now in ruin. Since it was allowed in config that every block was destructable.
Player2 could thus enjoy an 100% siege where all blocks were destructable. And all his redstone traps - such as lava traps etc are fully restored. His castle walls are ready for siege anew! And Player1 could use the TNT cannons to his pleasure, without thinking that some blocks were protected - or careful at what he shot it at. And could destroy all destructable blocks.
-
View User Profile
-
Send Message
Posted Aug 3, 2012hmmmm.....i guess the "wipeout" of their base could be achieved in a way where its more simple. a team has to create a beacon or a small construction and write their team's name on it to make it the hq and to teleport there. by making the beacon being made out of some ore blocks, that right there is a motivation for people to destroy other people's headquarters so they can harvest the blocks and gain iron blocks or such. the only flaw in that is that the teams are not required to make headquarters as of now so that might end up with a whole bunch of nomadic teams, but it might be good in a way since people will always be moving and that means that there might be a higher chance of people meeting eachother. If this doesn't satisfy you, i can try to think up of another way :D
-
View User Profile
-
Send Message
Posted Aug 2, 2012@JonCrisX
I wanted to answer this post by itself since you bulleted your requests nicely.
1. /team [teamname] spychat can be added. I haven't done it yet since I figured that the only people who cared were those with access to the terminal. Look for it in a future update though.
2. "Declaring war" is something I've thought about before but I was thinking of more of an ally/enemy system rather than a simple 'declare war'.
3. Team levels or team ranking is something that has been on the table for a while. The only issue is, what factors into the actual ranking system?
4. Land production is actually the main issue right now with the poll at the top of the page. The way I was actually going to manage how much land actually each team can own would be more of a leasing model. Where teams can claim land, but they have pay to keep the land. The more land you own, the higher your rate since it costs per block...
5. This is actually an interesting decision but is dependent on number 3 as well. If it gets added, it will be much later.
6. Honestly not so sure this fits the model of hardcore PvP. Where it's interesting and sounds like a lot of fun, it also sounds like another plugin entirely. I have a feeling that more people would not want this than would.
7. This idea is really most in line with what I wanted to do with land protection. With a team bank, the server would charge each team bank at midnight or at a specified time based on the amount of land they own (total number of voxels). Also, kits sound interesting but I'm not sure exactly how the team resources would be managed there.
-
View User Profile
-
Send Message
Posted Aug 2, 2012@lovemeseriously
If 'destroying their HQ' is part of the reward system. What determines if it has been 'destroyed' or 'conquered'? Just something to think about since it might not be impossible, but it would be subjective. Also, I agree with giving incentive to PvP but can't necessarily see the point in punishing players for not attacking other teams. It all depends on the team, so this would also be subjective. Some teams would like to be defensive whereas some would like to raid, pilage, and plunder to their heart's content.
@SkepticCraft
I'll probably add something for team rallying soon. Can't guarantee which update, but should be soon.
@melrose123
As far as I know, the update shouldn't break any of the functionality of the plugin. If it does, then I'll work to fix those issues as soon as possible. I don't think you should have any trouble though.
@Benas223
I'll look into this issue. Probably going to add a regex check to make sure that the team name is specifically alpha-numeric.
-
View User Profile
-
Send Message
Posted Aug 2, 2012@protocos
Using 1.2.5 R5, sometime we get this error (Also, can you disable illegal characters in tag?"
15:12:31 [SEVERE] Could not pass event PlayerChatEvent to xTeam org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:304) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:776) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:754) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:34) at net.minecraft.server.NetworkManager.b(NetworkManager.java:246) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:102) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:82) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:559) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:451) at net.minecraft.server.ThreadServerApplication.run(SourceFile:492) Caused by: java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 7 54321??? ^ at java.util.regex.Pattern.error(Pattern.java:1713) at java.util.regex.Pattern.sequence(Pattern.java:1878) at java.util.regex.Pattern.expr(Pattern.java:1752) at java.util.regex.Pattern.compile(Pattern.java:1460) at java.util.regex.Pattern.<init>(Pattern.java:1133) at java.util.regex.Pattern.compile(Pattern.java:823) at java.lang.String.replaceAll(String.java:2189) at me.protocos.xTeam.TeamChatListener.onPlayerChat(TeamChatListener.java:49) at sun.reflect.GeneratedMethodAccessor242.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:302) ... 12 more
-
View User Profile
-
Send Message
Posted Aug 2, 2012Will this plugin work for 1.3.1 update?
-
View User Profile
-
Send Message
Posted Jul 29, 2012@protocos
Exactly. I thought that might be a good suggestion.
-
View User Profile
-
Send Message
Posted Jul 29, 2012Hmmm. Personally, I really like game theory so maybe wiping out a team will end up with a reward (a decent amount of diamonds) and what is considered as a total wipeout is: destroying their hq, killing their whole team, and so on. This is where the game theory comes in. If your team doesn't attempt to wipe out a team or something of that sort, your team would suffer some kind of consequences or so. (I had a few different mods I was hoping to use along with this to encourage PvP in general so I just came up with this on the spot :D)
-
View User Profile
-
Send Message
Posted Jul 29, 2012I have some ideas for your awsome plugin:
1. Add a permission to allow admins of the server be able to see team chat, like spy on essentials. /team [Name] spychat
2. A way to declare war to other teams. /team war [name] other team /team accwar, and then get teleported to an arena where they have to fight, the winner team gets a prize money or items. I say an arena because if not, other teams can get involved.
3. Based on team wars let the teams lvl up or something like that.
4. The ability to protect hq but size limited by lvl of the team. Lvl 1 team = hq 16x16
5. Also Amount of players that can be on a team limited by lvl, Lvl 1 team = 4 members
6. A little bit crazy but a good idea, Lvl up of team grants them abilities like, Lvl 2 use of ability speed +1 grants command /team spd1 , cooldown of abilities in config file. Lvl 3 abilty str+1 grants command /team str1 and so on.
7. Team economy, A bank for the team = /team deposit 600 and it gets added to the bank of the team, with the money on the bank Team leaders can use /team buy [kit] add kits on config file and costs. And when a kit is bought all the team gets that kit.
I have alot of ideas but im to dumb to do a plugin myself thats why i like to give my ideas to someone that knows how to make them happen xD.
-
View User Profile
-
Send Message
Posted Jul 28, 2012@lovemeseriously
This is actually something I've been pondering for some time. Just don't know of any good ways to do it. Suggestions?
@SkepticCraft
Hmm, so something like a rallying position? The only thing to worry about is how to moderate it to not be overused. Maybe also just allow team admins and leader to use the command?
-
View User Profile
-
Send Message
Posted Jul 28, 2012@protocos
I know about that. I suggest /team setoutpost, it would set a warp much like the HQ. I prefer not to use /team sethq because I don't want to lose it.
-
View User Profile
-
Send Message
Posted Jul 28, 2012thank you :D and another thing. Is there anything you can do with the plugin to encourage (or force) fights between teams?
-
View User Profile
-
Send Message
Posted Jul 28, 2012@lovemeseriously
Right, I had another user mention this as well. I'm hoping to have something for servers without permissions by the next update.
@Seniorgamer
Well you see, '/t' seems to be a fairly common command for a lot of plugins out there. Alternatively to '/team', you can use '/xteam' or '/xt'. Hope that helps.
-
View User Profile
-
Send Message
Posted Jul 27, 2012Is it Possible that i can change the command do like /t So it would be /t sethq /t hq
-
View User Profile
-
Send Message
Posted Jul 27, 2012umm.. I feel kinda silly for posting this, but my server, for some reason, doesn work with permissions.... T.T Is there any way where you can make it so I can allow the first time players are able to make teams without using permissions? If you are busy or something, its fine.