Request: Support SimpleClans for Crews!
I use SimpleClans for Clans, you can rename all your commands, since I use a Pirate server I was able to rename mine to crews! This is an amazing clans/crews system to manage your entire crew without any of that faction crap. Just manages crews. The developer recently picked up development again! http://104.236.246.108:8080/job/SimpleClans/
You can interact with it as a developer! This would be a much better system to use to interact with crews in ships. SimpleClans allows you to set leaders, and custom ranks/roles per person in your crew.
So what we could have at a very basic level, is instead of putting crew members names on signs above a bed in a ship (This hasn't ever worked properly for me) you set the text on signs to something like crewmate1 crewmate2 crewmate3 etc, Then it can dynamically pull the people from the crew in order, or via their role, they could be given the role crewmate or something (Make it configurable) so when the crew is updated or chaged in SimpleClans it works in junction with movecraft! This would also allow for multiple ships, as you could have the roles from simpleclans dictate different roles on ships, at most we have 2, someone piloting the ship and crewmates. So we could use the leaders or someone tagged as role "captain" in the crew as the people that pilot and anyone else in role crewmate would be assigned to a bedsign/bed.
This could then allow for much improvement in ship battles and recoding wars/battles between different crews as its tied to actual crew plugin simpleclans, no need to reinvent the wheel!
This is only touching the surface of the options after its implemented, imagine being able to know what crew sank another crews ship! That would be amazing, I could even make a web-UI to display all the data from a MySQL table that records all the battles! Or you could enter wars using the /crew war system from simpleclans and the war could dictate whos won via fights in ships!
So adding direct support for plugins with Movecraft is something I wanted to move away from, but not without reason. I'm creating the basis for an API, with most likely every accessor method and event you would need to make the idea above come into fruition. Based on your final paragraph, I realized that I should add an event for a craft being sunk (and determining who caused it to sink) so that people can accomplish ideas such as that.
that would be epic, are all the api items the same as they were before? as I have a plugin that hooks into it for hyperdrive and exploding ships etc
Most of the internals were moved around to account for the multi version compatibility and the changes to the map update manager. As long as you didn't directly hook into the map update manager (which I doubt you did) all you should need to do is change some imports
Ah crap! All developers creating API's but never, ever support other plugins! Thats the same reply from the SimpleClans plugin, hes like "I dont want to add direct support for other plugins, but I have an API they can pull from...". hes not actively adding new features and it wouldnt be in his interest at all to add movecraft support, hes a general Clans/Crew plugin, Where are Movecraft has EVERYTHING to benefit from supporting SimpleClans as the main Crew plugin to work with movecraft, I only gave a very very basic overview of how it would work.
Once supported there could open an absolutely incredible amount of fun ideas.
see, the issue with having another plugin as a direct dependency is that if the other plugin stops developing, than your, to put it simply, screwed. The nice thing about having an api is that you can have a bridge plugin between the two api's that you want to interact with. For example, sometime last year I wrote a bridge between dtl-traders and movecraft that allowed filling chests with items purchased from a merchant.
Heres an example for a multitude of ways servers could use this:
- You can have events based on crew battles
- You can have tactical battles that are recorded (Movecraft needs a MySQL table for this data)
- Information is saved and curated over time based on How many people went to battle, who died by who, with what etc, brings an entire new PVP aspect into it all.
- I will make you a sick web UI to display the fight and war data.
- Data is key! once you have this information being recorded you can then use this to trigger events, have wars broken up into fights, then you can have winners of a war.
- Trigger a command to run at the end of each fight or war,this then creates endless possibilities, like giving away land from another plugin.
- It'll replace the siege system. There will be real crews that own and run crew based land, bigger props if you support GriefPrevention. How does the current siege system know whos in the crew? to know who to add to the WG members? If you support a crew system, you just have to set 1 permission, each crew is given their own permision node! That means you set the permission node in WG, and BAM no matter whos added to the crew, or removed its auto updated as its a permission. This also means, if you set it as a custom command, people could use it for other plot systems instantly making it amazing.
- Actually adds battles into ships, it will transform the plugin from just moving ships to people wanting to battle in their crews to get their crew profile up with points, if you can trigger things for fights and wars then itll give more incentive, especially if it triggers things, this means we could even then promote/give them rewards for winning or do something to the loosers.
- Someone will read my idea and implement this into their server that has their own developer if you don't which will piss me off as its my idea.
I mean, you could do all fairy simply with a craftSinkEvent and a listening plugin. I'm most likely going to move siege to its own plugin as it is.
For a points system and detecting who sunk who and so on. There's a method that can be done that would work very well and wouldn't require any dependancies, the navycraft plugin (my current version of it) has a points system based on who sunk who and how big and how much the ship weighed etc... However it uses some groupmanager stuff in it to do ranks but that can be removed and can most likely be applied to normal movecraft. https://github.com/Dabblecraft2DevTeam/NavyCraft
@keough99 Holy moly! First time seeing your NavyCraft! I run PirateCraft, so were all pirate ship based! So many forks of Movecraft, any way we can just combine all these features into one plugin! You could use vault for groups so its not reliant on groupmanager and people could use LuckPerms, definitely worth the switch, I used GM for like 4 years and moved recently. I also noticed you have some really unique features, Buoyancy on ships, Take off speed for planes, Signs that show radar, sonar and radio! What do they do!? You already have part of a crew system aswell. Man sounds like you started on this idea already. Would you contribute to this idea of using simpleclans instead and pushing to say this repo? It would be so cool if all these changes were all combined into one place!
Although I don't code I love the ideas you guys have but I really wish there was a way to use plugins and mods together singe cauldron died. Would anyone be able to tell me if it's hard to, for example, alias a method from something like Sponge to it's Spigot equivalent?
@FrozenBeard the plugin wasn't made by me it was originally made by Maximuspayne the owner of the NBZ server but it no longer exists and they released the source code so when I seen they released it it was in a broken state and wasn't optimized and was buggy so me and my dev fixed it up heavily and I made modifications so it would work along side the original movecraft. I will see what I can do, I will be releasing the jar file of the plugin for testing as the last update I did I haven't tested it yet but it should work, there's a explanation of the plugin on a large issue thread on the repo. For the simple clans stuff I will look into it but may not have it done for a little while
@Pulverizer you simply can't make a spigot plugin work on sponge they are 2 completely different APIs and methods and 2 completely different server softwares in order to make a plugin on sponge is to make a plugin for sponge from the ground up, and last time I checked sponge was still in a infancy stage and I don't think it would be able to handle something like movecraft because there's simply not enough APIs and such yet
@keough99 Idk, I was told that there was at one point a plugin being developed for it but they stopped developing.
@Pulverizer it was called Pore I believe but they abandoned it and updating it would be a pain bc of the fact that it contains a bunch of APIs from spigot and sponge and it would take a while for only 1 person to update it due to the fact that it contains all the bukkit / spigot APIs and a bunch of sponge ones
@keough99 do you think there might be people willing to do it for £££?
@Pulverizer I don't know but it due to the scale of updating it it may cost a lot for developers to update it. I could take a took at it and see the extent of the changes needed but I would imagine it's quite a lot
Copy of #156 text:
Is your feature request related to a problem? Please describe. Instead of having to set each users name on a sign as part of your Crew on a ship, for re-spawns, for attacking land etc, use an existing Crew management plugin, I have used SimpleClans for years and its perfect with the amount of features it packs in, its even got an API. https://github.com/marcelo-mason/SimpleClans
Describe the solution you'd like When a user builds a ship, they do /setship which auto sets that as a Crew ship once piloted (like sethome as it will have the manoverboard warp), everyone in the SimpleClans crew thats on the ship will then have a manoverboard area from one Crew Sign that is placed (No longer needing to have one for every single person) and a unified spawn location.
This opens up a metric ton of additional features for later:
- The system to attack land would allow just setting the crew permission to the region to allow the entire crew to use it, even if they wasn't part of the attack.
- Simpleclans has a Alliances & Rivalries system, and a way to start a war (That does nothing at present, but theres an API to make something happen when they go to war) Once in war, this could then record ship battle stats into a database, how many ship vs ship battles, who won the fight, to then build points for each crew to have ship battles as there would be an incentive to get a higher score.
- Once a ships piloted and set as a crew ship, there could be a /shipsnear (like /near) to detect Alli or Rival ships nearby.
- You could put a hologram of the crews name above the ship when it sails to show its piloted by a crew, with their Crew name/Amount of people on deck.
A lot of the features you ask us to integrate with SimpleClans here are those being moved to addons such as Movecraft-Combat (for tracking of sinking, etc.), Movecraft-WorldGuard, Movecraft-Essentials, and Movecraft-Warfare.
The main focus of those addons is to support the playstyle and setup of the Airship Pirates server, and so I don't see us drastically changing those plugins to support SimpleClans instead of WorldGuard/Factions. You could either fork those addons and change their functionality or create a new addon which supports them.
So many forks of Movecraft, any way we can just combine all these features into one plugin! It would be so cool if all these changes were all combined into one place!
These comments are some of the main things driving us to remove external dependencies and unnecessary features from the core Movecraft plugin and instead including them in addons. My hope is that over time we can work together to expand the internal Movecraft api to support every addon anyone wants to have, and therefore we can focus development of the core plugin on two main goals:
- Moving crafts while keeping performance high.
- Supporting the most servers possible by keeping the core plugin feature-lean and supporting addon developers where possible.