Improved factions plugin. [Guilds] Public or not?

Thanks. Once the idea is worked out further and we have prototype’d it to make sure the ideas actually work out I’ll ask for feedback on how to handle things the best way etc.
And I’ll most likely make it open source so that people can help improve it.
But as stated before I have a lot other projects running still so it will be multiple weeks before I get started.

Of course. Plus, sponge isn’t even being released yet…

If your curious, some of my ideas from a plugin I never released although it was worked on a lot.

Yeah I understand.
But still I think your idea fits more for a server that isn’t focused on raiding etc as much.
But I have already added it to the idea board and we might be able to use some elements of it.

I believe the idea behind it shouldn’t be raiding focused, fun play, it should be in all essence a plugin that in the end can be either configured out-of-the-box to be a risk based game, cuboid claims, multi-point claims, chunk claims, and much more or simply create the basis and allow for extensions to inject this functionality so that we don’t have guilds plugin, factions plugin, iProtect plugin, chunk me etc etc

I’ll be making it for bukkit and then porting it over to sponge.
I think it’ll take at least a couple months before sponge has most of the functionality bukkit has.
And it’ll be easier making the plugin in sponge when it’s already made in bukkit.
And by making it in bukkit i’ll come across things that could be improved etc and this could be improved in the new sponge version.

And to reply to your other post.
I wanna add a lot possibilities and stuff but there have to be limits of course.
I’m not just gonna dump in hundreds of things because people want specific things.
But yeah it’ll have a lot customization and different options but have to put up limits and not just add everything possible. And people can always make addons for the plugin with the API later on.

In an attempt to prevent bloated code, simply think modularity and even break certain features that you may not think are worth distributing in the primary package as a separate package that can hook into the primary package.

Why not something like an OSGI framework where each command can be added or not depending on the sub-plugin added to the plugin/plugin folder

That’s make the destroy of a faction realy difficult
i’ve seen some plugin making a town , i was thinking (if you are making this public) that you can make everytown have is automated city like shops and stuff that money go directly to the server balance, plus those shop are used by the guild for example they can upgrade base to have a blacksmith,etc…
And about the attaking it should be like there some raid here and here, you need like at least 3 raid to start attaking main base :slight_smile: , that what i was talking about by dynamic, i don’t doubt that your gonna add some cool features ! Good luck on project

You can disable the timer or set it to like 10 minutes if you want easy raiding but I think it’ll be needed.
For example if faction with 5 ppl declares war on you and you’re alone they are gonna own you.
You can’t just leave them on your land because the core will corrupt and open up.
But since you’re alone you can’t do much about it so you’ll have to ask your friends to come online and get allies.
This takes time so because they can’t destroy the core in one go they will have to back off a little and then you can build up defenses and get the people on to help you.
It just makes raiding a little more fair and take a little longer.

I don’t have anything planned for structure generation and stuff like shops etc.
This plugin will be about land control and managing a guild.
If you want shops and stuff you’ll need another plugin.
I’m not just gonna add all cool stuff only things that fit in the plugin.

And there will be an option to set the amount of people needed to declare a war.
But you as defender will also get protection from the shield (take less damage)
This protection is based on the guild power but also on the amount of guild members online.
So if you’re alone defending you’ll get more protection then defending with like 10/10 members.

And yeah lots of awesome things have been planned.
I only described a few of them.

I always felt embarrassed by my plugins code because I am a pretty inexperienced programmer. Though I am actually quite proud of my rewrite after a friend who is a comp sci major said it looked fine. I also looked at some of the source for other plugins and realized hey most people write crap code.

Fear of failure I think is a major problem for people, however I have noticed overall the programming community seems pretty accepting and nice as long as you don’t seem full of your self.

Most plugins are written like crap so is mine and so are most peoples. You are also going to learn if you spend a year programming and then go back to old code and don’t think you could write it better then you are not learning. This is part of the process don’t be afraid of it be proud you can look back and know how to do better.

