Initial 1.9 commit

This DOES NOT BUILD. Do not even attempt.

Almost everything has been ported besides the block/item packages. Then it's a matter of testing what broke.
This commit is contained in:
Nick 2016-03-17 13:00:44 -07:00
parent f896383fe6
commit 6c729db70c
359 changed files with 1858 additions and 4447 deletions

View file

@ -1,98 +0,0 @@
package WayofTime.bloodmagic.compat.jei.forge;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
import mezz.jei.api.gui.ICraftingGridHelper;
import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.recipe.IRecipeCategory;
import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import WayofTime.bloodmagic.api.Constants;
import WayofTime.bloodmagic.compat.jei.BloodMagicPlugin;
import WayofTime.bloodmagic.util.helper.TextHelper;
public class TartaricForgeRecipeCategory implements IRecipeCategory
{
private static final int OUTPUT_SLOT = 0;
private static final int GEM_SLOT = 1;
private static final int INPUT_SLOT = 2;
@Nonnull
private final IDrawable background = BloodMagicPlugin.jeiHelper.getGuiHelper().createDrawable(new ResourceLocation(Constants.Mod.DOMAIN + "gui/jei/soulForge.png"), 0, 0, 100, 40);
@Nonnull
private final String localizedName = TextHelper.localize("jei.BloodMagic.recipe.soulForge");
@Nonnull
private final ICraftingGridHelper craftingGridHelper;
public TartaricForgeRecipeCategory()
{
craftingGridHelper = BloodMagicPlugin.jeiHelper.getGuiHelper().createCraftingGridHelper(INPUT_SLOT, OUTPUT_SLOT);
}
@Nonnull
@Override
public String getUid()
{
return Constants.Compat.JEI_CATEGORY_SOULFORGE;
}
@Nonnull
@Override
public String getTitle()
{
return localizedName;
}
@Nonnull
@Override
public IDrawable getBackground()
{
return background;
}
@Override
public void drawExtras(Minecraft minecraft)
{
}
@Override
public void drawAnimations(Minecraft minecraft)
{
}
@Override
@SuppressWarnings("unchecked")
public void setRecipe(@Nonnull IRecipeLayout recipeLayout, @Nonnull IRecipeWrapper recipeWrapper)
{
IGuiItemStackGroup guiItemStacks = recipeLayout.getItemStacks();
guiItemStacks.init(OUTPUT_SLOT, false, 73, 13);
guiItemStacks.init(GEM_SLOT, true, 42, 0);
for (int y = 0; y < 3; ++y)
{
for (int x = 0; x < 3; ++x)
{
int index = INPUT_SLOT + x + (y * 3);
guiItemStacks.init(index, true, x * 18, y * 18);
}
}
if (recipeWrapper instanceof TartaricForgeRecipeJEI)
{
TartaricForgeRecipeJEI recipe = (TartaricForgeRecipeJEI) recipeWrapper;
guiItemStacks.set(GEM_SLOT, (ArrayList<ItemStack>) recipe.getInputs().get(1));
craftingGridHelper.setOutput(guiItemStacks, recipe.getOutputs());
craftingGridHelper.setInput(guiItemStacks, (List) recipe.getInputs().get(0), 2, 3);
}
}
}

View file

@ -1,37 +0,0 @@
package WayofTime.bloodmagic.compat.jei.forge;
import javax.annotation.Nonnull;
import mezz.jei.api.recipe.IRecipeHandler;
import mezz.jei.api.recipe.IRecipeWrapper;
import WayofTime.bloodmagic.api.Constants;
public class TartaricForgeRecipeHandler implements IRecipeHandler<TartaricForgeRecipeJEI>
{
@Nonnull
@Override
public Class<TartaricForgeRecipeJEI> getRecipeClass()
{
return TartaricForgeRecipeJEI.class;
}
@Nonnull
@Override
public String getRecipeCategoryUid()
{
return Constants.Compat.JEI_CATEGORY_SOULFORGE;
}
@Nonnull
@Override
public IRecipeWrapper getRecipeWrapper(@Nonnull TartaricForgeRecipeJEI recipe)
{
return recipe;
}
@Override
public boolean isRecipeValid(@Nonnull TartaricForgeRecipeJEI recipe)
{
return recipe.getInputs().get(0).size() > 0 && recipe.getOutputs().size() > 0;
}
}

View file

@ -1,83 +0,0 @@
package WayofTime.bloodmagic.compat.jei.forge;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import lombok.Getter;
import mezz.jei.api.recipe.BlankRecipeWrapper;
import net.minecraft.item.ItemStack;
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
import WayofTime.bloodmagic.registry.ModItems;
import WayofTime.bloodmagic.util.helper.TextHelper;
public class TartaricForgeRecipeJEI extends BlankRecipeWrapper
{
@Getter
private TartaricForgeRecipe recipe;
@Getter
private ArrayList<ItemStack> validGems = new ArrayList<ItemStack>();
public TartaricForgeRecipeJEI(TartaricForgeRecipe recipe)
{
this.recipe = recipe;
for (DefaultWill will : DefaultWill.values())
if (will.minSouls >= recipe.getMinimumSouls())
this.validGems.add(will.willStack);
}
@Override
@Nonnull
public List<Collection> getInputs()
{
ArrayList<Collection> ret = new ArrayList<Collection>();
ret.add(recipe.getInput());
ret.add(validGems);
return ret;
}
@Override
@Nonnull
public List<ItemStack> getOutputs()
{
return Collections.singletonList(recipe.getRecipeOutput());
}
@Nullable
@Override
public List<String> getTooltipStrings(int mouseX, int mouseY)
{
ArrayList<String> ret = new ArrayList<String>();
if (mouseX >= 40 && mouseX <= 60 && mouseY >= 21 && mouseY <= 34)
{
ret.add(TextHelper.localize("jei.BloodMagic.recipe.minimumSouls", recipe.getMinimumSouls()));
ret.add(TextHelper.localize("jei.BloodMagic.recipe.soulsDrained", recipe.getSoulsDrained()));
return ret;
}
return null;
}
public enum DefaultWill
{
SOUL(new ItemStack(ModItems.monsterSoul, 1, 0), 64),
PETTY(new ItemStack(ModItems.soulGem, 1, 0), 64),
LESSER(new ItemStack(ModItems.soulGem, 1, 1), 256),
COMMON(new ItemStack(ModItems.soulGem, 1, 2), 1024),
GREATER(new ItemStack(ModItems.soulGem, 1, 3), 4096),
GRAND(new ItemStack(ModItems.soulGem, 1, 4), 16384);
public final ItemStack willStack;
public final double minSouls;
DefaultWill(ItemStack willStack, double minSouls)
{
this.willStack = willStack;
this.minSouls = minSouls;
}
}
}

View file

@ -1,24 +0,0 @@
package WayofTime.bloodmagic.compat.jei.forge;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nonnull;
import WayofTime.bloodmagic.api.recipe.TartaricForgeRecipe;
import WayofTime.bloodmagic.api.registry.TartaricForgeRecipeRegistry;
public class TartaricForgeRecipeMaker
{
@Nonnull
public static List<TartaricForgeRecipeJEI> getRecipes()
{
List<TartaricForgeRecipe> recipeList = TartaricForgeRecipeRegistry.getRecipeList();
ArrayList<TartaricForgeRecipeJEI> recipes = new ArrayList<TartaricForgeRecipeJEI>();
for (TartaricForgeRecipe recipe : recipeList)
recipes.add(new TartaricForgeRecipeJEI(recipe));
return recipes;
}
}