Mystcraft 0.11.0

Post by: on October 15th, 2014 | File Under Mystcraft

Well this build took a while…
This one contains the big rewrite to instability from blocks calculations. It was a major change and took lots of time and testing to get down. Thank you everyone for being so patient.
I’ve also rebuilt part of my API. Again. Lots of it is still missing.
I did a lot of things since the last release. I have no idea what all is different anymore. :P

I have a list of things to fix queued up and I’ll be getting builds out with fixes in no particular order fairly soon. Going to try to shift towards a release schedule now. ;P
The balance is hopefully better than it was, but it’s still by no means “done.” This was a big step in what I hope was the right direction, though.

Note that I have been working in Forge 1180, so it’s possible that you have to have at least that. This probably isn’t much of an issue, as many mods require much later versions. Tested up to Forge 1224.

I’m also planning on releasing this build on curseforge (in addition to here). Bear with me on that. I’ll try to get the old builds up there as well.

Enjoy!

Check the Mystcraft Forums for updates and the change log.

Download: [1.7.10] Mystcraft Universal 0.11.0.00

Comments (4 responses so far)

Mystcraft and the Minecraft EULA

Post by: on September 2nd, 2014 | File Under Mystcraft

Geez, guys. You never let things go. :P

I figured I’d finally address this, as I’ve just been ignoring it. Since it’s not going away, and I’m tired of the arguments, I’m going to make a short post on it.

If you’ve not actually read the whole EULA, please do. It’s really not that long. Most people have read one paragraph out of it and think that means no one has any control of anything anymore, and they aren’t even reading the paragraph for what it says, but for what they want it to say.

Given what the EULA says literally:
You may not charge for (especially vanilla) game content.
(Though you can apparently provide ranks on servers (non-mechanical “I’m Cool” indicators) to donators.)
Mojang has permission to do stuff to anything you make publicly distributed.

Most of what the EULA talks about is: “The game belongs to MOJANG, you may not distribute it. Mods are cool. Videos are cool. Etc. Just don’t go being mean, alright?” (Paraphrased)
It’s not a very formally written document. It’s pretty straight forward in what you can and cannot do.

There are two paragraphs which pertain most strongly to mods. One which pertains to all content made for Minecraft, and one which speaks directly on mods. Oddly, everyone likes to skip over the second of those. I’ll start with that one first:

Any tools you write for the Game from scratch belong to you. Modifications to the Game (“Mods”) (including pre-run Mods and in-memory Mods) and plugins for the Game also belong to you and you can do whatever you want with them, as long as you don‘t sell them for money / try to make money from them. We have the final say on what constitutes a tool/mod/plugin and what doesn’t.

This says that my mod is mine, which is really kind of obvious. My code is mine. My work is mine. You cannot copy it and create your own versions of it without my permission.

The quote everyone likes to run around with is this one:

If you make any content available on or through our Game, you must give us permission to use, copy, modify and adapt that content. This permission must be irrevocable, and you must also let us permit other people to use, copy, modify and adapt your content. If you don‘t want to give us this permission, do not make content available on or through our Game. Please think carefully before you make any content available, because it will be made public and might even be used by other people in a way you don‘t like.

Lets go over this in pieces.
I have created content which I made available on the Game: Mystcraft.
Therefore, I must give Mojang permission to use, copy, modify, and adapt that content. No argument there. I knew that. This basically says they can do anything with my mod they like. I even kind of assume that “distribute” is in there, even though it isn’t explicitly mentioned.
This permission must be irrevocable… I think this is obvious, again.
… and you must also let us permit other people to use, copy, modify and adapt your content. And this is also squarely within Mojang’s rights. They have the power to distribute Mystcraft, should they so wish it, and do anything else they want with it, and they can give that ability to, say, Curse. Or, if they felt like it, Lucas Arts. Or even Cyan (which would make more sense). Of course, if any of these groups wanted that permission I think they’d usually come to me first, just to be nice, but technically they only have to ask Mojang. I expect Mojang would tell them to ask me first, just to be nice, but they aren’t required to do that. I’m cool with this. :P
If you don‘t want to give us this permission, do not make content available on or through our Game. Duh?
Please think carefully before you make any content available, because it will be made public and might even be used by other people in a way you don‘t like. This basically says, in the context of Mystcraft, that I can’t dictate the terms of use of Mystcraft. I can’t say you can’t play it a particular way, or that you can’t play it with particular mods. If you make a private modpack, you and your buddies, I can’t tell you what you can and can’t put in it. Mostly it’s a slap in the head to people who are uptight about how their mod is played… I’m not, so I’m cool with this. :P It’s also written as a warning to modders, more than anything, rather than as an affirmation of user rights, so I’m probably reading things into it that aren’t strictly there.

