• Proceed with caution! Unofficial add-on plugins and abilities are not supported by the ProjectKorra staff. We will not provide support for broken add-ons. Download at your own risk.
  • Hello Guest! Did you know that ProjectKorra has an official Discord server? A lot of discussion about the official server, development process, and community discussion happens over there. Feel free to join now by clicking the link below.

    Join the Discord Server

Coding custom abilities (T_T)

Can anybody help me with coding custom abilities?
I mean I need a tutorial to understand how to code :confused:
Also, I am clearly new at coding abilities and I dont understand anything in that :rolleyes:

And please, write only if you have any tutorials!
 

Jackson

Staff member
Digital Team
Moderator
The way you learn how to program abilities is not by just following a tutorial. You have to know what the language you're programming tutorial is in and how to actually program or the tutorial doesn't make sense so you won't be able to apply it to creating your own ability or plugin. That being said I recommend using http://codecademy.com or http://code.org and then trying to follow a tutorial that someone else might post. Remember that the programming language of Minecraft is in Java so plugins and mods are also in Java. You should also probably learn how to create a plugin before you try using an API. I learned to create a plugin (after I learned Java) from TheSourceCode on YouTube.
@TheBendingCat_
 
The way you learn how to program abilities is not by just following a tutorial. You have to know what the language you're programming tutorial is in and how to actually program or the tutorial doesn't make sense so you won't be able to apply it to creating your own ability or plugin. That being said I recommend using http://codecademy.com or http://code.org and then trying to follow a tutorial that someone else might post. Remember that the programming language of Minecraft is in Java so plugins and mods are also in Java. You should also probably learn how to create a plugin before you try using an API. I learned to create a plugin (after I learned Java) from TheSourceCode on YouTube.
@TheBendingCat_
Ok, thanks for helping anyway! :)
 
Ok, thanks for helping anyway! :)
Trust him. He knows what his saying. You can't run a marathon without learning baby steps to walk. If you do know how to program and are very familiar with the spigot api, all it takes is just to ask around developers of the plugin that would help you out.
 

xNuminousx

Member
Or if you're stubborn you can do what I did and skip all the nonsense ¯\_(ツ)_/¯ I got bored with spigot and java quickly and kinda jumped into projectkorra quickly. Although, that's probably why it took me so long to understand somethings. But I wasn't looking to become a diverse programmer. All I wanted to do was create bending things. But it also considers the type of content you're wanting to create. For example, when I got to a point where making abilities was easy I then jumped into Spirits. That project was (and probably still is) a mess for a while because I didn't really know what I was doing.

So I suppose my advice for you is find out what exactly you're wanting to do with code. If you're wanting to do what other people do and use ProjectKorra as a stepping stone, then pay attention in depth to what you're learning in the code lessons, spigot lessons, and projectkorra lessons. However, if all you're wanting to do with code is make bending abilities (like me) then the basics of each step is all I learned. Once I learned a little with java I moved to spigot, once I learned a little with spigot I moved to project korra. After that if I needed any help I first googled my problem and if nothing on there helped I asked here. Goodluck!
 
I use learnjavaonline site, and I dont know what better to learn for using ProjectKorra API.
Can you please tell me what to learn from out there?
 

Jackson

Staff member
Digital Team
Moderator
From what I'm seeing, that is a good website to learn java. I can't speak for the validity of its teachings; however, if it's working, it works. When using Java for the ProjectKorra API, you need to know some things about Bukkit/Spigot coding as well (in my opinion).
 

Pride

Member
I use learnjavaonline site, and I dont know what better to learn for using ProjectKorra API.
Can you please tell me what to learn from out there?
i cant say much since im still a pretty novice coder, but:

with Java, it depends. if youre looking to make basic things (which i presume would be what youre mostly going to focus on since youre looking to make bending abilities), then you should look up on Java basics (there are a bunch of sites online with guides and many youtube videos)
i.e. how to effectively use operators, what primitive data types are, what methods are, what instances are, etc.

with Spigot, you should learn about obtaining and getting locations, directional vectors, sending packets, registering events, and all in general, how to use their interface

but with ProjectKorra's API, it makes coding stuff much easier as they have their own methods within their library that allows you to do most of what you want in their GeneralMethods.
essentially, you utilize your knowledge about Java along with Spigot and input that onto ProjectKorra
the API makes doing things a lot easier, so you should be able to work your way around it once you get comfortable with coding

* doing what i said is from my own personal experience. you might want to take a computer science class if you want to pursue something more than projectkorra, as im taking a course in school currently *
 
Last edited:

xNuminousx

Member
^^^ agreed.

Also, if it's any help, I have a piece of advice that I wish someone had told me when I started coding.

Java (and probably many other coding languages) is very literal. What always helped me code is saying what I want to happen in my head, turn it to very basic, literal speech, and applying that to code.

For example, if we want this:

A FireBlast that shoots fire when it's charged.

Then in Java's "literal language" we would have this:

If a player is shifting with an ability named "FireBlast" and if the ability "FireBlast" is charged then shoot the ability.

Now another thing that comes with Java is learning to identify the "broad terms" or "broad statements" that could have many different applications. For example, when I said "if the ability FireBlast is charged" that could be considered a broad statement. This is because extra code would need to be used to figure out when FireBlast is charged. A "literal" statement we could use to find this in Java's "literal language" is this:

If the current run time of the ability is longer than the charge duration, then the ability "FireBlast" is considered charged.

Also, the same thing could be applied to "then shoot the ability" because extra code and another "literal" statement would be needed to consider that function.

So, as you can see Java and code in general is very literal. This won't help you learn the vocabulary of Java as Pride stated above, but this will help you understand how the language works when you start making abilities. These are just the things that run through my head when I code. Figure out what you want to achieve, make your goal extremely literal. And write out your goal into your IDE. Translate your goal from english into java, because java is a language.

Edit
This also makes Java just like any other language you would learn. For example, when you learn Spanish you not only learn it's vocabulary but you also learn sentence structure.
 
I'm currently writing random things using Skript, and I think I'm starting to understand what Java language is...

For example, if you want to make charge ability, you need to create some variables like system current time and charge time, then you make some conditions for your ability, like if charge time is greater than system current time, then shoot ability, or if charge time is lower than system current time, then charge ability also write code the way you want your ability to work. Am I right?
 

StrangeOne101

Staff member
Plugin Developer
Moderator
I'm currently writing random things using Skript, and I think I'm starting to understand what Java language is...

For example, if you want to make charge ability, you need to create some variables like system current time and charge time, then you make some conditions for your ability, like if charge time is greater than system current time, then shoot ability, or if charge time is lower than system current time, then charge ability also write code the way you want your ability to work. Am I right?
Yep, this is how basic programming logic is. All abilities are just lots of this and using logic to define the behaviour of a new move
 

Kess

Member
XD learntomod is kinda funish to learn tho I just started with it 1 year sub is just 29 bucks
 

Kess

Member
Yep, this is how basic programming logic is. All abilities are just lots of this and using logic to define the behaviour of a new move
This helps alot now that ive been doing dem learntomod and yes I know its a bit childish still works for begginers XD anyways this comment helps as I have been thinking code inside my head like if player does so and so do this XD kinda fun.
 
Top