Mystcraft Found

So I keep getting help questions and bug reports to the blog, and that simply isn’t helping you or me. 😛
I assume the main reason for this is that the Mystcraft forums and the bug tracker are hard to find. Hopefully those links will help. 😉

The Mystcraft dev page is accessible from the sidebar on the right. It’s a little hard to spot, but it is there I assure you.

If you have a problem with something or don’t understand something then head to the forums, check out the wiki, or join us in #mystcraft on espernet (irc). Usually that has a much faster turn around than me on the blog.
If you find a bug or issue then head to the Mantis bug tracker for Mystcraft and check to see if someone else has found it too. If so then add what you can to it. If not then create a new issue. Remember to follow the guidelines! 🙂

A Word on Mystcraft Add-Ons

I just wanted to say something quickly on the subject of Mystcraft add-ons, mostly to save my own skin if things happen but also so people are aware.

  1. I’m not responsible for the add-ons. If you use an add-on, and it breaks stuff, that isn’t my fault.
  2. I’m not responsible for add-on compatibility. If add-ons don’t work well together then speak with the developers of the add-ons. If the add-on reveals bugs in Mystcraft then the add-on developer is the only one that should approach me about this issue, though others may discuss it with the add-on developer.
  3. If you make an add-on, particularly if you add symbols, that does not prevent me from adding the same or highly similar features or symbols to Mystcraft. I have a lot of things planned, and just because someone made an add-on that included one of those features does not mean I can’t or won’t do it.

The Mystcraft API has gotten some very good feedback from the testers thereof. Thank you to Veovis_Muaddib, SillyBits, solid, and heldplayer. 🙂
The biggest feedback is not something they told me directly, but something I noticed. It’s confusing. 😛 I’ll be working at improving the documentation of the API.
SillyBits has also pushed to get a long standing issue in Mystcraft fixed. For a long time the random symbol selection has required certain conventions of the symbols. His symbols particularly don’t like them, so for now he’s trying to make a work around and I’ll be redoing that system a little sooner than I’d planned. 😉

No Bugs Means More Stuff

Yay! No more bugs were found in the Mystcraft release, meaning I get to start working on even more advanced stuff like adding the new instability system and crafting and rewriting and and and. There’s a lot of stuff.

One of the main things I want to do is add the new instability stuff. It is really meant to be a system, not a single mechanic. Decay is really just a from of instability, and there needs to be both lighter and harsher forms of instability. If the world is only a little unstable it shouldn’t necessarily die, just be a little off while it settles out; or maybe it has weird properties like random lightning. 😉 Conversely, if the world is truly unstable -like you added a ridiculous number of Dense Ores symbols- then it should very nearly rip itself apart while you watch.
It is important to realize that instability is meant as both a balancing mechanic and an interesting mechanic. Equally important, instability does not come from strange or non-normal properties. Void worlds are not unstable, nor are flat worlds. That’s just how they are. Similarly, Wooden Tendrils aren’t unstable, just odd. Dense Ores, however, are unstable for game balance.

I also want to add some symbols that improve the stability of a world. These will typically have negative or otherwise balancing effects similar to instability, but you can control or select them intentionally.

I will have a number of these effects overlap. Charged, for instance, will remain a symbol but also be a very good light instability mechanic. You may actually wish to write worlds with very harsh environments, and thus many things which will be added as ‘instability mechanics’ will also be possible to write. Some of these may improve the stability of the world, but most of the time, if you are writing the effect, you probably wanted it, so it should be too much it’s own reward. 😉

I’m looking forward to the fun mechanics I’ll get to write. 🙂

Mystcraft 0.9.2.01

As per tradition, here is the follow-up bug-fix release. 😉

  • Fixes call to onPlayerChangedDimension on link (Fixes NEI breaking when changing dims)
  • Improves conversion of book items to entities on drop (happens on spawn, rather than first tick)
  • Changes generatePlatform to ignore existing and replace all blocks

