Need a little help understanding children commands and such

Soooo, yeah…

It’s not that I don’t research the issues I have first before asking for help here like you assume. It’s actually the opposite. I look for a solution to my issue, hoping to find something on the Sponge docs or Java docs or even finding someone else who has had the same issue in the past and had someone help them through it. But, while the Java docs and Sponge docs most definitely have the solution to any Sponge or Java related issue, I can literally read the entire page of documentation to the point of being able to say it word-for-word without looking at it but still be completely clueless on how to take the information shown to me on the documentation website and apply it to my issue. I will say that I have been able to solve my own issues once or twice on what you guys would consider more-simpler problems, though.

Which, 99 times out of 100, stems from a lack of comprehension of Java, or sometimes programming flow in general. Hence our recommendation to learn Java.

Which, as I have stated twice, I learn by doing it and failing, not documentations. Maybe you and 99% of the other programmers here can learn by reading a paragraph or two, but not everyone can learn that way.

All-in-all, I see that this difference in opinions is never going to settle so perhaps I should say that if you don’t like the way that I have to learn Java and the Sponge API, then perhaps you shouldn’t be responding to my calls for help. I do appreciate all the help I get, and all the help everyone here has given me, as I won’t learn anything any other way, but if the way I learn is going to trigger so many people then those people should just not help me.

I thank you for your time.

I am going to state this as plainly as possible. If after this, you still don’t get it, then perhaps you’re right and this difference in opinions won’t change.

First.
Sponge is a high-level, high-intensity Java API. You should at least learn the Java basics before starting learning a complicated Java API. This is not like Skript, where it is a language entirely designed around the Minecraft server. This is an industry-level programming language, and while it’s perfectly acceptable to learn Java in order to learn Sponge, what you are doing is not only effectively putting the cart before the horse here, but blaming a style of learning when we try to tell you this. Until you learn Java, you will forever be at the state which you currently are at, which is

. As a person who was once a complete noob at this myself, please trust me when I say that this is not a permanent condition, but stems mostly from your lack of comprehension of (a) Java and (b) program structure.

Second.
One of the things you must learn to do, when doing programming, is to solve your own problems. Thus, we have Javadocs, and also the higher-level Sponge Docs. Reading and understanding textual documentation is part of being a programmer, and without that skill, you’re never going to get very far. What you have done instead of attempting to develop that skill, however, is to call what you are doing ‘learn by doing’. What you describe, however, is not in fact ‘learn by doing’. What you are describing, is in fact ‘having other people do the learning for you’. Doing is a perfectly acceptable method of learning, but you still have to learn to figure out your own problems.

This is a link to some text. This is another link to different text. These bits of text say exactly the same thing, they were both written by humans, and were both written with a person who does not understand them yet in mind. Yet, given the repeated instruction to read one of them, you kept on saying that you learn by doing until the other one was handed to you, after which you immediately got it. This goal could probably have been achieved by having a bot pretend to be explaining it to you, when in fact it was quoting the documentation verbatim line by line.

Third.
You, a complete noob, come here to ask us for help. We know the information you’re looking for, and we also were once noobs and know what it is like, and how best to overcome this. And when given identical provenly successful advice, by several different people, you proceed to ignore it. This is not a very constructive way of going about things. You take most of the criticism as either a personal attack, or a person not understanding your method of ‘learning by doing’.

Please reflect on this before responding. Hopefully you will see what I am trying to get across.

You have your way of doing things, I have mine. My way works for me, your way works for you. My way doesn’t make sense to you so you tell me that I’m wrong. That’s fine. I’m only doing the plugins I am doing for my server as a ‘one-time’ dive into Java. Once the plugins are done, I’m more than likely done with Java. So, tell me honestly why would I intentionally want to spend months upon months trying to teach myself to do something using a method I can’t learn by for a not-so-permanent hobby?

Because there is no other way to do it. Compare that to asking “I just want to rewire my house here, I don’t want to do it for a living. Why should I learn all this complicated electricity stuff?” Step 1 to making a plugin is learning Java. This is a fact, and you will have to deal with it, else you will find making the plugins incredibly difficult, and you will also irritate everyone here with repeatedly asking questions about basic Java instead of about the Sponge API.

