04-21-2012, 01:32 PM (This post was last modified: 04-21-2012, 02:51 PM by dorkboy.)
Hello Everyone.
I have most of the recipes working. I started going down the list and testing recipes to make sure they work, but found some of the default recipes that i copied over from the original file either didn't work or allowed you to cheat which i'll explain below. All my recipes work. So, right now I've created a new recipes.txt file, copied over the recipes I've made, and going down list coding the other recipes by hand. This way I know they work. The original howto instructions for creating recipes were hard to follow so I've rewritten them in the new recipes.txt file. I did this so that others can easily add new recipes when new Minecraft recipes come out.
What recipes will be included upon first release? Currently, every non-exponent recipe is working. The current recipe syntax makes it impossible to add recipes that include item ids with exponents. Examples are Dyes, Colored Wool, and some other recipes like cobblestone slabs and sandstone slabs.
The newest addition to the recipes file as of today is the Enchantment / Brewing section. It includes: Glass Bottle, Cauldron, Brewing Stand, Blaze Powder, Magma Cream, Fermented Spider Eye, Glistering Melon, Gold Nugget, and Enchantment Table. Note that these are recipes only.
Some recipes that were included in the default recipe file were written incorrectly and allowed cheating. For example, a bucket uses 3 iron ingots in the shape of a 'v' however, the default recipe had only 2 iron ingots which used the same recipe as the flint and steel recipe. So it was allowing 2 ingots to create a bucket and adding the 3rd iron ingot broke the recipe and prevented getting the bucket. This is one reason I decided to hand code all the default recipes by hand, to ensure everything works like official Minecraft server.
This will be my last update until the actual file releases. As long as everything goes as plan, the first release of the new recipes.txt and items.ini file should be posted by the end of next week. This gives me time to code and double check everything to make sure there are no errors. Thank you for your patience. I assure you that it will be worth the wait.
Great job. I just hope You don't lose interest before actually posting the files
As for the exponented-recipes, if you can make up a syntax that will work, feel free to let us know and try posting a few such recipes so that we can try it out, we can then implement it in code.
As for releases, MCServer doesn't have any fixed schedule or even fixed definition of a release. The last version that is considered "stable" is a few months old and hopelessly obsoleted; nightbuilds are being compiled and uploaded to my website regularly twice a day (if there are any changes in the sources) so you could say we release almost continuously So whenever's stuff ready, it's there for testing.
06-03-2012, 05:11 PM (This post was last modified: 06-03-2012, 05:12 PM by xoft.)
Nice work, I integrated your recipes into Rev 543.
A few things I'd like "recipe contributors" to keep in mind:
- please don't remove the blank lines. They're there for easier orientation
- please don't use Tabs. Tabs in the middle of lines are evil - everyone may have a different Tab width setting and the file becomes Tea party then. Use spaces. Lots of them. Tabs are for indenting at the beginning of lines, which is not used in the recipe file.
Also, you keep whining about damage values; I've already said here before: give us an example syntax that you'd use, and we'll see about implementing it.
06-03-2012, 06:13 PM (This post was last modified: 06-03-2012, 06:17 PM by Luksor.)
(06-03-2012, 05:11 PM)xoft Wrote: Nice work, I integrated your recipes into Rev 543.
A few things I'd like "recipe contributors" to keep in mind:
- please don't remove the blank lines. They're there for easier orientation
- please don't use Tabs. Tabs in the middle of lines are evil - everyone may have a different Tab width setting and the file becomes Tea party then. Use spaces. Lots of them. Tabs are for indenting at the beginning of lines, which is not used in the recipe file.
Ok, sorry about that
(06-03-2012, 05:11 PM)xoft Wrote: Also, you keep whining about damage values; I've already said here before: give us an example syntax that you'd use, and we'll see about implementing it.
Maybe something like this:
<ingredientN> = x:y:<ItemID>:<Damage>:<Amount>
<result> = <ResultingItemID>:<Damage>:<Amount>
The Lapis Lazuli block recipe for exampe:
3x3,*:*:351:4:1@22:0:1
Also I have a little problem implementing shapeless recipes like Eye of Ender.
I've made it, but i works only in one position (Blaze Powder on top of an Ender Pearl). Is MCServer not supporting shapeless recipes or am I missing some syntax there?
06-03-2012, 07:01 PM (This post was last modified: 06-03-2012, 07:30 PM by Luksor.)
(06-03-2012, 06:46 PM)xoft Wrote: This would become a nightmare both to parse and to human-read, if you mixed non-damage and damage recipes together.
If you have a better idea, go ahead and code it. I will adapt to it.
(06-03-2012, 06:46 PM)xoft Wrote: List all the possibilities into the recipe file. There is no built-in support for shapeless recipes. Hoes and Axes already use this approach.
Yeah... but hoes and axes have 2 possible combinations. There's like 72 for Eye of Ender (if I'm counting right).
#Stone hoe:
Stick, 2:2, 2:3, Cobblestone: 2:1, *:1 | StoneHoe
# The stone ingredient says one stone has to be at 2:1 and one more has to be anywhere in the top row
The grid size doesn't matter anymore, since the parser will automatically bound the recipe to correct grid size.
Is anyone against this new syntax? Does anyone see any potential flaws? If I rewrote the recipe parser, would anyone be kind enough to rewrite the current recipes.txt to match this format?