Now, there is one point I want to make really, really clear: No where in that did Mojang say that anyone can do anything they want with my mod. Quite the opposite.
Please think carefully before you make any content available, because it will be made public and might even be used by other people in a way you don‘t like. A lot of people like to point to this line and say it does. It doesn’t. It says people may USE my mod, which I have released publicly, in any way they please. It doesn’t say that people may take my code, or my work, or make demands on me, or do whatever else thing that tramples the implicit and automatic rights I have to my work, which were already affirmed earlier in the EULA, in the first paragraph I quoted. My work is mine, and it stays that way. Please don’t steal my code and say that one sentence in the EULA, written as a warning to people making content, says you can. That’s a quick way to make people stop making mods, guys. Especially when the EULA says you can’t (see first paragraph).

On the flip side, and this is important, it does give Mojang rights to do basically anything with my mod, and I am perfectly and absolutely OK with this. Mojang deserves those rights, it’s their game.
It can also share these rights with others (like with Curse). I’m, once again, perfectly and absolutely OK with this.

What this EULA doesn’t do is declare that YOU, the user, have been given those rights. Mojang can release those rights to anyone they wish, but the EULA didn’t list anyone it has given them to, and I’ve not seen anywhere (I’ve looked, but if you find it let me know) that Mojang says that users have been given these rights. Note that Mojang must say this, not a single person within Mojang. Mojang as the legal entity.

This long post (sorry, I said it was going to be short, didn’t I?) needs to include the two reasons I keep getting this thrown at me:
“You can’t require permissions” – Said in the context of me requiring permissions for public modpacks. I can’t say what mods Mystcraft is played with, but you better believe I’m going to try to limit distribution. Note also that distribution of mods wasn’t even mentioned in the EULA. I assume Mojang has that right, but that’s actually me assuming it. It doesn’t use that word except in saying that people can’t distribute Minecraft. Technically, the paragraph people like to cite as giving everyone the right to distribute my mod doesn’t even give that to Mojang.
Why am I limiting distribution? I want to limit the opportunity for people to include malicious things in my mod. It’s both for me and for you. I do it for you so there are a number of places declared “safe” for getting a copy of Mystcraft from. We can assert and double check the safety of these packs. On the flip side, this way I’m not liable for if you have problems with an unofficial distribution of Mystcraft.

“You can’t charge for your mod!” – Said about my Patreon reward tier. The main thing here is, I’m not. It’s early access, for starters, to builds which I will never otherwise make public. It’s a reward thing, for people donating, but if you want to be harsh about it it’s a subscription fee to have early access and unlimited access to all of my dev builds (from about 1.6.4). I’ll distribute my mod for free and without limitations when I hit a public release.
Anyone claiming this is apparently citing the “you cannot make money” line (Amusingly, from the first paragraph I quoted; the one that’s usually ignored until people want to make this complaint.). If you want to interpret this as me making money off of the mod (which is to say, selling the mod), then modders shouldn’t be able to have a Patreon tied to modding at all, and yet Mojang hasn’t said a thing to any of us, and we hang out with them.
This is kind of a weird grey area… I’m not allowed to sell my mod -and I’m not- but I can accept donations for my work time. Making a mod is a lot of time and effort, especially something as huge as Mystcraft; receiving money for it is kind of reasonable, especially since it will never reach the amount of money I’d be paid for the same number of hours if it were employed work. Dev builds are one of the best things I have to offer to people donating and supporting me in Mystcraft, and I want to offer something in return.