It is not “months upon months”. It could be as short as a week. Perhaps less. But it is a necessary step, and stating that it is difficult does not make it any less necessary.

Well, like I said, if I irritate you, perhaps you and I shouldn’t cross paths. Sponge’s website is big enough for the both of us. Using electrical wiring work as a comparison is kind of escalating things a bit, I would say. Java won’t burn my house down if I do it wrong. But if you want to apply real-life scenarios to this situation, what I’m doing would be the equivalent of getting a commercial driver’s license and going to school to be a commercial freight puller to work as a newspaper carrier driving my own personal vehicle, making the time spent getting the CDL and the time spent in truck driving school completely meaningless when I have no intention of using it for the rest of my life.

That may be so, but you can’t do that without having a drivers license and knowing how to drive in the first place. It’s the difference between learning darts through practice versus throwing randomly and hoping to hit the target, let alone somewhere meaningful.

It’s fine to learn how to put the pieces together as you come across them, but the issue is that you haven’t demonstrated an ability to know how the pieces connect or the willingness to learn so.


Given that this has varied far off-topic, I recommend closing the thread and keep any future threads to a specific topic - it’s both more organized and helps future Spongineers find answers to questions they also have. As this is no longer about the command API, this thread has reached its end.

@ryan96t This thread is getting a bit hectic.

I understand your point of view, but I also understand the frustration of those who are trying to help you, truly they are, even if they seem abrasive.

They don’t want to waste their time helping if it looks like you won’t learn from it, and at the moment to fully correct and teach given the above code block, would need a fairly hefty conversation about each point.

On the flip side, I understand that you may learn differently then just reading the raw Oracle tutorials, and there are other ways to learn programming, but I think you are least need a grasp of the syntax and grammar first.

That said, your current code shows some serious misunderstandings and assumptions.

I would recommend, if you want to continue via the (slow) Try something and ask for help approach, that you do so in much much smaller chunks.

Do you have further questions? Or did you understand everything @dualspiral said?

p.s. What timezone are you, I’m happy to answer questions on discord.

1 Like

Eastern time.

Funny thing, I don’t remember which piece of code that I was last having issues with before the argument started. And scrolling up on my phone is kind of annoying. I think it was the MoveEntityEvent not triggering properly, but I believe it was Simon who provided the solution to the error in my code causing the plugin to tell me I was walking on air instead of clay, so all that’s squared away. The code triggering when I was simply moving my mouse was a problem, but I bypassed that problem without having to really fix it by fixing the RNG that determines is the code runs or not, so at the moment I have no real issues. Later on, when I get home from work, I’ll be trying to tackle the task of making the three commands that I’ll need for the one plugin (this post has pieces from two different plugins) which I may…well, most likely, need a hand with.

A very kind and patient plugin developer by the name of Eufranio has been helping me with most of my issues, but - believe it or not - I feel bad for constantly having to ask him, so if you’re volunteering to help be my ‘teacher’ (for a lack of a better term, don’t want it to seem like I’m pinning the responsibility of me learning Java to anyone else, so let’s just use the term ‘explainer’ instead), then I gladly accept.

It’s 1:27pm for me right now, to give you a better representation of my timezone.

I’m in Australian Central time, so sounds like it could conflict pretty often, but feel free to jump in if you ever see me on.

so if you’re volunteering to help be my ‘teacher’ (for a lack of a better term, don’t want it to seem like I’m pinning the responsibility of me learning Java to anyone else, so let’s just use the term ‘explainer’ instead), then I gladly accept.

I’ll be honest, I tend to over-commit my time to everything ever, but if you ever have a question I can answer or explain, I’m happy to make the time to assist. If I have the time, I’m happy to pair program with people for small sections of time to explain stuff in person. and I’ve done it for others as well.

I would be willing to help as well. I am not familiar with the Sponge API, but I do know Java quite well and may be able to help out on that aspect of things.