CaptureThePortal
Allow your players to fight over control of almost any portal!
Important Notice
I no longer have the time to continue supporting this plugin.
The source is freely available on github so feel free to continue developing the project.
It's been fun working on this project and it tought me quite a few things. Thank you for your patience and understanding if you're still using this plugin.
Features
- Allows admins to limit access to Nether Portals.
- Capture and cooldown time are specifiable in the yml file.
- Messages are displayed when the portal is almost available or being captured, also configurable in the yml file.
- Teams are adjustable by using Permissions, Factions, Clans (SimpleClans), Towns (Towny) and Gods (Gods plugin)
- Every supported plugin has it's own setting in the config and only 1 at a time can be enabled so "enabletownysupport" OR "enablesimpleclanssupport", etc.
- Besides Nether Portals, it also supports Ender portals, Wormholes and Stargates
- All messages are configurable through the config.yml
- As an OP you can reload CTP by running: /capturetheportal reload
- Captures are registered so, when the server reboots, groups won't have to recapture the portal (set "persistcapture" to false to disable that)
- Full Clan names can be enabled by setting "fullgroupnames" to true in the config. That way it will use the Clan's full name in stead of the short tag.
- Vault is supported and mandatory when running CTP with "permissionssupport" to true
How it Works
First, as an admin, you build a white wool 5x5 platform and place a stone pressure plate in the middle. You then create a Nether Portal* on top of the platform next to the pressure plate.
Then as a player with team permissions, or as a member of a Faction, you stand on the pressure plate to Capture the Portal for your team/Faction. The wool will change to the capturing team's color and all members of the enemy team/Faction will be kicked out of the Nether and sent to spawn!
This plugin also supports Wormhole X-Treme portals, End Portals, Stargates (from the Stargate plugin), Multiverse Portals and Creative Gates. Simply place a wool block next to the dialer (for Wormhole X-Treme), Endportal frame, Stargate, MV Portal or Creative Gate and put a stone plate on top.
Permission Nodes
If you have Permission support enabled the following nodes can be used:
Quote:
- CaptureThePortal.COLOR (Replace "COLOR" with any wool colors [red, blue, gold, light purple, yellow, green, dark gray, gray, dark purple, dark blue, dark green, black] to assign players to a team)
- CaptureThePortal.neutral (for neutral players and admins)
When you use another group plugin, permission nodes are not relevant.
Config Options
For an explanation of the various config options in the config.yml, please see this page.
Credit
My thanks goes out to Devinish for making this page easy to read and look cool.
Like this plugin? Consider donating :)
Any amount is more than welcome and allows me to stay caffeinated.
@DanielYRH
If all players belonging to the group/clan get money while holding the portal, it might get out of hand :) Or at least I imagine it could. It would be possible nonetheless.
@opti3000
Wouldn't be a whole lot of work. But it would require Vault though :) As I do not intend on writing support for every single economy plugin ;)
What about the group/clan getting money while they hold the portal? Kinda like combining timeismoney with this haha :P
@wargamer2010
Yes yes! Like that! Is that possible? Would that be too much work to realise?
Because i think that would motivate players to capture points and increase the replayability.
@opti3000
Like after the cooldown is over? That could be done.
Hi man you did a great job this plugin is awesome But i got a question.
Is it possible to add a reward system?
For example the group or clan who captured the portal gets after a specific time a amount of money? THAT would be also fkin epic!
@wargamer2010
Alrighty, thank you VERY much!!! Love this plugin! It will be one of the core elements of our server after this next update :D
@DanielYRH
It is coming, I've just had very little time to get it done :( Will try to get it done this weekend.
Hey, sorry to bother you about this... but any nations fix coming? :)
@wargamer2010
Alrighty, turns out its the nations. If you turn on towny and nations it fails (gets the error i posted). With only towns enabled, it works fine.
@DanielYRH
Probably means that the player doesn't belong to a town and "UseNations" is set to "true".
Could you make sure the player belongs to a town? If he does, I'll have to do some more research.
And I will fix that error when I get a minute.
Hi wargamer,
Did not entirely understand how the towny support worked, thanks for explaining it. No need for custom colors, what is there is great :D
Heres the error i get after enabling it with towny, and when someone steps on the plate:
08.01 16:42:33 [Server] INFO [Order|Gotham_City] Member Batgirl Urpledell: Jackso isn't a real person?
08.01 16:42:32 [Server] INFO ... 19 more
08.01 16:42:32 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
08.01 16:42:32 [Server] INFO at java.lang.reflect.Method.invoke(Unknown Source)
08.01 16:42:32 [Server] INFO at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
08.01 16:42:32 [Server] INFO at sun.reflect.GeneratedMethodAccessor337.invoke(Unknown Source)
08.01 16:42:32 [Server] INFO at org.wargamer2010.capturetheportal.listeners.CaptureThePortalListener.onPlayerInteract(CaptureThePortalListener.java:42)
08.01 16:42:32 [Server] INFO at org.wargamer2010.capturetheportal.CaptureThePortal.capturePortal(CaptureThePortal.java:352)
08.01 16:42:32 [Server] INFO at org.wargamer2010.capturetheportal.CaptureThePortal.validCapture(CaptureThePortal.java:333)
08.01 16:42:32 [Server] INFO at org.wargamer2010.capturetheportal.CaptureThePortal.getTeamOfPlayer(CaptureThePortal.java:305)
08.01 16:42:32 [Server] INFO at org.wargamer2010.capturetheportal.hooks.TownyHook.getGroupByPlayer(TownyHook.java:68)
08.01 16:42:32 [Server] INFO Caused by: java.lang.NullPointerException
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.Packet10Flying.handle(SourceFile:136)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:381)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.Entity.move(Entity.java:696)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.Entity.D(Entity.java:744)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.BlockPressurePlate.a(BlockPressurePlate.java:74)
08.01 16:42:32 [Server] INFO at net.minecraft.server.v1_4_6.BlockPressurePlate.l(BlockPressurePlate.java:121)
08.01 16:42:32 [Server] INFO at org.bukkit.craftbukkit.v1_4_6.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:178)
08.01 16:42:32 [Server] INFO at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
08.01 16:42:32 [Server] INFO at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
08.01 16:42:32 [Server] INFO at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
08.01 16:42:32 [Server] INFO at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
08.01 16:42:32 [Server] INFO org.bukkit.event.EventException
08.01 16:42:32 [Server] SEVERE Could not pass event PlayerInteractEvent to CaptureThePortal v2.1.0
@DanielYRH
It should have full support for Towny. If that's not the case then please post any errors logs or ways I can reproduce the problem. And by full support I mean that it will recognize the plugin, the town the player belongs to and it will thus announce and store the town name as the group that captured the portal.
The colors aren't random, it's red when captured and white when it's available (not captured). If you'd like to be able to assign a color for every town then I'd be happy to implement that. But please do create a ticket with a description of how you'd like to configure it (town name -> color?, default color?).
Not working with towny for anyone else? Or am i entirely missing how to set it up? Where do you specify town colors, or are they random?
@talbarashi2
Other than "/ctp reload" and "/capturetheportal reload" there are no commands for CTP.
@CeramicTitan
This source: https://github.com/wargamer/CaptureThePortal ?
Do you have a source available?
@Mimir_331
Sorry for taking so long but I've been really busy working on SignShop and other rl stuff. I've implemented your idea in the form of a sign so you can attach a sign with the custom cooldown to the wool block. For an example check out this screenshot. It's included with version 2.1.0 which is currently waiting for approval.
With that version it will also be possible to use shorter time notations in your config like:
cooldown: 2d
@wargamer2010
What if there was a config folder for every portal you make, separate from the normal config. It would list all the portals and have specific config options. Basically there would be a global config, and a specific one if needed. I'm using Stargate btw.
Idk how to make plugins so if i sound crazy.. then ya. But it would be a nice option to Somehow be able to adjust the settings per portal.
@Mimir_331
Ok, so basically you would like to have the cooldown time to be configurable per portal.
Which Portal plugin will you be using?
And do you have a suggestion for how the cooldown time could be set per portal? I think it could be done by attaching a sign ([cooldown] 20), typing a command (/set cooldown xx) or base it on where the portal is placed, in which specific region (could be a Town from Towny or a Clan territory from SimpleClans). The latter would still have to be configured but that could be put in the config.yml (- AClan: 20)
first I have a question. If I have 4 separate portals going to the same region. If someone claims one portal, then goes to the other 3 from INSIDE the region and claims them, will that stop anybody from entering the region, other than their own group.
Have you thought about setting it up so that you can have Multiple Portals running Different times? Like one portal may stay open for 1 hour, where as another portal would only stay open for 15 min after it was captured.
Also have you thought about allowing Minutes and Hours in the config instead of ONLY using seconds?
I have been looking for a plugin almost EXACTLY like yours but those two things are keeping me from using the plugin. What I need is a plugin that will allow you to have 4 groups. These groups would be battling for territories in a giant grid/web of regions. Once the group captures the region its theirs till the time frame. The more rare resources in the region the shorter the time the portal to it is open.
The reason why I need them to stay open longer is because there has to be enough time for all the people to go through the region looking for resources. My goal is to make it so once the group captures a region it is theirs, and no other group can enter until the time limit is up.