By and large though, I’m skipping the most important point, and we’ve all kind of missed it. It’s Mojang’s EULA, not ours.
What I mean is, let Mojang deal with it. If you think someone is doing it wrong, report them to Mojang. Don’t complain to me because you think I’m doing it wrong, complain to Mojang. This is because you don’t have the authority nor the proper understanding (neither do I, for the record) to say what Mojang deems in accordance with the EULA. If Mojang comes in and tells me I am doing something wrong and must change something due to the EULA, then I will. In a heartbeat. (Though it may take longer to implement the change, I will start the change within said heartbeat.)
So, please, leave me alone about it, eh? :P Just go complain to Mojang and let the entity of Mojang deal with it.

Stay frosty, everyone. :) Most of you are awesome.

DISCLAIMER: I’m ca Computer Scientist, not a Lawyer! What do I know of EULAs? Well… I’ve read a lot of them. :P And I actually studied some copyright law and licenses stuff because it’s relevant, so… actually quite a bit. Still doesn’t make me an expert, though. You have to be a lawyer for that.

EDIT: I have been informed that the second paragraph I quoted (“If you make any content available on or through our Game…”) is probably targeted to maps and game saves, according to people inside Mojang. Even better, but I’ll leave the post as is. :)

Comments (16 responses so far)

Mystcraft 0.10.15.00

Post by: on June 7th, 2014 | File Under Mystcraft

Note that this version requires at least Forge 1083 (as did the last one). I actually have been working in Forge 1085, so it’s possible that you have to have at least that, but this shouldn’t be much of an issue. Many mods require much later versions. Tested up to Forge 1112.

Also note that some of my entities will evaporate in this update. They shouldn’t be major, however, as these entities have short lifespans to begin with.

I’ve also rebuilt part of my API.

Otherwise this update is largely bug fixes, some new symbols, and new visuals. I’ve added in some localization stuff as well and made the spawnmeteor command more fun for map makers. Oh, and you can hear meteors coming, now.

EDIT: As Bacon Donut reminded me, the writing desk also has a search bar functionality now. I’m sure that’s a plus. :P

Enjoy!

Check the Mystcraft Forums for updates and the change log.

Download: [1.7.2] Mystcraft Universal 0.10.15.00

Comments (9 responses so far)

Sadly, no… Back to the drawing board on the API.

Post by: on May 31st, 2014 | File Under Mystcraft

After making that post about my plans for the API, I sat down to do it, and instantly noted a few catches.

First of all, event handling got more complicated. I realized that each version of the API would have it’s own version of the events. This was solvable, however, so I continued.

I noted that constants got more interesting. I wouldn’t be able to have public static final variables in the API, as I’d have to set them from inside Mystcraft. This meant they couldn’t be static and final, which means that another mod could accidentally change them, which is undesirable, as that would break other add-ons.
Again, this is solvable, I’d just need to provide the constants in instanced containers. No problem.

Symbols and functions were actually going to be the easiest things to handle, and were part of why I was doing this. Each API would have an internal handler which mapped all the API calls to a core handler system (my internals, which I use). I could wrap each symbol so that the communication became uniform within my system.

Lastly I noticed that I have class definitions in the API which are used for direct communication between any add-ons. This became the stopping point. I realized that, in order to handle these objects, I’d have to have converters set up so that I convert into and out of my internal implementations and I’d have to break how communication currently works for modifiers. There would be some things which I couldn’t convert, either.

Ultimately, it looks like I won’t be able to do this, unfortunately. While looking at it, I did like some of the properties the architecture would provide, so I’ll likely try to do them regardless. I’ll also add in a check for the version of the API loaded, to ensure that Mystcraft provided the classes, and that no other mod contains the API.

I’m still going to take this opportunity to rewrite the API, and I’ll still leave out sections of it for the reasons mentioned in my previous post, but I won’t be splitting the API into packages this way.

