CT is working except add recipes

This commit is contained in:
Mohammad-Ali Minaie
2018-10-02 03:27:30 -04:00
parent 2ef0a38a8c
commit 1b2ca345ce
24 changed files with 227 additions and 438 deletions

View File

@@ -121,23 +121,26 @@ public class BloomeryBase extends CustomContainerFacing implements ITileEntityPr
ItemStackHelper.loadAllItems(tag, dropList);
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
if (recipe != null) {
Integer minTemp = recipe.getCookTemp();
Integer cookCounter = tile.getCookCounter();
Integer idealTime = recipe.getCookTime();
Integer remainingTime = idealTime - cookCounter;
if(!recipe.isHidden()) {
if (!recipe.isDisabled()) {
Integer minTemp = recipe.getCookTemp();
Integer cookCounter = tile.getCookCounter();
Integer idealTime = recipe.getCookTime();
Integer remainingTime = idealTime - cookCounter;
String display1 =
"Cooking: " + tileItem1.getDisplayName() +
" Target Temp: " + minTemp.toString() +
" Time Left: " + remainingTime.toString();
String display2 = tileItem1.getDisplayName() + "finished.";
ITextComponent itextcomponent1 = null;
if (tileItem1.getSubCompound("BlockEntityTag").getBoolean("status")) {
itextcomponent1 = new TextComponentString(display2);
} else itextcomponent1 = new TextComponentString(display1);
player.sendStatusMessage(itextcomponent1, false);
String display1 =
"Cooking: " + tileItem1.getDisplayName() +
" Target Temp: " + minTemp.toString() +
" Time Left: " + remainingTime.toString();
String display2 = tileItem1.getDisplayName() + "finished.";
ITextComponent itextcomponent1 = null;
if (tileItem1.getSubCompound("BlockEntityTag").getBoolean("status")) {
itextcomponent1 = new TextComponentString(display2);
} else itextcomponent1 = new TextComponentString(display1);
player.sendStatusMessage(itextcomponent1, false);
}
}
}
return true;
}

View File

