Beginner to development


#1

Hi all,

I’m very new to sponge, officially setting up my first sponge server at the moment. I have always used Spigot so this is a whole new world for me. I specifically need sponge due to it being a Modded server that I took over for someone else (just now upgrading from a 1.7.10 Thermos to 1.11.2 Sponge)

I’ve noticed that there aren’t a lot of useful plugins like Spigot has. Mainly things like AutoRank is a big one that I’d like to see but simply can’t find like the one that exists on Spigot.

Thing is, I’ve never made a plugin before. I don’t really know Java either. I took some basic programming courses throughout my life such as in high school and while attending Penn State so I generally get the gist of variables, classes, etc.

I’d like to know where everyone thinks the best spot for me to start learning would be. I did a CASUAL search and found a sponge development video from 2014 reading the comments people say things like Subscribe and Initialize are out dated.

So just curious if there’s anywhere good to start learning from someone that has absolutely minimal coding experience. Again I don’t know a lot but I’m not a COMPLETE beginning. I get syntax, terminology etc.

Prefer video over reading, I’m an Audio/ Visual learner compared to a textual learner.

Thanks guys.


#2

Welcome to the weird world of Sponge! A good starting point is the SpongeDocs.

There are some tutorials thanks to @sibomots, who may have more to offer. There’s also the #spongedev channel on IRC, and Sponge Discord if you need help. Good Luck!


#3

You forgot to link that last one, silly.

Sponge Discord


#4

Yea, I can do whatever it takes to help out. Drop me a line if you don’t see a “tutorial” in video form that walks through what is in the documentation.

The best advice I can give you is, go as far as you can with the documentation. But as you stated, being a visual/audio type person, you will help us help you by illustrating in a few words what you want to do. “I want a basic plugin that can do X”. Specify X. Then we can adapt a video (I would be glad to) that addresses your X and a whole lot of other X’s that are similar.

I’m a software engineer, you’ll get the answers/demonstration from that perspective.

You know where to find me.


#5

Meh. I had a screaming migraine when I posted that. Lucky it’s even coherent. Anyway, the docs contain links to the rest of Sponge’s services.


#6

Haha, thanks guys.

So, there’s two I was looking for that I can’t seem to find, though it does seem a bit confusing to search ORE.

The first one is - https://www.spigotmc.org/resources/autorank.3239/

Now, the new one is a little bit more complicated compared to the old one that I liked. I’d like to develop one based on the old style.

Basically in the “advanced Config” There was the ranking system that moved people to different permissions groups based on that permissions groups requirements.

So let’s say everyone starts out in “default”. In order to to rank up to “member” you need 1 hour of play time, walked 500 blocks, and killed 20 zombies.

After your stats have hit all of those, you will be automatically ranked up to member. It is fair to note that “mobs killed” in the requirement part of the config would be like such:

for one:
mobs killed:
value: 20; zombie

If you wanted to require more types:
mobs killed:
value: 20; zombie
mobs killed 2:
value: 10;spider
mobs killed 3:
value: 1; ghast

and so forth…

So after those requirements (stats) are met, a rank change and commands are run
Rank change: Member
command:
'say &p has been ranked up to member; give &p 10 267"

etc etc.

The next plugin I see that’s lacking that would be nice to develop is an Auction House, I think we’ve all seen those around and it doesn’t really need any explanation. haha.

I’ll continue to look through all the documentation and what not, I think the main thing for me, never having done any coding for minecraft before, is any classes or anything minecraft related that I would need to use in code.

There has to be something I’d have to code in order to check a players stats at a certain interval of time, repeatedly.

I’m also unsure of how stats work on Minecraft these days. Whether or not I’d need a stats plugin that tracks stuff like pvp kills, pvp deaths, etc. I heard stats got an update (in minecraft) after like 1.9 or something so I’m not 100% what all it tracks automatically and what all I’d need to track myself, maybe with a stats plugin (maybe I’d have to develop that myself too?).

Hopefully that’s somewhat clear.
haha
Thanks again everyone.