You will need Forge to use Mystcraft. The current builds are still made to overwrite parts of forge, and need to be installed after specific versions of Forge.
[1.3.2] Mystcraft Universal 0.9.2.01 for Forge 247

Enjoy!

Mystcraft 0.9.2.00

At last, the wait is over! 😉
Mystcraft for 1.3.2 is ready for public release. 🙂

Also, only one download! Whoo! Much easier on both me and you.
I’ve stopped maintaining two versions of Mystcraft, so we only have a Forge Edition now. This has saved me a lot of effort and work and allowed me to clean up my code substantially.
I’m working with the Forge team to get the base edits Mystcraft needs into Forge, but until then Mystcraft is still a jar mod.

A few words of warning: Terrain generation may not line up with existing saves. Old saves should work fine, otherwise.

You will need Forge to use Mystcraft from now on. The current builds are still made to overwrite parts of forge, and need to be installed after specific versions of Forge.
[1.3.2] Mystcraft Universal 0.9.2.00 for Forge 247

Enjoy!

University Resumes

University has resumed it’s normal activities and I’m back in classes. No teaching this quarter, I’m only taking 4 courses. Next quarter I’ll be teaching 3 sessions for Software Design (C++) and I don’t know what I’ll be taking.

I had arranged a meeting for today with one of the professors at the department to discuss the specialization areas and how I couldn’t seem to fit my interests into just one, and he pretty much told me to do what I wanted and fit the areas to me. Primarily he gave me some really good advice on how to select a Master’s Thesis topic and recommended that I find courses that fit that (but that I not limit myself to that). Basically he suggested I keep doing what I’ve been doing and pointed me in the right direction for chosing my Thesis Topic. He also said I should select several interesting topics and get him and another professor to go over them with me so we could evaluate the merits of different topics.
He also explained how I could do what I wanted to do in general for my thesis, which is to do a project for the thesis.
This should be fun. 🙂

0.9.2.00 is Imminent

Just wanted to give a heads up. Mystcraft is presently ‘feature frozen’ (though I’m not good at stickign to that) and we’re testing the last bits and bugs.
There’s at least one bug that I know of which I need to fix before release, but once everything is fixed I’ll publish it here and start working on the next release. 😉

Mystcraft Forums and Status Update

This post was supposed to go up days ago…

Hello!
I wanted to announce that the Mystcraft forums are up and running. Veovis and Dinnerdog put a lot of time and effort into this, so a big thanks to them! 🙂
The forums can be accessed here.

I also wanted to give a general update on the status of Mystcraft for 1.3.
I’ve already had a working build for 1.3.2/Forge217 for a while now, and just now I updated to 1.3.2/Forge233. We’re working on moving the base edits Mystcraft needs into Forge so that it will be installable like every other mod. 🙂  That probably won’t happen for the next release, but we are working on it! 🙂

Here’s a changelog for everything I’ve been working on since the last release:

  • Moved to Forge Edition only (note that it is still a jar mod)
  • Eliminates usage of lang file (uses internal functions instead)
  • Fixes EXP syncing on link
  • Fixes platform generation
  • Fixes bedrock generation on Standard Terrain
  • Fixes (visual) loss of potion effects on link
  • Modifies falling block rendering
  • Improves communication of falling block info
  • Removes ‘falling block’ packet
  • Breaks mod generation in ages (solution pending)
  • Cleans up and improves tpx command
  • Adds flags to the config to enable/disable mystcraft item crafting
  • Tweaks fallback system in DimensionManager
  • Adds some missing block names
  • Fixes placing receptacles
  • Force closes the book gui on held items if the book is no longer in your inventory
  • Moves biome initialization later (trying to catch other mod registered biomes)
  • Eliminates use of ‘packets’ (uses Forge network channel)
  • Fixes issue with opening book gui when placing book in receptacle
  • Moves linking and age books back to transport tab
  • Updates to Forge233
  • Changes from dimension fallback system to dim registration system
  • TPX no longer auto-creates dims
  • Adds myst-create command for creating mystcraft ages by commandline (worlds created in this manner do not have instability)
  • Fixes sending of age data on player login
  • Deleting agedatas no longer reuses slot
  • Adds instabilityEnabled flag to agedata
  • Fixes a bug with the nextFreeDimId counter added to DimensionManager
  • [hidden]
  • Switches logging to use FML Logging
  • Fixes a bug with unloading worlds leaving incorrect world array state
  • [hidden]
  • Adds dummy SkyProvider (standard rendering in place)