1 Like

Yeah the same goes for me.
I know nobody makes perfect code and programming is all about learning as you learn new things every day.

I have worked with another dev before and he always said my code was crap :stuck_out_tongue:
So that always kept me of coding for bukkit but since he’s gone I made a bunch of plugins etc.
I just don’t think I can make it as good as most other devs here because of my experience.

But I’ll probably make it open source from the beginning so that people can do prs and suggest things to improve it.
I’m always open to feedback and critic so that won’t be a issue.
Thanks for the nice reply :smile:

I agree, there are quite a few issues with Factions gameplay and it’s backend. I’m in if you want help.

Add a kick-ass powerful API to your plugin, and make it backwards and forward compatible. This way, people wont create variations of your plugin. Instead, they can create add-ons for your plugin.

This is an issue with Factions 1.6, 1.7, and multiple versions of Factions 2.x… Dramatic changes to the API and it’s not backwards compatible.

1 Like

Yeah that would be awesome.
I will be needing help though with doing this properly as I never wrote an API for my plugins.

TBH when you think you may not have the knowledge for a project like this, that’s the best time to start it (granted you do have some knowledge). This project can serve as a stepping stone in your learning. Need feature X? How can I do it? Approach A,B,C- okay well I need to know this for C- learn it and have a place to apply it.

1 Like

Yeah I know, and I’m really excited to get started on this actually.
Especially because I plan to make it open source and ask a lot feedback so I’ll finally get some useful feedback on the code.
But It’s gonna be important having a good base of the plugin for the API and trying to make it more modular.
So I’ll be asking for help about that topic later on most likely after I have planned it all out more and done research about it.
I don’t just wanna ask like “How do you make an API?” lol.
I will first be doing research and then ask specific things to make sure that it’ll be good.
I kinda just want to make it more of a community project as many people need a plugin like this and I think many people have ideas for this and would love to contribute.

@worstboy, APis are easy (if your code is written right in the first place)

Use interfaces in your coding and try to keep layers (ie Services Managers and main code)
Services are defined using interfaces, all the interfaces are your API.

Thats how it works. you package the Interfaces only into a jar and that is your api

1 Like

That sounds really easy when you say it like that haha :stuck_out_tongue:

Well if you code using TDD (as I do at work) its even easier as you are also testing all your code as well.

How about this.

You can only claim one chunk in the beginning as a faction.

There are upgrade options in which you spend points.

To claim another chunk, it costs 1point… And then 2 and then 4 and then 8… Etc.

If you kill someone, you get a point. If you kill someone you are at war with, you get two points.

If you kill the faction with the most points, you get double points.

Catch… If you declare war, you can’t undeclare for 1week… And you lose equal points each time you die as if you would claim them.

This way, the top faction is always at risk because everyone is after them and claiming land is a luxury.

I have worked with coders in the past to make addons for factions. They work very similar to what your proposing. Factions can be a lot of fun if you stop people from hiding. I had a sophisticated “flag” system. In which you placed your challenge flag adjacent to your enemies land and it would begin taking 1 power per minute that it was there. To end the challenge you had to kill the challenger, force him 3 chunks from his flag, or destroy the flag (break one of its blocks). Also to prevent the faction from building an obisidian box around the challenge flag (preventing its breaking) as soon as the flag was placed the chunk was warzoned to prevent editing and the flag generated at the highest available point at random locations in the chunk. So that way the challengers couldnt try to build a box for the flag to spawn in. It was bukkit and didnt need mods the flag was genned like world edits. Also to stop 100 person factions from squashing 3 person factions we put limits on how big the challenging faction could be relative to the defending factions online players. Also to spice things up, if the person who planted the flag was killed themself, their faction lost an immediate 20 power. This was to encourage retaliation. Anyhow I really hope you make this plugin public. I feel you have the right idea!