Server Core - The new Server Manager

Are you a server owner? if you are then youve probably wanted a specific event or just a msg or a event Well coming soon Will Be ServerCore Server core like most plugins will have a Config file to disable and enable features and a broad number of features with enable/disable and some with Input messages If you are intrusted in this plugin Please Give me ideas in the comments!

.

New Website!!!

.

ServerCore

Plugin is going to have many commands handled in chat (i like chat commands more)

Release of stable versions will be labled: (Tested: Stable) in changlog

I am planning to have ServerCore running by The release of sponge maybe a bit later
(Current builds and release Dates)

Servercore Most recent changlogs or downloads
The “Im back Baby!” Update
Servercore-Compiled Build 2.1
API Running: Yes
Structure: Yes
Working?: Yes
dev/beta/release/alpha: Release
Downloads: On the website
Source Code on Website
Changlog:
ChatBot: Finished
Commands: Handled under chat
Events - Done
Stable: Yes
waiting on sponge

CHANGELOG:
Too many To list Goto the website

2 Likes

You should PR those events into the API so everyone can make use of them

4 Likes

What the hell? What’s the point of it being open source then? You are limiting distribution, and give credit to the library just for using it. You must never have heard of the OSS foundation, no? You should look at what defines open source.

1 Like

This just gave me a headache.

7 Likes

Pls no scream at me, okay, I won’t use your API, I got it…

The reason i dont have source code up is becouse its still being worked on to get to a basic and every one of the files can be built apon as a api but dev would just be optimized for it thats why its my last priority

Tip: Use correct grammar and punctuation to look more professional.

2 Likes

update: all is running smoothly version 0.5 will be put into testing soon and if working will be released for building apon

update: Website up and running

Please tell me your code is a joke, seriously Servercore/main at 876081716fb502018c256087aa46a3947d9c8002 · paulcash/Servercore · GitHub

2 Likes

That chatevent :trollface:. Is the best Object orientated code I ever have seen.

Omfg I keep clicking it, just to check if I am not dreaming… . Not that I code good, but still … . Not even main.java. Well at the possitive side, he has a git and its open-source.

These bukkit plugins he included don’t exist or are private onces. And I don’t believe he maded this: Overview - Core Updates - Bukkit Plugins - Projects - Bukkit. Because it includes a .project. For me it is clear he isn’t using any IDE at all…

Enough internet for today. Bye…

1 Like

Starred and forked.

1 Like

Made a pull request.

Updated thanks for pointing out to use else if instead of multiple events im not that good at programming

A few comments on your code / project:

  • Use a proper folder structure, like ‘src/’, ‘resources/’ etc.
  • Use packages for organizing your project.
  • Use a ‘.java’ file extension, so it’s clear to everyone that it’s a java source file.

These thing are the most basic java-related things, make sure you master them before starting a project.

1 Like

There’s still more work to do to become better, first do as suggested by @Exstar.

Have you read the code you have posted? It’s very difficult to read.
The formatting is terrible. Remove those blank lines, use proper indentation and structure your code in a logical order.
If you use eclipse, press Ctrl+Shift -> F to format nicely.
What sort of method name is chatbo4264323532534513551614t2t?!
I will not say any more now, as it is difficult to work out what’s going on.

3 Likes

This makes me so much more willing to use it.

Updated github with the rewrite and note: chatbo4264323532534513551614t2t is just a random name i typed with my keyboard by pressing buttons so i could get more done

Making methods like that, will not help you getting things done. Its better to give them a good name, so you know what they are doing. I see you are making different behaviours for chat. Wouldn’t it be better if you made something like this:

public interface ChatBehaviour{
   void analyse(AsyncPlayerChatEvent event);
}
public class ChatManager{

   private List<ChatBehaviour> chatBehaviours = new ArrayList<ChatBehaviour>();

   public void registerBehaviour(ChatBehaviour behaviour){
      chatBehaviours.add(behaviour);
   }

   @Subscribe
   public void AnalyzeChat(AsyncPlayerChatEvent event){
      for (ChatBehaviour behaviour : chatBehaviours)
         behaviour.analyse(event)
   }
}
   //In your plugin main method
   ChatManager manager = new ChatManager();
   manager.registerBehaviour(new ChatBehaviour(){
      public void analyse(AsyncPlayerChatEvent event){
         if (event.getMessage().contains("fuck")){
            event.getPlayer().kick("Don't curse please");
            event.setCancelled(true);
         }
      }
   }); //In java 8 this could be done more nicely but yea where still on 6...

But hey I am not going to make your plugin :beers:.

1 Like

IMO it seems a bit counter-productive to do that. Not to mention it also reduces the readability of your code, making people less likely to submit a PR ;).

Judging by what’s in your repository, it would also be a good idea to brush up on your Java skills while the Sponge API is still under development. That way you’re ready for when we have something more complete to work with. If you’re not into books, there’s plenty of documentation out on the internet for you to read :).

2 Likes