I’ll probably continue to think about how I could version the API to make things easier for add-on developers, but this particular approach seems too limited. I can version some things, but not all of it, and if I can’t do all of it there’s not much point to doing some of it.

We’ll see how it goes. For now, I’ll continue restructuring the API.

Cheers!

Comments (No responses yet)

Mystcraft API for 0.10.14.00

Post by: on May 30th, 2014 | File Under Mystcraft

As a number of people noticed, there was no API for Mystcraft 0.10.14. This was very much intentional.

I intend to completely revise how I do the API, at least on my end. From an add-on dev’s perspective it won’t change a whole lot.

I’m working on a versioned API system. This will mean that older add-ons won’t have to update every time the API changes and that I can add new things and alter the API without breaking stuff, so long as once an API version is released it remains stable.

It will mean I need to be slightly more clever in how I do things, in terms of handling the API, and that I’ll end up doing a lot of mapping API stuff into an internal handling system, but that’s OK.

One good example of why this would be nice: Recently, there was an issue where people would crash if they had both the DragonAPI and Mystcraft installed, because the DragonAPI included an older version of the Mystcraft API. The mismatched class files then caused Mystcraft to crash, as some functions didn’t exist.

So, why the versioned API? So I can support older things (as possible) while not being afraid to move the API forward. So I can easily know what version of the API mods are on. So I can introduce things in different versions without breaking older ones. So that users have fewer conflicts and crashes overall (defensive coding).

It may not be easy, and it might take a bit to move to, but I’m going to manage. ;)

That said, it’s looking like I’ll be releasing the initial API with a lot of missing stuff. Too many things currently being revised and I don’t want to release an API just to break it immediately. So, as odd as it seems, the first version of the API won’t be able to add symbols or instability effects. Most of my events and render handlers will be included, though, so most of the add-ons for Mystcraft will still be possible to update.

Why not instability and symbols? Because I’m rewriting instability. Since instability is tied into symbols at some points right now, I can’t change it without affecting symbols.

Just wanted to make a general announcement about this. It’s the main thing that’s holding up the next release, and I’m trying to sort out the initial API version now.

I hope to have the next release up soon. :)
Cheers!

Comments (2 responses so far)

Mystcraft 0.10.14.00

Post by: on May 14th, 2014 | File Under Mystcraft

And here we go, a version of Mystcraft for 1.7.2!

I think I’ve got the save transition from 1.6.4 to 1.7.2 handled properly, but back up your saves just in case. This is primarily in reference for handling the transition away from fixed block ids.

This is basically a straight port from 0.10.13. It just updates Mystcraft to Minecraft 1.7.2. There were a few minor additions, as they basically went hand-in-hand with the update (like adding the new wood types as block modifiers, and adding all those new biomes as modifier symbols).
There were a number of graphical issues which I needed to handle, and there’s at least one left which is apparently a Forge bug (according to cpw) that I didn’t manage to pin down. Bravo if you even manage to find it, though.

Note that I’m not releasing an API with this build. I’m going to rework how I do the API for Mystcraft; rather than release it and break it immediately, I’m just going to defer it to the next build. It’s pretty much the next thing I’ll be doing. Along with crafting improvements and the beginnings of tech. API changes are somewhat the priority, though.

Check the Mystcraft Forums for updates and the change log.

Download: [1.7.2] Mystcraft Universal 0.10.14.00

Enjoy!

Comments (13 responses so far)

Mystcraft 0.10.13.01 HotFix

Post by: on May 10th, 2014 | File Under Mystcraft

Whoops. Again. My track record is going downhill fast…
The previous build crashes on server startup.

Additionally, I realized when doing my 1.7.2 update that I’d not actually registered the names for things properly. That’s done now.
In order to keep a save from 1.6.4 on 1.7.2 you will need to run that save on this version of Mystcraft first!

To recap: there is only one download (found at the bottom of this post); This file is the universal install for client and server; it no longer goes in the jar.
Mystcraft goes in the mods folder.