Mystcraft Resumes, Others Continue

I have been working on spaceman and the designs for most of it are done. Lately I’ve been busy with other things so progress has been slower on that front.

I ran a D&D game on Sunday and this (plus some feedback I got from some others) kicked me off on picking epicmaker, my D&D (3.5/Other) DM/Player tool suite, back up. I’ve cleaned up the project and started getting some of it together. It will possibly have a similar base architecture to spaceman; I need to reorganize the architecture it has one way or another.
First thing I did was prototype some of my item/treasure generator stuff. I finally came up with a system that should work for that while being both extensible and easy enough to control at finer levels. I prototyped it in Java because that’s what I have easy to run with at the moment; and it is actually well suited to the system I designed, oddly enough. What I have designed is actually meant to be implemented in a combination of code and scripted, so java seemed well suited to simply having stuff thrown in it and moved around later. Part of it really might just be how easy it is to code quickly in Eclipse. Not sure.

And what I’m sure most of you have been dieing to hear is that I’ve started updating Mystcraft to 1.3.x. I started today and actually finished the majority of it already. Mystcraft has moved to Forge Edition only and is currently built off of the 217 build of Forge. It works and it only needs to be test thoroughly to make sure nothing is broken. 🙂 I’m going to start throwing dev builds at my QA team soon and we’ll see how that goes. 🙂
The goal at the moment is to update Mystcraft as it stands to 1.3.x with only a few bug fixes. Basically there should be no mechanical differences between this and the last release (aside from said bug fixes). I may do a few minor things as I ‘walk by them’ when running around my code, but I don’t plan on adding or modifying any features.

I hope to have Mystcraft for 1.3.2 up for you in a reasonable time frame. Stay tuned!

Proper Usage of the BugTracker

Hello!

I’ve just spent the better part of the past two hours going through some really poorly written issues on the bug tracker.  Some of them were quite nice and well done, but most of them weren’t useful.  I’ll admit that during this interlude I was not in the best of moods because of this.  Sorry if I came across as harsh on anything.

I understand that the main reason for this is people do not know how to report bugs.  This is perfectly understandable, especially since most of the people reporting on Mystcraft are likely very young.

In this regard I want to lay out some basic rules and methods on creating an issue on Mantis.  These will help you in writing your report and help me in understanding it.  The better the report the faster it gets accepted and fixed. 🙂
Also, before I begin, any sufficiently badly written reports stand a chance of being closed immediately.  Make sure your report is informative and covers everything.

Basic guidelines:

  • Check for other reports for your issue first.  You may not be the first with this problem!
  • Be as informative as possible.  The more you give me the more I have to work with.
  • Type your best.  Don’t slur things or use 1337 or any short form of typing.  it’s not the place.
  • Keep it clean. I’ll ban people for using foul language or inflammatory remarks. I know that your bug probably has you very frustrated, but it won’t help your case to kick and scream like a three year old. 😉

Now, let’s step through this process.  It can be a lot to take in at once, so we’ll try to look at each part.

The category dropdown is meant to allow you to select the category that the issue best fits under.  Is it a problem with another mod (compatibility)?  Or maybe there is something wrong visually (rendering)?  Maybe it’s an error in the GUIs.  Whatever it is, select the most appropriate category.  If it is a general level issue (the whole mod breaks for no apparent reason when I push the F1 key) or no other category cuts it, then go with general.  Try your best. 🙂  If more than one suits then pick the best one.  We’ll handle that in a little bit.

