Sure, most dictionaries don't list the definition of "pegasus" as a winged horse, or a pluralization, and that's OK. Doing a casual search online, I found one that offered a pluralization, but no generic definition.
In colloquial English, there is a plural to pegasus, and it is pegasi (or pegasuses). Eventually, the dictionaries that haven't already listed the common definition (and pluralization) will do so, and catch up with modern English.
One interesting thing about language is that it boils down to being a popularity contest. When enough people use a given term, it becomes part of the language, and is eventually recognized as such. And it doesn't really matter what the prescriptivists say.
This has happened time and again, and it's not uncommon for a name to become a generic term, especially if it comes from fiction (including myth). Consider "Scrooge" which started as a character by Charles Dickens, but morphed into a common English word meaning "a miserly person."
Lastly, in a fantasy setting, there's plenty of license for creativity, and that includes bending already existing terms to fit the setting creator's liking. With this mod, I'm building a fantasy setting. I just thought of a bunch of goofy things (and their pluralizations) that I could name a new horse breed, and all of them would be OK... I had better not list them, though, for fear that someone will ask that I actually add them!
What is the bit offset for your DNA mask, if you don't mind me asking? I'm trying to get a horse with DNA:NNFFDDAABBHH for a creative world but I'm having trouble reverse engineering your DNA Tester mask code to get the Dna1 cheat code. Any help would be appreciated.
public String func_77653_i(ItemStack stack)
{
String retString = super.func_77653_i(stack);
if (stack.func_77978_p() != null)
{
StringBuffer dnaBuffer = new StringBuffer();
NBTTagInt tag = (NBTTagInt)stack.func_77978_p().func_74781_a("lastDna");
if (null != tag)
{
int val = tag.func_150287_d();
On a separate note, do you think you could move the flank marks back a bit? Where it is right now It tends to get covered by the saddle/armor. I'm thinking of making a custom horse (or two, or three), but this is a bit of a sticking point.
On a separate note, do you think you could move the flank marks back a bit? Where it is right now It tends to get covered by the saddle/armor. I'm thinking of making a custom horse (or two, or three), but this is a bit of a sticking point.
I'll take a look and let you know. Should be do-able, but I have to make sure it looks OK before committing. Thanks for the feedback!
What is the bit offset for your DNA mask, if you don't mind me asking? I'm trying to get a horse with DNA:NNFFDDAABBHH for a creative world but I'm having trouble reverse engineering your DNA Tester mask code to get the Dna1 cheat code. Any help would be appreciated.
public String func_77653_i(ItemStack stack)
{
String retString = super.func_77653_i(stack);
if (stack.func_77978_p() != null)
{
StringBuffer dnaBuffer = new StringBuffer();
NBTTagInt tag = (NBTTagInt)stack.func_77978_p().func_74781_a("lastDna");
if (null != tag)
{
int val = tag.func_150287_d();
EDIT: Your DNA Tester seems flawed. I got a code of up000000T000 on an alicorn with big wings, fire, and an aura. Not sure how, but I did.
The Cheat Code I used:
Dna1:20604004
SECOND EDIT: If you use code Dna1:30000000 or greater, the horse is invisible, flies, and has fire. Once again, not sure why.
Bit offset for my DNA mask? Are you asking about the bit offsets for all the different features that make up a DNA string (currently it's stored as one 32-bit int)? I can share that - I've been meaning to put it on the cheats page for while now, actually, as well as more cheats, of course.
I have some stuff going on right now, but I'll get that up soon.
Also, I'll look into the bug with the DNA Tester, and give some more explanation about the invisible horses in a bit.
What is the bit offset for your DNA mask, if you don't mind me asking? I'm trying to get a horse with DNA:NNFFDDAABBHH for a creative world but I'm having trouble reverse engineering your DNA Tester mask code to get the Dna1 cheat code. Any help would be appreciated.
public String func_77653_i(ItemStack stack)
{
String retString = super.func_77653_i(stack);
if (stack.func_77978_p() != null)
{
StringBuffer dnaBuffer = new StringBuffer();
NBTTagInt tag = (NBTTagInt)stack.func_77978_p().func_74781_a("lastDna");
if (null != tag)
{
int val = tag.func_150287_d();
EDIT: Your DNA Tester seems flawed. I got a code of up000000T000 on an alicorn with big wings, fire, and an aura. Not sure how, but I did.
The Cheat Code I used:
Dna1:20604004
SECOND EDIT: If you use code Dna1:30000000 or greater, the horse is invisible, flies, and has fire. Once again, not sure why.
Took a look at my code - All of the issues you are seeing above are because of gene values that some parts of the code don't know how to deal with (to put it simply). In the next update I'll get these fixed up.
In more detail:
I left some space for future expansion in the value ranges for different genes, and this is what trips up the DNA tester. For instance, Destrier size is represented by 2 bits (for 4 possible values), but at the moment, all we care about is 1 bit worth of info (i.e., does the horse have that attribute, or not?) So, the code for making the horse have a big body says, "Is this gene not 0? If so, give it a big body!" and the DNA tester says, "Does the DNA for this gene == 0x11 (i.e. 3) ? Is so, print a 'D', if not print a '0'!" Where you see the disconnect if is the gene value is 0x01 (1) or 0x10 (2), because the horse code makes a big body for both of these values, but the DNA Tester shows '0' for both of them.
You get invisible horses for a similar reason. Horse hide genes are represented by 4 bits, giving me space for 16 different hides. I only use 9 of those spots right now, so the other 7 spots don't have textures. If the hide gene value is in the range of 9-15, you get a horse with no texture, making it invisible.
Cheat codes were something I added as an afterthought, and because of that I didn't really think about the ramifications of people exploring the entire range of DNA values.
What is the bit offset for your DNA mask, if you don't mind me asking? I'm trying to get a horse with DNA:NNFFDDAABBHH for a creative world but I'm having trouble reverse engineering your DNA Tester mask code to get the Dna1 cheat code. Any help would be appreciated.
public String func_77653_i(ItemStack stack)
{
String retString = super.func_77653_i(stack);
if (stack.func_77978_p() != null)
{
StringBuffer dnaBuffer = new StringBuffer();
NBTTagInt tag = (NBTTagInt)stack.func_77978_p().func_74781_a("lastDna");
if (null != tag)
{
int val = tag.func_150287_d();
Bit offset for my DNA mask? Are you asking about the bit offsets for all the different features that make up a DNA string (currently it's stored as one 32-bit int)? I can share that - I've been meaning to put it on the cheats page for while now, actually, as well as more cheats, of course.
I have some stuff going on right now, but I'll get that up soon.
Also, I'll look into the bug with the DNA Tester, and give some more explanation about the invisible horses in a bit.
Took a look at my code - All of the issues you are seeing above are because of gene values that some parts of the code don't know how to deal with (to put it simply). In the next update I'll get these fixed up.
In more detail:
I left some space for future expansion in the value ranges for different genes, and this is what trips up the DNA tester. For instance, Destrier size is represented by 2 bits (for 4 possible values), but at the moment, all we care about is 1 bit worth of info (i.e., does the horse have that attribute, or not?) So, the code for making the horse have a big body says, "Is this gene not 0? If so, give it a big body!" and the DNA tester says, "Does the DNA for this gene == 0x11 (i.e. 3) ? Is so, print a 'D', if not print a '0'!" Where you see the disconnect if is the gene value is 0x01 (1) or 0x10 (2), because the horse code makes a big body for both of these values, but the DNA Tester shows '0' for both of them.
You get invisible horses for a similar reason. Horse hide genes are represented by 4 bits, giving me space for 16 different hides. I only use 9 of those spots right now, so the other 7 spots don't have textures. If the hide gene value is in the range of 9-15, you get a horse with no texture, making it invisible.
Cheat codes were something I added as an afterthought, and because of that I didn't really think about the ramifications of people exploring the entire range of DNA values.
Thanks for catching this!
First of all, I left out one section in my spoiler that explains what I meant by offset:
<strong> private void</strong> appendDnaLetter(StringBuffer buffer, int dna, int offset, int geneSize, char... labels)
{
<strong>int</strong> specDna = dna >> <strong><span style="text-decoration: underline;">offset</span></strong>;
<strong>char</strong> first = labels[(specDna & bitMasks[geneSize])];
<strong>char</strong> second = labels[((specDna & bitMasks[geneSize] << geneSize) >> geneSize)];
buffer.append(second);
buffer.append(first);
}
That's what I meant by offset, but if the Dna1 code is the decimal form of the 32 bit integer used for the DNA, then that makes the offset irrelevant, as well as allowing for easy creation of cheat codes, sans one unclear point: wings. Which values (0x00, 0x01, 0x10, & 0x11) give T wings, B wings, and no wings?
Of course, if you plan on posting all of this to the Cheats page, then I can just see it there. Either way, thank you for the code, and for fixing the /summon name glitch.
PS: One possible solution for the invisibility 'glitch' would be to assign 'uu' to any currently unassigned hide values, much the same as vanilla horse variants.
First of all, I left out one section in my spoiler that explains what I meant by offset:
<strong> private void</strong> appendDnaLetter(StringBuffer buffer, int dna, int offset, int geneSize, char... labels)
{
<strong>int</strong> specDna = dna >> <strong><span style="text-decoration: underline;">offset</span></strong>;
<strong>char</strong> first = labels[(specDna & bitMasks[geneSize])];
<strong>char</strong> second = labels[((specDna & bitMasks[geneSize] << geneSize) >> geneSize)];
buffer.append(second);
buffer.append(first);
}
That's what I meant by offset, but if the Dna1 code is the decimal form of the 32 bit integer used for the DNA, then that makes the offset irrelevant, as well as allowing for easy creation of cheat codes, sans one unclear point: wings. Which values (0x00, 0x01, 0x10, & 0x11) give T wings, B wings, and no wings?
Of course, if you plan on posting all of this to the Cheats page, then I can just see it there. Either way, thank you for the code, and for fixing the /summon name glitch.
PS: One possible solution for the invisibility 'glitch' would be to assign 'uu' to any currently unassigned hide values, much the same as vanilla horse variants.
Tiny wings are 0x01, Big wings are 0x10 or 0x11 (although the DNA tester incorrectly says 0x10 is no wings), and no wings is 0x00.
That is a good solution for the invisibility glitch, and probably the one I'll go with.
As for the /summon name glitch, you are welcome! It was something that was nagging at me - I'll often just summon a tame unicorn with a saddle for testing, but it was annoying that that didn't work for the pegasus.
I noticed that you created your account just the other day, probably to post these comments. I also think it's interesting that you went to the trouble to decompile my code! It's cool to see someone take such a deep interest in my mod.
Tiny wings are 0x01, Big wings are 0x10 or 0x11 (although the DNA tester incorrectly says 0x10 is no wings), and no wings is 0x00.
That is a good solution for the invisibility glitch, and probably the one I'll go with.
As for the /summon name glitch, you are welcome! It was something that was nagging at me - I'll often just summon a tame unicorn with a saddle for testing, but it was annoying that that didn't work for the pegasus.
I noticed that you created your account just the other day, probably to post these comments. I also think it's interesting that you went to the trouble to decompile my code! It's cool to see someone take such a deep interest in my mod.
Actually, I made an account to use the Curse Minecraft Plugin, which led to me finding your mod, which led me to your website, which led me to this page, but yes. Also, I have decompiled stuff like flans and TMI/NEI, so yours was actually a lot of fun. Plus, it was interesting trying to figure out how your genetics coding worked. You did a much better job than Vanilla Minecraft at imitating real genetics. Vanilla horse breeding was a pain, especially when you only had a ~%30 percent of improving your stock when starting with decent stats. Yours makes it much simpler. And the main reason I was appreciative of your fixing the name glitch is when I summon pegesi/nightmares with boosted health/jump/speed stats.
I do have another question: how (if at all) does your mod change the 'normal' horse stats (health, speed, jump height)? Because I've noticed that the health and speed of your horses are above average, but that they can still be changed by inserting NBT tags in the /summon or /entitydata commands.
Also, was my assumption that the Dna1 code is the decimal form of the 32 bit DNA integer correct? Because, if so, I could probably throw together my own codes fairly easily.
Sorry if I'm asking too many questions. I tend to do that.
Actually, I made an account to use the Curse Minecraft Plugin, which led to me finding your mod, which led me to your website, which led me to this page, but yes. Also, I have decompiled stuff like flans and TMI/NEI, so yours was actually a lot of fun. Plus, it was interesting trying to figure out how your genetics coding worked. You did a much better job than Vanilla Minecraft at imitating real genetics. Vanilla horse breeding was a pain, especially when you only had a ~%30 percent of improving your stock when starting with decent stats. Yours makes it much simpler. And the main reason I was appreciative of your fixing the name glitch is when I summon pegesi/nightmares with boosted health/jump/speed stats.
I do have another question: how (if at all) does your mod change the 'normal' horse stats (health, speed, jump height)? Because I've noticed that the health and speed of your horses are above average, but that they can still be changed by inserting NBT tags in the /summon or /entitydata commands.
Also, was my assumption that the Dna1 code is the decimal form of the 32 bit DNA integer correct? Because, if so, I could probably throw together my own codes fairly easily.
Sorry if I'm asking too many questions. I tend to do that.
My horses do change the horse stats some: health, speed, knock-back resistance, and damage are all tweaked depending on the breed. I'd have to look to see how these values propagate to children of the purebreds.
Dna1 is stored as an integer, and if you set it with an /entityData command (or the entityData portion of a /summon command) you need to set it as a decimal number. All my accesses to it in code are bitwise, of course.
I've been toying with the idea of making some cheat code commands to make playing with the DNA easier, but haven't decided if I should do that, yet.
Pegasus: Plains, Forest, Beach, Forested Hills, Extreme Hills
Destrier: Taiga, Taiga Hills, Ice Plains, other cold biomes (Cold Beach, Cold Taiga, Frozen River, etc).
Nightmare: Desert, Savannah, Mesa
I am using the vanilla forge code to indicate to forge where to spawn these guys. When I start up a new world, I see them around, but I haven't had a chance to play in a large already-existing world. If you play a lot and don't see any magical horses in the above biomes, I have put in some configuration options you can play with to make them appear more often.
If you still aren't seeing magical horses spawn after playing with the configuration, let me know, and I can see about tweaking the code to make them spawn more.
I just wanted to update you, Kane. I have found Destriers and one Unicorn on my Normal Map. I have not played all week, but I will be looking for a Pegasus this weekend.
How about the legendary Kirin? (Dragon-Unicorn) If you haven't seen it yet,search "Monster Hunter Kirin" Very Fast,Jumps High,Summons Lightning every charge or whenever it gallops,Hard to tame,Hard to kill and BOSS FIGHT! It only spawns in thunderstorms and high cold areas,specifically Snowy Extreme Hills and Ice Spike Plains. It's a bit bigger than the Unicorn but smaller than the Destrier. Mortal enemy is the Nightmare and will basically kill each other on sight. Immune to fire and lightning and has a short tail. it's bluish-white in color and has a black subspecies which is stronger but smaller in size and harder to kill,called "The Oroshi Kirin". Once tamed,it doesn't need a saddle to control. so,what do you say? The Kirin is really cool and besides,it will make the "Ultimate Unicorn Mod" more ULTIMATE!
EDIT:
Once Tamed,you can turn it into a girl/bodyguard to protect you by right-clicking with paper in your hand.
Here are some pictures of the Kirin,Oroshi Kirin,and Kirin Girl:
The Legendary Kirin:
The Great Oroshi Kirin:
The Kirin Girl:
EDIT:Although it is very powerful,it does not have the same traits as the Destrier and cannot destroy blocks.
My horses do change the horse stats some: health, speed, knock-back resistance, and damage are all tweaked depending on the breed. I'd have to look to see how these values propagate to children of the purebreds.
Dna1 is stored as an integer, and if you set it with an /entityData command (or the entityData portion of a /summon command) you need to set it as a decimal number. All my accesses to it in code are bitwise, of course.
I've been toying with the idea of making some cheat code commands to make playing with the DNA easier, but haven't decided if I should do that, yet.
I was finally able to figure out the 'hide' portion of the DNA. I knew that the other values were 4 digit binary, but the hide kept me confused until I figured it out: the hide is 4 digit binary used for the decimal value of the skin (z=0, u=1, p=2, etc.), while the other dna traits use four digit binary for a simple true-false set (0000 means no wings, 0001-0011 means small wings, 0100-1111 means big wings). I think I can throw together a little binary-to-decimal generator for the Dna1 cheat codes (using default values like 0000 and 1111 instead of 0110).
Not sure if this is how you built it, but it's how I got it to work. Will have a prototype code gen ready soon.
Also, I noticed that you have another 3 dna sets for you to add in the future. Any Ideas as to what they may be?
PS: Everyone like this post if you think Rainbow Smash should have been Rainbow Crash.
I was finally able to figure out the 'hide' portion of the DNA. I knew that the other values were 4 digit binary, but the hide kept me confused until I figured it out: the hide is 4 digit binary used for the decimal value of the skin (z=0, u=1, p=2, etc.), while the other dna traits use four digit binary for a simple true-false set (0000 means no wings, 0001-0011 means small wings, 0100-1111 means big wings). I think I can throw together a little binary-to-decimal generator for the Dna1 cheat codes (using default values like 0000 and 1111 instead of 0110).
Not sure if this is how you built it, but it's how I got it to work. Will have a prototype code gen ready soon.
Also, I noticed that you have another 3 dna sets for you to add in the future. Any Ideas as to what they may be?
PS: Everyone like this post if you think Rainbow Smash should have been Rainbow Crash.
You are right - the hide gene is 4-digit binary. I did mention that above, too.
You get invisible horses for a similar reason. Horse hide genes are represented by 4 bits, giving me space for 16 different hides. I only use 9 of those spots right now, so the other 7 spots don't have textures. If the hide gene value is in the range of 9-15, you get a horse with no texture, making it invisible.
Yeah, I have lots of extra space for more DNA. I am working on a new horse breed right now that will use some of that.
Good job with the cheat code generator! Looking forward to seeing it in action!
How about the legendary Kirin? (Dragon-Unicorn) If you haven't seen it yet,search "Monster Hunter Kirin" Very Fast,Jumps High,Summons Lightning every charge or whenever it gallops,Hard to tame,Hard to kill and BOSS FIGHT! It only spawns in thunderstorms and high cold areas,specifically Snowy Extreme Hills and Ice Spike Plains. It's a bit bigger than the Unicorn but smaller than the Destrier. Mortal enemy is the Nightmare and will basically kill each other on sight. Immune to fire and lightning and has a short tail. it's bluish-white in color and has a black subspecies which is stronger but smaller in size and harder to kill,called "The Oroshi Kirin". Once tamed,it doesn't need a saddle to control. so,what do you say? The Kirin is really cool and besides,it will make the "Ultimate Unicorn Mod" more ULTIMATE!
EDIT:
Once Tamed,you can turn it into a girl/bodyguard to protect you by right-clicking with paper in your hand.
Here are some pictures of the Kirin,Oroshi Kirin,and Kirin Girl:
The Legendary Kirin:
The Great Oroshi Kirin:
The Kirin Girl:
EDIT:Although it is very powerful,it does not have the same traits as the Destrier and cannot destroy blocks.
Definitely some cool ideas here. I'll add them to my list!
I just wanted to update you, Kane. I have found Destriers and one Unicorn on my Normal Map. I have not played all week, but I will be looking for a Pegasus this weekend.
Thanks again.
Thanks for the update! I'm glad to see you are finding the horses you are looking for!
Definitely some cool ideas here. I'll add them to my list!
Thanks,Kane! I'll be looking forward to the next update.And if I'm not mistaken,you're currently working on on the Hippogriff,right? saw it on your website.
Great! Thanks for letting me know!
There is no plural of Pegasus.
Pegasus is the name of Hercules' "Winged Horse."
The plural is "Winged Horses."
Official Mo' Creatures Suggestion Thread
Sure, most dictionaries don't list the definition of "pegasus" as a winged horse, or a pluralization, and that's OK. Doing a casual search online, I found one that offered a pluralization, but no generic definition.
In colloquial English, there is a plural to pegasus, and it is pegasi (or pegasuses). Eventually, the dictionaries that haven't already listed the common definition (and pluralization) will do so, and catch up with modern English.
One interesting thing about language is that it boils down to being a popularity contest. When enough people use a given term, it becomes part of the language, and is eventually recognized as such. And it doesn't really matter what the prescriptivists say.
This has happened time and again, and it's not uncommon for a name to become a generic term, especially if it comes from fiction (including myth). Consider "Scrooge" which started as a character by Charles Dickens, but morphed into a common English word meaning "a miserly person."
Lastly, in a fantasy setting, there's plenty of license for creativity, and that includes bending already existing terms to fit the setting creator's liking. With this mod, I'm building a fantasy setting. I just thought of a bunch of goofy things (and their pluralizations) that I could name a new horse breed, and all of them would be OK... I had better not list them, though, for fear that someone will ask that I actually add them!
What is the bit offset for your DNA mask, if you don't mind me asking? I'm trying to get a horse with DNA:NNFFDDAABBHH for a creative world but I'm having trouble reverse engineering your DNA Tester mask code to get the Dna1 cheat code. Any help would be appreciated.
private static final int[] bitMasks = { 0, 1, 3, 7, 15, 31, 63, 127 };
public String func_77653_i(ItemStack stack)
{
String retString = super.func_77653_i(stack);
if (stack.func_77978_p() != null)
{
StringBuffer dnaBuffer = new StringBuffer();
NBTTagInt tag = (NBTTagInt)stack.func_77978_p().func_74781_a("lastDna");
if (null != tag)
{
int val = tag.func_150287_d();
appendDnaLetter(dnaBuffer, val, 20, 4, new char[] { 'z', 'u', 'n', 'p', 'd', 'U', 'P', 'N', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K' });
appendDnaLetter(dnaBuffer, val, 16, 2, new char[] { '0', '0', '0', 'F' });
appendDnaLetter(dnaBuffer, val, 12, 2, new char[] { '0', '0', '0', 'D' });
appendDnaLetter(dnaBuffer, val, 8, 2, new char[] { '0', '0', '0', 'A' });
appendDnaLetter(dnaBuffer, val, 4, 2, new char[] { '0', 'T', '0', 'B' });
appendDnaLetter(dnaBuffer, val, 0, 2, new char[] { '0', '0', '0', 'H' });
retString = retString + " - DNA: " + dnaBuffer;
}
}
return retString;
}
EDIT: Your DNA Tester seems flawed. I got a code of up000000T000 on an alicorn with big wings, fire, and an aura. Not sure how, but I did.
The Cheat Code I used:
Dna1:20604004
SECOND EDIT: If you use code Dna1:30000000 or greater, the horse is invisible, flies, and has fire. Once again, not sure why.
On a separate note, do you think you could move the flank marks back a bit? Where it is right now It tends to get covered by the saddle/armor. I'm thinking of making a custom horse (or two, or three), but this is a bit of a sticking point.
I'll take a look and let you know. Should be do-able, but I have to make sure it looks OK before committing. Thanks for the feedback!
New release - 1.2.2!
See what's new!
Go get it at the download page!
Bit offset for my DNA mask? Are you asking about the bit offsets for all the different features that make up a DNA string (currently it's stored as one 32-bit int)? I can share that - I've been meaning to put it on the cheats page for while now, actually, as well as more cheats, of course.
I have some stuff going on right now, but I'll get that up soon.
Also, I'll look into the bug with the DNA Tester, and give some more explanation about the invisible horses in a bit.
Took a look at my code - All of the issues you are seeing above are because of gene values that some parts of the code don't know how to deal with (to put it simply). In the next update I'll get these fixed up.
In more detail:
I left some space for future expansion in the value ranges for different genes, and this is what trips up the DNA tester. For instance, Destrier size is represented by 2 bits (for 4 possible values), but at the moment, all we care about is 1 bit worth of info (i.e., does the horse have that attribute, or not?) So, the code for making the horse have a big body says, "Is this gene not 0? If so, give it a big body!" and the DNA tester says, "Does the DNA for this gene == 0x11 (i.e. 3) ? Is so, print a 'D', if not print a '0'!" Where you see the disconnect if is the gene value is 0x01 (1) or 0x10 (2), because the horse code makes a big body for both of these values, but the DNA Tester shows '0' for both of them.
You get invisible horses for a similar reason. Horse hide genes are represented by 4 bits, giving me space for 16 different hides. I only use 9 of those spots right now, so the other 7 spots don't have textures. If the hide gene value is in the range of 9-15, you get a horse with no texture, making it invisible.
Cheat codes were something I added as an afterthought, and because of that I didn't really think about the ramifications of people exploring the entire range of DNA values.
Thanks for catching this!
This should get you the horse you want: 125829119
First of all, I left out one section in my spoiler that explains what I meant by offset:
That's what I meant by offset, but if the Dna1 code is the decimal form of the 32 bit integer used for the DNA, then that makes the offset irrelevant, as well as allowing for easy creation of cheat codes, sans one unclear point: wings. Which values (0x00, 0x01, 0x10, & 0x11) give T wings, B wings, and no wings?
Of course, if you plan on posting all of this to the Cheats page, then I can just see it there. Either way, thank you for the code, and for fixing the /summon name glitch.
PS: One possible solution for the invisibility 'glitch' would be to assign 'uu' to any currently unassigned hide values, much the same as vanilla horse variants.
Tiny wings are 0x01, Big wings are 0x10 or 0x11 (although the DNA tester incorrectly says 0x10 is no wings), and no wings is 0x00.
That is a good solution for the invisibility glitch, and probably the one I'll go with.
As for the /summon name glitch, you are welcome! It was something that was nagging at me - I'll often just summon a tame unicorn with a saddle for testing, but it was annoying that that didn't work for the pegasus.
I noticed that you created your account just the other day, probably to post these comments. I also think it's interesting that you went to the trouble to decompile my code! It's cool to see someone take such a deep interest in my mod.
Actually, I made an account to use the Curse Minecraft Plugin, which led to me finding your mod, which led me to your website, which led me to this page, but yes. Also, I have decompiled stuff like flans and TMI/NEI, so yours was actually a lot of fun. Plus, it was interesting trying to figure out how your genetics coding worked. You did a much better job than Vanilla Minecraft at imitating real genetics. Vanilla horse breeding was a pain, especially when you only had a ~%30 percent of improving your stock when starting with decent stats. Yours makes it much simpler. And the main reason I was appreciative of your fixing the name glitch is when I summon pegesi/nightmares with boosted health/jump/speed stats.
I do have another question: how (if at all) does your mod change the 'normal' horse stats (health, speed, jump height)? Because I've noticed that the health and speed of your horses are above average, but that they can still be changed by inserting NBT tags in the /summon or /entitydata commands.
Also, was my assumption that the Dna1 code is the decimal form of the 32 bit DNA integer correct? Because, if so, I could probably throw together my own codes fairly easily.
Sorry if I'm asking too many questions. I tend to do that.
My horses do change the horse stats some: health, speed, knock-back resistance, and damage are all tweaked depending on the breed. I'd have to look to see how these values propagate to children of the purebreds.
Dna1 is stored as an integer, and if you set it with an /entityData command (or the entityData portion of a /summon command) you need to set it as a decimal number. All my accesses to it in code are bitwise, of course.
I've been toying with the idea of making some cheat code commands to make playing with the DNA easier, but haven't decided if I should do that, yet.
I just wanted to update you, Kane. I have found Destriers and one Unicorn on my Normal Map. I have not played all week, but I will be looking for a Pegasus this weekend.
Thanks again.
I HAVE A REALLY COOL BREED IDEA!
How about the legendary Kirin? (Dragon-Unicorn) If you haven't seen it yet,search "Monster Hunter Kirin" Very Fast,Jumps High,Summons Lightning every charge or whenever it gallops,Hard to tame,Hard to kill and BOSS FIGHT! It only spawns in thunderstorms and high cold areas,specifically Snowy Extreme Hills and Ice Spike Plains. It's a bit bigger than the Unicorn but smaller than the Destrier. Mortal enemy is the Nightmare and will basically kill each other on sight. Immune to fire and lightning and has a short tail. it's bluish-white in color and has a black subspecies which is stronger but smaller in size and harder to kill,called "The Oroshi Kirin". Once tamed,it doesn't need a saddle to control. so,what do you say? The Kirin is really cool and besides,it will make the "Ultimate Unicorn Mod" more ULTIMATE!
EDIT:
Once Tamed,you can turn it into a girl/bodyguard to protect you by right-clicking with paper in your hand.
Here are some pictures of the Kirin,Oroshi Kirin,and Kirin Girl:
The Legendary Kirin:
The Great Oroshi Kirin:
The Kirin Girl:
EDIT:Although it is very powerful,it does not have the same traits as the Destrier and cannot destroy blocks.
I was finally able to figure out the 'hide' portion of the DNA. I knew that the other values were 4 digit binary, but the hide kept me confused until I figured it out: the hide is 4 digit binary used for the decimal value of the skin (z=0, u=1, p=2, etc.), while the other dna traits use four digit binary for a simple true-false set (0000 means no wings, 0001-0011 means small wings, 0100-1111 means big wings). I think I can throw together a little binary-to-decimal generator for the Dna1 cheat codes (using default values like 0000 and 1111 instead of 0110).
Not sure if this is how you built it, but it's how I got it to work. Will have a prototype code gen ready soon.
Also, I noticed that you have another 3 dna sets for you to add in the future. Any Ideas as to what they may be?
PS: Everyone like this post if you think Rainbow Smash should have been Rainbow Crash.
You are right - the hide gene is 4-digit binary. I did mention that above, too.
Yeah, I have lots of extra space for more DNA. I am working on a new horse breed right now that will use some of that.
Good job with the cheat code generator! Looking forward to seeing it in action!
Definitely some cool ideas here. I'll add them to my list!
Thanks for the update! I'm glad to see you are finding the horses you are looking for!
Thanks,Kane! I'll be looking forward to the next update.And if I'm not mistaken,you're currently working on on the Hippogriff,right? saw it on your website.