Cuberite Forum
Tasks that are Easy Enough for newcoming programmers - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Development (https://forum.cuberite.org/forum-13.html)
+--- Thread: Tasks that are Easy Enough for newcoming programmers (/thread-503.html)

Pages: 1 2 3 4 5 6


RE: Tasks that are Easy Enough for newcoming programmers - xoft - 12-30-2013

The enderchests aren't fully implemented yet. They behave like normal chests, and I think their contents are even lost when the chunk unloads.


RE: Tasks that are Easy Enough for newcoming programmers - tonibm19 - 12-30-2013

The only thing you mentioned that it's not implemented are enderchest, they are like a regular chest (if I understood well)


RE: Tasks that are Easy Enough for newcoming programmers - SamJBarney - 12-30-2013

Shouldn't enderchest contents be associated with the player object? That way you just have to grab it from the player when they click on the chest.


RE: Tasks that are Easy Enough for newcoming programmers - xoft - 12-30-2013

Exactly - we need a per-player storage for the enderchest contents. Also, the cEnderchestBlockEntity must not inherit from cBlockEntityWithItems - the entity doesn't store any items. It should inherit directly from cBlockEntity


RE: Tasks that are Easy Enough for newcoming programmers - Narroo - 02-11-2014

I have a suggestion!

One of the potential problems that a new coder might have not that they might not be able to code well (although, they're new, so they're not going to be good~) but that the only thing they can do IS code.

For example: I have about the equivalent of a year of formal C++ under my belt. I took a semester of C++ in college (introductory programming), then I filled in the rest by doing a book (The Strustroups's Programming Principles and Practices in C++, for the curious.)
This is a problem because that only focuses on basic programming in the IDE. Using pointers, objects, and etc. Before last week, I never even heard of Git Bash. I don't know how to properly use any of the tools or the normal convention of "real" programming. Fixing a typo was a monumental task because I couldn't figure out how find the text in question. (And the current version of Git Bash is glitched.)

So, why am I saying this? Well, I think it wouldn't hurt to have some beginner tasks that focus more on getting a handle for actually helping a source code project. Fixing a typo was great for me because it involved no programming at all, so I could focus on getting a better grasp of how to use Git. Typos would probably be a great starter fix if possible.

Also, a bit better documentation wouldn't hurt. There aren't any datamembers listed on the API site and it would probably be helpful to list those on the site. (Unless that's not normal convention? VS Lists a classes datamembers afterall.)


RE: Tasks that are Easy Enough for newcoming programmers - xoft - 02-11-2014

I'll just comment on the last mentioned issue - the data member on the API site. Note that the API site lists the Lua API, which is very, very different from the C++ code. Most of the Lua API is based on function calls, there are only very little "member variables". The Lua API dump is actually very complete in this matter - everything available in the API is there. As you can see at the bottom of the index page, the actual documentation of those items is somewhat lacking, but at least all of them are listed.

You have inspired me to an idea: for those starting with MCS development, either C++ or Lua, it would be quite helpful to have an article written about the basics of the minecraft world - what it comprises of, what are the individual elements called, how they are handled etc. I'd expect an explanation of what's a world, what's a chunk, why loading / unloading chunks, entity vs blockentity, itemhandlers and blockhandlers etc. Such an article could then be added to the API docs (although it is not strictly API), same as the WritingAMCServerPlugin or SettingUpDecoda articles.

If anyone would like to do those, the key location for you is $/src/MCServer/Plugins/APIDump, there are HTML files there which contain the articles, so you can just start a new one there. Anything in the Static subfolder will be copied over, so put images etc. there. And finally add the article metadata to the bottom of the APIDesc.lua file (again, the three articles already present should guide you).