Plugin category: Role Playing Suggested name: Faction Wars What I want: Firstly, you would install the plugin, then either type /fw setworld [WorldName]. Or you would set the world in the config, eg FactionWarWorld: ExampleWorld. You would be able to set more than one world as a Faction War world, and once you've set it as a world, a new file would be created with the settings for that world. In that config file for that world, you could set how you want people to join a faction. There would be 3 options in the first version of the plugin, unless someone else thinks of any: A simple GUI that would have an item to click (Stone by default, can be changed) for which faction you want to join. Underneath that would be a book (By default, can be changed) That when you click, it would close the GUI and either use messages in chat or titles or another form if you or someone else can think of one. The message would be set in the config to give a description of the faction. You would be able to use colour codes and you should also be able to set a delay between each messages (preferably in seconds) If you tried to close the GUI it would reopen as soon as possible, you wouldn’t be able to move if you did close it and you would be given a blindness effect. A clickable sign that you could customize the layout of. By default it would be “[FactionWars]” on the top line, “JoinFaction” on the 2nd line, and then the name of the faction eg “TestFaction” on the 3rd line. The 4th line could be empty or you could put something there if you want. For the description there would be a sign that has “[FactionWars]” on the top line, “Description” on the 2nd line and the name of the faction on the 3rd eg “TestFaction” If this is the method selected you would be able to move around, but you wouldn’t be able to break blocks or interact with items in your inventory, but if you had a book or something you could open it, just not drop it or move it around your inventory. The third way would hook into the plugin Citizens (Or this plugin could have it’s own way of making mobs/players that act the same way as the ones in Citizens), so that you can click an NPC and it would give you the description of the faction, then the last line would say “Would you like to join TestFaction?” And you could click on the factions name and it would make you join that faction. With this mode you would also be able to move around like with the sign way. In the config you could change the clickable message for joining the faction, and to set the message of the faction you would either do a command to set it, or use the config. And you can have as many messages as possible in Bukkit/Spigot. This is where things start to become more complicated. Firstly, once you pick a faction, a scoreboard would appear on the side of your screen, the top line (That usually says like pigs killed or something in vanilla) would say the name of your faction, in the config you can customize it so it could be blue, bold and italic etc. Then every line after (I think limit is 15 so if so, 15 is the max amount you can own) would have the name of the village set. (There might be a character limit for this, I don’t know) For example it would say “Fishing A” so the fishing village is owned by faction A. Then “Mining B” So faction B owns the mining village etc. Again, via the config or commands you can set what colour and style the name is. A or B would be the first letter of each faction, so for the world I’m making there’s Nexus, Meridian, and Sanmuj. So “Fishing N”, “Mining M” and “Weaponry S”. Each Faction Wars world would have a set amount of “villages”. The default amount would be 7, but it can vary depending on scoreboard limits. Minimum of 3 I’d say, or at least recommended minimum is 3. The way you would create these villages would be via the WorldEdit wand (Or this plugin could have its own wand thing) So you would select the 2 corners of the village area, then type /fw createvillage [VillageName]. So that was “Village1” for example, so on the scoreboard that would be at the top as it was first created. If you wanted to delete a village you would type /fw deletevillage [VillageName] Then you can stand where you want a specific faction to spawn when the battle begins, so you would type /fw setvillagespawn [VillageName] [FactionName]. If you wanted to make a special kind of entering the battle, for example you drop from a ship. You would build the ship up in the sky, then select it with the wand and type something like /fw specialvillagespawn [VillageName] and then anything in that selected region would disappear, but when the battle starts, it would appear and say one faction would spawn inside it then they drop in, so you’d set the spawn points where they would spawn inside it, or it can just be there for effect. The way you would attack a village, would be if the leader of faction A wanted to own the Fishing village owner by faction B, they would type/fw attackvillage [VillageName] then the leader of faction B would get a message saying “I want to attack the [VillageName] village! Do you accept the battle? Or let me claim it as my own!” Obviously you could change that and that’s just an example, doesn’t have to be the default message. Then faction B’s leader would type /fw battle accept or /fw battle decline. If they decline it, the other faction automatically gains control of it. However, if they accept a message would be broadcast to the entire world saying “5 Minutes, until faction A battles faction B for the Fishing village!” So any other factions would know what’s going on. After the set timer each faction would spawn at the village in the set way (stated in the paragraph above) then, the battle would begin. The way you would win the battle would be the leader being killed. Then after that everyone would be teleported back to their faction and a message would be broadcasted to the world saying something like “Faction A won the fight against Faction B, and they now own the fishing village!” Changeable in config. If one faction owns all, or a certain percentage this can be changed in the config, of the villages, they can type /fw attackfaction [FactionName] then the same way with a village the message would be broadcasted to the world about Faction A attacking Faction B’s city. However, this time they are not given an option whether or not to accept the battle as unlike with the village they would stay at their city and not go to the village, this time they have nowhere to hide. It would work the same way as a village except, you can have special factors like a defence tower you have to take down before you can gain access to the city. These would have to be made accessible from the outside and you’d have to kill all the people in there and stand in there for a set amount of seconds, 15 by default, then they cannot claim them back. Once they are all claimed by the opposing faction then they would gain access to the main city, for example making a wall crash down or the main gate opening. (Next paragraph will explain these.) However, you don’t have to have these tower things, you can just have them teleport directly into the city. Command to set spawn point for each faction would be /fw setattackcityspawn [FactionName] I don’t think there’d be special entrances for this but if you want I think you can guess what the commands and setup would be like. Again, the way you win the battle would be killing the leader. If the attacked faction loses, they wouldn’t be able to attack villages for a set amount of time, and if you want you can build a destroyed version of the city which would be replaced with the normal city for effect. You’d build this somewhere else, or on a separate world, then select it and type /fw setdestroyedfaction [FactionName] then you’d go to where the spawn point of the faction would normally be and type /fw setdestroyedfactionspawn [FactionName] and then that’s how the plugin would know where to paste it by lining up the two spawn points, either you’d have to make a fixed version of the city or the plugin would store it in memory, if you have to make fixed version it’s be /fw setfixedfaction [FactionName] and /fw setfixedfactionspawn [FactionName] /fw setdefensetower [TowerName] [FactionName] would be used to select the area where the defense towers are. In case they aren’t a cuboid, you can do /fw mergedefensetower [DefenseTowerName1] [DefenseTowerName2] [FactionName] then you’d just have to be inside the region for it to start countdown for taking it over. The way you create a city would be basically the same way as a village except replacing commands with city instead of village. So /fw createcity [FactionName]. Then you’d set the spawns for your players to spawn at. No special entrances though. You’d have to empty your inventory to do this but you put all the items in your inventory that you want your player to be given upon joining your faction. This includes books, maps, enchanted items, potion effects etc. You’d do this by typing /fw setcityitems [FactionName] then it would clone your inventory and set that as the items for the player. Also, the plugin would wipe any prefix you have from a rank, like in PermissionsEx, and it would replace it with whatever faction you are in. You’d change this in the config and it would support colour codes. If a player from Faction A managed to get into Faction B’s city, then a message would be broadcasted to all the members of Faction B saying “[PlayerName] has entered your factions city! Get them!” By default, but you’ll change it in the config. To keep people not getting bored if village battles etc don’t occur, every so often, your city would be attacked by mobs, lots of mobs. Like a stampede or something. You’d type /fw setmobspawn [MobSpawnName][FactionName] then you can type /fw editmobspawn [MobSpawnName] [FactionName] to edit what mob would spawn there and what armour etc, this would be done by either a GUI with clickable options or clickable things in chat, or the config. I don’t know if you’ve ever played on the server Wynncraft, but they have ender chests as banks where you can store items. I’d like a similar thing for this plugin. By default you’d have 27 item slots like a regular ender chest, but by levelling up (Next paragraph explains) you would unlock more slots. You’d select the chest with the wand and type /fw setbankchest [ChestName] [FactionName] Another way of doing this could be with npc’s, either from Citizens or this own plugins thing. Here you’d right click the mob to open that GUI, you’d spawn them with /fw createbanker [BankerName] [MobType] [FactionName] Lastly, (I think) is the levelling up system. By default everyone would be level 1, and as you level up your bank size increases and you can unlock more items. You would level up by killing more enemies in battles, or in the stampede things. You can check your progress with /fw progress to see your level and how much XP you have and how much more to level up, what rank you are now, and what you will be when you level up. /fw editdefualtrank [FactionName] would open a GUI for you to edit the default ranks name, etc. The items you get from it would be the items given when joining the faction. Then every other rank would have to be player created. So /fw createrank [RankName] [FactionName] then /fw editrank [RankName] [FactionName] to edit it in the GUI, then for specific items you would type /fw setrankitems [RankName] [FactionName] In the GUI to edit them you’d be able to change amount of XP to level up, bank size etc. I think that’s everything for now. If there’s anything you don’t understand, please ask and I’ll try my best to help you understand! Ideas for commands: I’ve stated all the commands I could think of at the time, I did miss some such as reloading the configs with /fw reload. And ones for deleting things like villages, cities, towers and banks etc wich would just be /fw deletevillage [VillageName] etc. The “fw” would only be if the plugin was called Faction Wars, if it were called say City Battles it would be /cb. Ideas for permissions: The permissions would be just fw.permissionnodehere. The “permissionnodehere” would be every other part for every single command pretty much. Like fw.createvillage or fw.createcity etc. When I'd like it by: I can’t code. I don’t know anything about how it works besides the fact it uses Java. (I think anyway) I’d love if someone could create this plugin by at least July 2016. I know this would take a VERY long time and I’d like for someone to only make this when they want to. I don’t want to force you too. Any time sooner would be great obviously, but I’d prefer a delayed release date with a better quality plugin that one next week that’s full of bugs and runs horribly. Thank you so much if you can make this, I’ll never be able to thank you enough. Bump EDIT by Moderator: merged posts, please use the edit button instead of double posting.