If you are still lost on the 0.10 series, check out Direwolf20′s Mod Spotlight! Direwolf20′s Mod Spotlight for 0.10.4.00
If you are having trouble with writing, check out Direwolf20′s Writing tutorial!
Note that there are a couple changes between the video and the current mod, particularly that colors and things are easier to write. If you follow the tutorial, you’ll do great.

Download: [1.6.4] Mystcraft Universal 0.10.13.01
Download: [1.6.4] Mystcraft API 0.10.13.01
Check the Mystcraft Forums for updates and the change log.

Enjoy!

Comments (9 responses so far)

Mystcraft 0.10.13.00

Post by: on May 9th, 2014 | File Under Mystcraft

This build… I honestly don’t remember it all. Just check the change log on the forums. :P

To recap: there is only one download (found at the bottom of this post); This file is the universal install for client and server; it no longer goes in the jar.
Mystcraft goes in the mods folder.

If you are still lost on the 0.10 series, check out Direwolf20′s Mod Spotlight! Direwolf20′s Mod Spotlight for 0.10.4.00
If you are having trouble with writing, check out Direwolf20′s Writing tutorial!
Note that there are a couple changes between the video and the current mod, particularly that colors and things are easier to write. If you follow the tutorial, you’ll do great.

Download: [1.6.4] Mystcraft Universal 0.10.13.00
Download: [1.6.4] Mystcraft API 0.10.13.00
Check the Mystcraft Forums for updates and the change log.

Enjoy!

Comments (5 responses so far)

Full Steam Ahead! Mystcraft is back!

Post by: on May 7th, 2014 | File Under Mystcraft

Or, at least I’m working on it again.

I’m back from my impressively long hiatus from modding. I hope I was missed. I like to think someone missed me at least a little.

Mystcraft continues. If you’ve been watching my twitter feed or twitch channel then you’ve seen that I’ve already dived back into things and spent a surprising number of hours refactoring GUI code and enjoying it. Man, I’ve been deprived of coding too long when refactoring GUI code lights my fire…

At any rate, you can hop over to the Mystcraft Forums to see what I’ve been up to. There’s a nice little topic there where I talk about the things that will show up in the next release. You can also check out what I’m up to by following me on twitter or twitch.

I’ll be streaming on the 9th. Not sure exactly what time, but sometime in the afternoon/evening my time (GMT+3). That’s 7 hours ahead of the US East Coast, for those of you used to telling time that way.

There should be a shiny new Mystcraft release for 1.6.4 before too long, followed by a port to 1.7.? after that. Not sure what all will go into this 1.6.4 update, yet, but it looks like it might be a bunch…

I’ve also created a Patreon account, on the recommendation of my other modder buddies. You can find that at http://www.patreon.com/xcompwiz. I have no idea what I’m doing or if the goals/rewards make any sense, so… ya. :P

I’ll catch you all soon! Don’t forget to follow my twitch channel or twitter to find out when I start streaming!

Comments (One response so far)

Mystcraft 0.10.12.01 HotFix

Post by: on January 27th, 2014 | File Under Mystcraft

Whoops.
Looks like I changed the wrong string, producing errors with existing “Flat” symbols. Should be fixed in this build. You might need to perform a bit of cleanup to repair altered saves. Sorry.

To recap: there is only one download (found at the bottom of this post); This file is the universal install for client and server; it no longer goes in the jar.
Mystcraft goes in the mods folder.

If you are still lost on the 0.10 series, check out Direwolf20′s Mod Spotlight! Direwolf20′s Mod Spotlight for 0.10.4.00
If you are having trouble with writing, check out Direwolf20′s Writing tutorial!
Note that there are a couple changes between the video and the current mod, particularly that colors and things are easier to write. If you follow the tutorial, you’ll do great.

Download: [1.6.4] Mystcraft Universal 0.10.12.01Adfly Link
Download: [1.6.4] Mystcraft API 0.10.12.01Adfly Link
Check the Mystcraft Forums for updates and the change log.

Enjoy!

Comments (32 responses so far)