Next is reproducibility.  This is where you indicate how reliably you can recreate the issue.  Does it happen every single time you do something, or only once in a while? Can you control it? If you mark ‘have not tried’ then you can guess the first thing I’ll be asking you to do. 😉

Severity and priority can be confusing, especially since they seem like they should be the same thing! Severity indicates how badly the bug affects our game.  It also includes an option for ‘feature’ which is meant to be used for requesting minor features or changes.  Major features should use the Mystcraft forum.  We’re trying to get some real forums up for you guys to blabber in, so hopefully that will happen soon. 🙂
Priority is how important you feel fixing this issue is.  Most times it seems like you can’t possibly play without this, but step back and think about it.  Keep in mind, this is actually the priority from the perspective of the project.  I don’t feel I have to say very much here as you have all done a fantastic job of setting this value. 🙂

Profile is an odd one, in that the name gives no information about what is desired.  It even confused me at first!  This is the basic specs of the compuer you are using.  There are four basic ones already saved into the drop down, but if those don’t quite fit the bill you can write it up yourself.  Platform is the machine spec, so usually x86 or x86_64. If you don’t know what that means then you can usually check whether you are 64 bit or not and just supply that. OS is your operating system, so usually Windows or OS X. OS Version is what version of that you are running.  In my case I’m running Windows 7, so I’d provide 7 as the version.

Product version is well named if you thing of Mystcraft as a product.  I don’t either, but Mantis does. Just select the version of Mystcraft you are using and you’ll be all set.

Summary: This one may be hard.  You need to summarize the issue as correctly as you can in about 6 words or less, giving as much information as you can.  You might need to think about it a bit.

Description is where you describe the bug in meticulous detail.  What happens and the general idea of what you were doing.  Be sure to describe what you were expecting to happen versus what actually happened.

Steps to reproduce is how I and the QA team know how to do it too.  You should describe your installation process and what steps are necessary in order to cause the issue in game.  If yo can’t recreate the issue then describe what you were doing the first time as precisely as you can.  Any omissions may make it impossible to recreate the event.

Additional information: This is a good place for your exception log and/or mod list.  If you do have a crash error and it dumps an exception be sure to provide it somehow.  Any other information you think would be useful should also go here, preferably before the error log.  If you need help getting an error log then you might consider using MultiMC.  There are also other methods of getting error logs when Minecraft fails without giving it on the MCF.

You can also upload a file. This is useful to provide a screenshot or the error log of the event.  You won’t need this most of the time, but don’t be afraid to use it if you need it!

Now you are ready to report your issue!  Check over it again to make sure you got everything right and didn’t make any typing errors or leave out anything before hitting submit.

You’ve successfully submitted a bug report!  Congrats!  Not that hard, was it?  But you aren’t quite done yet.  Due to the way Mantis works you can’t add tags to your issue on the report screen.  How silly!  It’s a known issue, and it’s already on their own Mantis tracker, but in the mean time we have to deal with it.  Now that you can look at your issue you can see a place where you can add tags to the issue.  Go ahead an look through the existing tags.  Add all the ones that fit.  If you experience the issue on SMP add that.  If the issue occurs on SSP as well then add that too.  Include the version of Forge you were using (ex Forge 152).  These tags are meant to make searching and information finding much faster, and by providing them you make your report 100% better. 🙂

If you realize now you made any mistakes you should still be able to go back and edit your own report.  Possibly.  I’m not exactly sure.
However, I do know that I can edit your reports, and so can the QA team.  And I also know we will. 🙂  This isn’t because you did a bad job, but we might go through and alter things as more information comes to light.  There are some fields that only we can set, and there are others that are for both you and us (ex. Reproducibility).  The issue will also go through several phases, starting out as ‘new’ and then moving through feedback, accepted, confirmed, and resolved.  Through this process it may change in various ways, and we may add things like when the issue will be fixed by, or even when it was fixed!  Don’t be afraid of it changing or worried about us editing it.  We’re just trying to keep everything clean and organized.

I hope this clears up any confusion with the tracker and helps you all make high quality reports! 🙂  Good luck!