Website Recipe Update.
This commit is contained in:
parent
8c0658d3de
commit
137549f8fa
4 changed files with 66 additions and 21 deletions
|
@ -103,6 +103,8 @@ public class Ingredient implements IIngredient
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
throw new RecipeError( input + " : Needs at least Namespace and Name." );
|
throw new RecipeError( input + " : Needs at least Namespace and Name." );
|
||||||
|
|
||||||
|
handler.data.knownItem.add( toString() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -171,7 +173,7 @@ public class Ingredient implements IIngredient
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( set.length == 0 )
|
if ( set.length == 0 )
|
||||||
throw new MissingIngredientError( toString() + " - ore dictionary could not be resolved to any items." );
|
throw new MissingIngredientError( getItemName() + " - ore dictionary could not be resolved to any items." );
|
||||||
|
|
||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,8 @@ import java.util.Map.Entry;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
|
import com.google.common.collect.HashMultimap;
|
||||||
|
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import appeng.api.AEApi;
|
import appeng.api.AEApi;
|
||||||
import appeng.api.exceptions.MissingIngredientError;
|
import appeng.api.exceptions.MissingIngredientError;
|
||||||
|
@ -133,37 +135,50 @@ public class RecipeHandler implements IRecipeHandler
|
||||||
{
|
{
|
||||||
ZipOutputStream out = new ZipOutputStream( new FileOutputStream( "recipes.zip" ) );
|
ZipOutputStream out = new ZipOutputStream( new FileOutputStream( "recipes.zip" ) );
|
||||||
|
|
||||||
|
HashMultimap<String, IWebsiteSeralizer> combined = HashMultimap.create();
|
||||||
|
|
||||||
for (String s : data.knownItem)
|
for (String s : data.knownItem)
|
||||||
{
|
{
|
||||||
try
|
try {
|
||||||
{
|
|
||||||
Ingredient i = new Ingredient( this, s, 1 );
|
Ingredient i = new Ingredient( this, s, 1 );
|
||||||
|
|
||||||
for (ItemStack is : i.getItemStackSet())
|
for (ItemStack is : i.getItemStackSet())
|
||||||
{
|
{
|
||||||
|
String realName = getName( is );
|
||||||
List<IWebsiteSeralizer> recipes = findRecipe( is );
|
List<IWebsiteSeralizer> recipes = findRecipe( is );
|
||||||
if ( !recipes.isEmpty() )
|
if ( !recipes.isEmpty() )
|
||||||
{
|
combined.putAll(realName, recipes);
|
||||||
int offset = 0;
|
|
||||||
String realName = getName( is );
|
|
||||||
|
|
||||||
for (IWebsiteSeralizer ws : recipes)
|
|
||||||
{
|
|
||||||
out.putNextEntry( new ZipEntry( realName + "_" + offset + ".txt" ) );
|
|
||||||
offset++;
|
|
||||||
out.write( ws.getPattern( this ).getBytes() );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} catch (RecipeError e1) {
|
||||||
|
|
||||||
|
} catch (MissedIngredientSet e1) {
|
||||||
|
|
||||||
|
} catch (RegistrationError e1) {
|
||||||
|
|
||||||
|
} catch (MissingIngredientError e1) {
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Throwable t)
|
}
|
||||||
|
|
||||||
|
for ( String realName : combined.keySet() )
|
||||||
|
{
|
||||||
|
int offset = 0;
|
||||||
|
|
||||||
|
for ( IWebsiteSeralizer ws : combined.get(realName) )
|
||||||
{
|
{
|
||||||
// :P
|
String rew = ws.getPattern( this );
|
||||||
}
|
if ( rew != null && rew.length() > 0 )
|
||||||
|
{
|
||||||
|
out.putNextEntry( new ZipEntry( realName + "_" + offset + ".txt" ) );
|
||||||
|
offset++;
|
||||||
|
out.write( rew.getBytes() );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
out.close();
|
out.close();
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (FileNotFoundException e1)
|
catch (FileNotFoundException e1)
|
||||||
{
|
{
|
||||||
|
@ -256,7 +271,7 @@ public class RecipeHandler implements IRecipeHandler
|
||||||
switch (is.getItemDamage())
|
switch (is.getItemDamage())
|
||||||
{
|
{
|
||||||
case 1:
|
case 1:
|
||||||
realName = realName.replace( "blockCraftingUnit", "blockCraftingAccelerator" );
|
realName = realName.replace( "Unit", "Accelerator" );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
@ -585,7 +600,6 @@ public class RecipeHandler implements IRecipeHandler
|
||||||
if ( gi != null )
|
if ( gi != null )
|
||||||
return gi.copy( qty );
|
return gi.copy( qty );
|
||||||
|
|
||||||
data.knownItem.add( v );
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return new Ingredient( this, v, qty );
|
return new Ingredient( this, v, qty );
|
||||||
|
|
|
@ -93,6 +93,21 @@ public class Shaped implements ICraftHandler, IWebsiteSeralizer
|
||||||
@Override
|
@Override
|
||||||
public boolean canCraft(ItemStack reqOutput) throws RegistrationError, MissingIngredientError
|
public boolean canCraft(ItemStack reqOutput) throws RegistrationError, MissingIngredientError
|
||||||
{
|
{
|
||||||
|
for (int y = 0; y < rows; y++)
|
||||||
|
for (int x = 0; x < cols; x++)
|
||||||
|
{
|
||||||
|
IIngredient i = inputs.get( y ).get( x );
|
||||||
|
|
||||||
|
if ( !i.isAir() )
|
||||||
|
{
|
||||||
|
for ( ItemStack r : i.getItemStackSet() )
|
||||||
|
{
|
||||||
|
if ( Platform.isSameItemPrecise( r, reqOutput) )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return Platform.isSameItemPrecise( output.getItemStack(), reqOutput );
|
return Platform.isSameItemPrecise( output.getItemStack(), reqOutput );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -60,6 +60,20 @@ public class Shapeless implements ICraftHandler, IWebsiteSeralizer
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCraft(ItemStack reqOutput) throws RegistrationError, MissingIngredientError {
|
public boolean canCraft(ItemStack reqOutput) throws RegistrationError, MissingIngredientError {
|
||||||
|
|
||||||
|
for ( int y = 0; y < inputs.size(); y++ )
|
||||||
|
{
|
||||||
|
IIngredient i = inputs.get(y);
|
||||||
|
if ( !i.isAir() )
|
||||||
|
{
|
||||||
|
for ( ItemStack r : i.getItemStackSet() )
|
||||||
|
{
|
||||||
|
if ( Platform.isSameItemPrecise( r, reqOutput) )
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return Platform.isSameItemPrecise( output.getItemStack(),reqOutput );
|
return Platform.isSameItemPrecise( output.getItemStack(),reqOutput );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue