Improved IGrinderRegistry (#3110)

* Improved IGrinderRegistry

Added a builder for grinder recipes similar to IInscriberRegistry.
Replaced different add methods with this builder.
IIinscriberRegistry#addRecipe and removeRecipe now return true on success.
This commit is contained in:
yueh
2017-09-29 20:32:59 +02:00
committed by GitHub
parent 1c05dd5834
commit 2ed7a5598a
7 changed files with 388 additions and 154 deletions
@@ -58,6 +58,9 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraftforge.fml.common.event.FMLInterModComms.IMCMessage;
import appeng.api.AEApi;
import appeng.api.features.IGrinderRecipe;
import appeng.api.features.IGrinderRecipeBuilder;
import appeng.api.features.IGrinderRegistry;
import appeng.core.api.IIMCProcessor;
@@ -96,12 +99,26 @@ public class IMCGrinder implements IIMCProcessor
}
final float chance = msg.getFloat( "chance" );
final IGrinderRegistry grinderRegistry = AEApi.instance().registries().grinder();
final IGrinderRecipeBuilder builder = grinderRegistry.builder();
final IGrinderRecipe grinderRecipe = builder.withInput( in )
.withOutput( out )
.withFirstOptional( optional, chance )
.withTurns( turns )
.build();
AEApi.instance().registries().grinder().addRecipe( in, out, optional, chance, turns );
grinderRegistry.addRecipe( grinderRecipe );
}
else
{
AEApi.instance().registries().grinder().addRecipe( in, out, turns );
final IGrinderRegistry grinderRegistry = AEApi.instance().registries().grinder();
final IGrinderRecipeBuilder builder = grinderRegistry.builder();
final IGrinderRecipe grinderRecipe = builder.withInput( in )
.withOutput( out )
.withTurns( turns )
.build();
grinderRegistry.addRecipe( grinderRecipe );
}
}
}