use of binnie.extratrees.blocks.decor.MultiFenceRecipePattern in project Binnie by ForestryMC.
the class MultiFenceRecipeRegistryPlugin method getRecipes.
private List<IRecipeWrapper> getRecipes(IFocus<ItemStack> focus) {
ItemStack ingredient = focus.getValue();
List<IRecipeWrapper> recipes = new ArrayList<>();
if (focus.getMode() == Mode.INPUT) {
IPlankType plankType = WoodManager.getPlankType(ingredient);
if (plankType != null) {
for (MultiFenceRecipePattern pattern : MultiFenceRecipePattern.VALUES) {
recipes.add(new MultiFenceRecipeSizeWrapper(pattern, plankType));
}
for (int size = 0; size < 3; size++) {
for (final boolean solid : new boolean[] { false, true }) {
recipes.add(new MultiFenceRecipeEmbeddedWrapper(plankType, new FenceType(size, solid, false)));
}
}
} else {
FenceDescription desc = WoodManager.getFenceDescription(ingredient);
if (desc != null) {
if (!desc.getFenceType().isEmbossed()) {
recipes.add(new MultiFenceRecipeEmbeddedWrapper(desc));
}
if (!desc.getFenceType().isSolid()) {
recipes.add(new MultiFenceRecipeSolidWrapper(desc));
}
}
}
} else {
FenceDescription desc = WoodManager.getFenceDescription(ingredient);
if (desc != null) {
int size = desc.getFenceType().getSize();
recipes.add(new MultiFenceRecipeSizeWrapper(MultiFenceRecipePattern.VALUES[size * 2], desc.getPlankType(), desc.getSecondaryPlankType()));
recipes.add(new MultiFenceRecipeSizeWrapper(MultiFenceRecipePattern.VALUES[size * 2 + 1], desc.getPlankType(), desc.getSecondaryPlankType()));
if (desc.getFenceType().isEmbossed()) {
recipes.add(new MultiFenceRecipeEmbeddedWrapper(desc));
}
if (desc.getFenceType().isSolid()) {
recipes.add(new MultiFenceRecipeSolidWrapper(desc));
}
}
}
return recipes;
}
use of binnie.extratrees.blocks.decor.MultiFenceRecipePattern in project Binnie by ForestryMC.
the class MultiFenceRecipeRegistryPlugin method getRecipeWrappers.
@Override
public <T extends IRecipeWrapper> List<T> getRecipeWrappers(IRecipeCategory<T> recipeCategory) {
if (!recipeCategory.getUid().equals(VanillaRecipeCategoryUid.CRAFTING)) {
return Collections.emptyList();
}
if (recipes.isEmpty()) {
for (MultiFenceRecipePattern pattern : MultiFenceRecipePattern.VALUES) {
recipes.add(new MultiFenceRecipeSizeWrapper(pattern));
}
for (FenceType fenceType : FenceType.getValues()) {
recipes.add(new MultiFenceRecipeEmbeddedWrapper(fenceType));
recipes.add(new MultiFenceRecipeSolidWrapper(fenceType));
}
}
return (List<T>) recipes;
}
Aggregations