@@ -1,12 +1,10 @@
package nmd.primal.forgecraft.compat.CT;
package nmd.primal.forgecraft.compat.ct;
import crafttweaker.CraftTweakerAPI;
import crafttweaker.IAction;
import crafttweaker.annotations.ModOnly;
import crafttweaker.annotations.ZenRegister;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.Ingredient;
import nmd.primal.core.common.PrimalCore;
@@ -15,9 +13,7 @@ import nmd.primal.forgecraft.crafting.CrucibleCrafting;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
import java.util.List;
@ZenClass("mods.primal.NBTCrucible")
@ZenClass("mods.forgecraft.NBTCrucible")
@ModOnly(ModInfo.MOD_ID)
@ZenRegister
public class CTCrucible {

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI;
package nmd.primal.forgecraft.compat.jei;
import com.google.common.collect.ImmutableList;
import mezz.jei.api.gui.IDrawable;

View File

@@ -1,22 +1,22 @@
package nmd.primal.forgecraft.compat.JEI;
package nmd.primal.forgecraft.compat.jei;
import mezz.jei.api.*;
import mezz.jei.api.gui.ICraftingGridHelper;
import mezz.jei.api.recipe.IRecipeCategoryRegistration;
import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary;
import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeCategory;
import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeChecker;
import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeHandler;
import nmd.primal.forgecraft.compat.JEI.casting.CastingRecipeCategory;
import nmd.primal.forgecraft.compat.JEI.casting.CastingRecipeChecker;
import nmd.primal.forgecraft.compat.JEI.casting.CastingRecipeHandler;
import nmd.primal.forgecraft.compat.JEI.crucible.CrucibleRecipeCategory;
import nmd.primal.forgecraft.compat.JEI.crucible.CrucibleRecipeChecker;
import nmd.primal.forgecraft.compat.JEI.crucible.CrucibleRecipeHandler;
import nmd.primal.forgecraft.compat.JEI.forge.ForgeRecipeCategory;
import nmd.primal.forgecraft.compat.JEI.forge.ForgeRecipeChecker;
import nmd.primal.forgecraft.compat.JEI.forge.ForgeRecipeHandler;
import nmd.primal.forgecraft.compat.jei.anvil.AnvilRecipeCategory;
import nmd.primal.forgecraft.compat.jei.anvil.AnvilRecipeChecker;
import nmd.primal.forgecraft.compat.jei.anvil.AnvilRecipeHandler;
import nmd.primal.forgecraft.compat.jei.casting.CastingRecipeCategory;
import nmd.primal.forgecraft.compat.jei.casting.CastingRecipeChecker;
import nmd.primal.forgecraft.compat.jei.casting.CastingRecipeHandler;
import nmd.primal.forgecraft.compat.jei.crucible.CrucibleRecipeCategory;
import nmd.primal.forgecraft.compat.jei.crucible.CrucibleRecipeChecker;
import nmd.primal.forgecraft.compat.jei.crucible.CrucibleRecipeHandler;
import nmd.primal.forgecraft.compat.jei.forge.ForgeRecipeCategory;
import nmd.primal.forgecraft.compat.jei.forge.ForgeRecipeChecker;
import nmd.primal.forgecraft.compat.jei.forge.ForgeRecipeHandler;
import nmd.primal.forgecraft.crafting.AnvilCrafting;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import nmd.primal.forgecraft.crafting.CrucibleCrafting;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.anvil;
package nmd.primal.forgecraft.compat.jei.anvil;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
@@ -11,7 +11,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import nmd.primal.core.common.helper.CommonUtils;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.compat.JEI.AbstractCategory;
import nmd.primal.forgecraft.compat.jei.AbstractCategory;
import nmd.primal.forgecraft.init.ModItems;
import nmd.primal.forgecraft.items.parts.ToolPart;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.anvil;
package nmd.primal.forgecraft.compat.jei.anvil;
import nmd.primal.forgecraft.crafting.AnvilCrafting;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.anvil;
package nmd.primal.forgecraft.compat.jei.anvil;
import mezz.jei.api.recipe.IRecipeWrapper;
import mezz.jei.api.recipe.IRecipeWrapperFactory;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.anvil;
package nmd.primal.forgecraft.compat.jei.anvil;
import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.IRecipeWrapper;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.casting;
package nmd.primal.forgecraft.compat.jei.casting;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
@@ -10,7 +10,7 @@ import net.minecraft.client.resources.I18n;
import net.minecraft.util.ResourceLocation;
import nmd.primal.core.common.helper.CommonUtils;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.compat.JEI.AbstractCategory;
import nmd.primal.forgecraft.compat.jei.AbstractCategory;
import javax.annotation.Nonnull;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.casting;
package nmd.primal.forgecraft.compat.jei.casting;
import nmd.primal.forgecraft.crafting.CastingCrafting;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.casting;
package nmd.primal.forgecraft.compat.jei.casting;
import mezz.jei.api.recipe.IRecipeWrapper;
import mezz.jei.api.recipe.IRecipeWrapperFactory;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.casting;
package nmd.primal.forgecraft.compat.jei.casting;
import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.IRecipeWrapper;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.crucible;
package nmd.primal.forgecraft.compat.jei.crucible;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
@@ -11,7 +11,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import nmd.primal.core.common.helper.CommonUtils;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.compat.JEI.AbstractCategory;
import nmd.primal.forgecraft.compat.jei.AbstractCategory;
import nmd.primal.forgecraft.init.ModBlocks;
import javax.annotation.Nonnull;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.crucible;
package nmd.primal.forgecraft.compat.jei.crucible;
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
@@ -12,8 +12,12 @@ public class CrucibleRecipeChecker {
public static List<CrucibleCrafting> getRecipes() {
List<CrucibleCrafting> recipes = new ArrayList<>();
for (CrucibleCrafting recipe : CrucibleCrafting.getCrucibleCrafting()) {
recipes.add(recipe);
for (CrucibleCrafting recipe : CrucibleCrafting.getRECIPES()) {
if(!recipe.isDisabled()) {
if(!recipe.isHidden()) {
recipes.add(recipe);
}
}
}
return recipes;
}

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.crucible;
package nmd.primal.forgecraft.compat.jei.crucible;
import mezz.jei.api.recipe.IRecipeWrapper;
import mezz.jei.api.recipe.IRecipeWrapperFactory;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.crucible;
package nmd.primal.forgecraft.compat.jei.crucible;
import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.IRecipeWrapper;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.forge;
package nmd.primal.forgecraft.compat.jei.forge;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
@@ -12,7 +12,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import nmd.primal.core.common.helper.CommonUtils;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.compat.JEI.AbstractCategory;
import nmd.primal.forgecraft.compat.jei.AbstractCategory;
import nmd.primal.forgecraft.init.ModBlocks;
import javax.annotation.Nonnull;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.forge;
package nmd.primal.forgecraft.compat.jei.forge;
import nmd.primal.forgecraft.crafting.ForgeCrafting;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.forge;
package nmd.primal.forgecraft.compat.jei.forge;
import mezz.jei.api.recipe.IRecipeWrapper;
import mezz.jei.api.recipe.IRecipeWrapperFactory;

View File

@@ -1,4 +1,4 @@
package nmd.primal.forgecraft.compat.JEI.forge;
package nmd.primal.forgecraft.compat.jei.forge;
import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.IRecipeWrapper;

View File

@@ -22,13 +22,18 @@ public class CrucibleCrafting extends AbstractRecipe<CrucibleCrafting> { //exten
public static final String RECIPE_PREFIX = "crucible";
public static final IForgeRegistry<CrucibleCrafting> REGISTRY = ModInfo.Registries.CRUCIBLE_CRAFTING;
public static final Collection<CrucibleCrafting> RECIPES = REGISTRY.getValuesCollection();
public static ArrayList<CrucibleCrafting> getCrucibleCrafting() {
return crucibleCrafting;
public static Collection<CrucibleCrafting> getRECIPES() {
return RECIPES;
}
private static ArrayList<CrucibleCrafting> crucibleCrafting = new ArrayList<>();
public static final Collection<CrucibleCrafting> RECIPES = REGISTRY.getValuesCollection();
//public static ArrayList<CrucibleCrafting> getCrucibleCrafting() {
//return crucibleCrafting;
//}
//private static ArrayList<CrucibleCrafting> crucibleCrafting = new ArrayList<>();
private int cookTemp;
private int cookTime;
@@ -114,15 +119,8 @@ public class CrucibleCrafting extends AbstractRecipe<CrucibleCrafting> { //exten
this.coolTime = coolTime;
}
public static void addRecipe(Ingredient i0, Ingredient i1, Ingredient i2, Ingredient i3, Ingredient i4,
ItemStack outputRaw, ItemStack outputCooked,
Integer temp, Integer cookTime, Integer coolTime)
{
crucibleCrafting.add(new CrucibleCrafting(i0, i1, i2, i3, i4, outputRaw, outputCooked, temp, cookTime, coolTime));
}
public static boolean isRecipe(ItemStack i0, ItemStack i1, ItemStack i2, ItemStack i3, ItemStack i4){
for(CrucibleCrafting recipe : crucibleCrafting){
for(CrucibleCrafting recipe : RECIPES){
if(recipe.ing0.apply(i0) && recipe.ing1.apply(i1) && recipe.ing2.apply(i2) && recipe.ing3.apply(i3) && recipe.ing4.apply(i4) ){
return true;
}
@@ -131,7 +129,7 @@ public class CrucibleCrafting extends AbstractRecipe<CrucibleCrafting> { //exten
}
public static CrucibleCrafting getRecipe(ItemStack i0, ItemStack i1, ItemStack i2, ItemStack i3, ItemStack i4){
for(CrucibleCrafting recipe : crucibleCrafting){
for(CrucibleCrafting recipe : RECIPES){
if(recipe.ing0.test(i0) && recipe.ing1.test(i1) && recipe.ing2.test(i2) && recipe.ing3.test(i3) && recipe.ing4.test(i4) ){
return recipe;
}
@@ -140,7 +138,7 @@ public class CrucibleCrafting extends AbstractRecipe<CrucibleCrafting> { //exten
}
public static boolean isValidIngredient(ItemStack checkStack){
for(CrucibleCrafting recipe : crucibleCrafting) {
for(CrucibleCrafting recipe : RECIPES) {
if (recipe.ing0.apply(checkStack) ||
recipe.ing1.apply(checkStack) ||
recipe.ing2.apply(checkStack) ||

View File

@@ -78,30 +78,32 @@ public class TileBloomery extends TileBaseSlot implements ITickable {
ItemStackHelper.loadAllItems(tag, dropList);
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
if (recipe != null) {
if (this.getHeat() >= recipe.getCookTemp() &&
!this.getSlotStack(1).getSubCompound("BlockEntityTag").getBoolean("status")) {
cookCounter++;
//this.getSlotStack(1).getSubCompound("BlockEntityTag").setBoolean("hot", true);
//System.out.println("Cooking");
this.updateBlock();
this.markDirty();
}
if (cookCounter >= (recipe.getCookTime()/4) && !this.getSlotStack(1).getSubCompound("BlockEntityTag").getBoolean("status")) {
this.getSlotStack(1).getSubCompound("BlockEntityTag").setInteger("hot", 15);
//System.out.println("hot");
this.updateBlock();
this.markDirty();
}
if (cookCounter >= recipe.getCookTime() && !this.getSlotStack(1).getSubCompound("BlockEntityTag").getBoolean("status")) {
this.getSlotStack(1).getSubCompound("BlockEntityTag").setBoolean("status", true);
this.getSlotStack(1).getSubCompound("BlockEntityTag").setInteger("heat", this.getHeat());
cookCounter = 0;
//System.out.println("Cooked");
this.updateBlock();
this.markDirty();
}
if (this.getSlotStack(1).isEmpty()) {
this.cookCounter = 0;
if(!recipe.isDisabled()) {
if (this.getHeat() >= recipe.getCookTemp() &&
!this.getSlotStack(1).getSubCompound("BlockEntityTag").getBoolean("status")) {
cookCounter++;
//this.getSlotStack(1).getSubCompound("BlockEntityTag").setBoolean("hot", true);
//System.out.println("Cooking");
this.updateBlock();
this.markDirty();
}
if (cookCounter >= (recipe.getCookTime() / 4) && !this.getSlotStack(1).getSubCompound("BlockEntityTag").getBoolean("status")) {
this.getSlotStack(1).getSubCompound("BlockEntityTag").setInteger("hot", 15);
//System.out.println("hot");
this.updateBlock();
this.markDirty();
}
if (cookCounter >= recipe.getCookTime() && !this.getSlotStack(1).getSubCompound("BlockEntityTag").getBoolean("status")) {
this.getSlotStack(1).getSubCompound("BlockEntityTag").setBoolean("status", true);
this.getSlotStack(1).getSubCompound("BlockEntityTag").setInteger("heat", this.getHeat());
cookCounter = 0;
//System.out.println("Cooked");
this.updateBlock();
this.markDirty();
}
if (this.getSlotStack(1).isEmpty()) {
this.cookCounter = 0;
}
}
}
}