fixed a lot of things getting ready to push overwrite master-1.12

This commit is contained in:
Mohammad-Ali Minaie
2018-09-20 12:59:34 -04:00
parent 498847ad88
commit d17f020fc5
181 changed files with 1121 additions and 2022 deletions

View File

@@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G
mod_group=nmd.primal.forgecraft mod_group=nmd.primal.forgecraft
mod_name=ForgeCraft mod_name=ForgeCraft
mod_version=1.5.2 mod_version=1.6.02
forge_version=14.23.4.2744 forge_version=14.23.4.2744
mcp_mappings=snapshot_20171003 mcp_mappings=snapshot_20171003
mc_version=1.12.2 mc_version=1.12.2

View File

@@ -13,11 +13,13 @@ you'll need to update the annotation @GameRegistry.ObjectHolder(ModInfo.MOD_ID)
- [ ] Leather Helmet Inventory Model - [ ] Leather Helmet Inventory Model
- [ ] Config Usage - [ ] Config Usage
- [ ] Bronze Plate Cast
- [ ] Craft Tweaker Support - [ ] Craft Tweaker Support
- [ ] JEI Support
- [ ] Apply Forge turn off logic to Bloomery - [ ] Apply Forge turn off logic to Bloomery
- [ ] Update SoftCrucible Model - [ ] Copper Tools
- [ ] Config for lowering fortune multiplier
- [x] Bronze Plate Cast
- [x] JEI Support
- [x] Update SoftCrucible Model
- [x] Crucibles were returning input ingredients even after cooked - [x] Crucibles were returning input ingredients even after cooked
- [x] Hot Crucible doesn't have hot molten layer - [x] Hot Crucible doesn't have hot molten layer
- [x] Can't add upgrades to the anvil - [x] Can't add upgrades to the anvil

View File

@@ -21,7 +21,7 @@ public class ModInfo {
//public static final String MOD_PREFIX = MOD_ID + ":"; //public static final String MOD_PREFIX = MOD_ID + ":";
public static final String MOD_CHANNEL = MOD_ID; public static final String MOD_CHANNEL = MOD_ID;
public static final String MOD_VERSION = "1.5.2"; public static final String MOD_VERSION = "1.6.02";
public static final String MC_VERSIONS = "[1.12.0, 1.13.0)"; public static final String MC_VERSIONS = "[1.12.0, 1.13.0)";
public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);"; public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);";

View File

@@ -11,6 +11,7 @@ import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType; import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
@@ -34,6 +35,7 @@ import nmd.primal.forgecraft.items.parts.BronzeToolPart;
import nmd.primal.forgecraft.items.parts.ToolPart; import nmd.primal.forgecraft.items.parts.ToolPart;
import nmd.primal.forgecraft.tiles.TileCastingForm; import nmd.primal.forgecraft.tiles.TileCastingForm;
import nmd.primal.forgecraft.util.CastingFormHandler; import nmd.primal.forgecraft.util.CastingFormHandler;
import nmd.primal.forgecraft.util.ToolNBT;
import java.util.Random; import java.util.Random;
@@ -42,7 +44,7 @@ import static nmd.primal.core.api.PrimalAPI.randomCheck;
/** /**
* Created by mminaie on 6/19/17. * Created by mminaie on 6/19/17.
*/ */
public class CastingForm extends CustomContainerFacing implements CastingFormHandler{ public class CastingForm extends CustomContainerFacing implements CastingFormHandler, ToolNBT {
protected static AxisAlignedBB bound = new AxisAlignedBB(0/16D, 0.0D, 0/16D, 16/16D, 3/16D, 16/16D); protected static AxisAlignedBB bound = new AxisAlignedBB(0/16D, 0.0D, 0/16D, 16/16D, 3/16D, 16/16D);
@@ -67,12 +69,13 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
SlottedTongs tongs = (SlottedTongs) pItem.getItem(); SlottedTongs tongs = (SlottedTongs) pItem.getItem();
if(tongs.getSlotList().get(0).getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) { if(tongs.getSlotList().get(0).getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) {
ItemStack tongsStack = tongs.getSlotList().get(0).copy(); ItemStack tongsStack = tongs.getSlotList().get(0).copy();
NBTTagCompound tag = tongsStack.getTagCompound().copy(); NBTTagCompound tag = tongsStack.getTagCompound().copy();
if(tag != null){ if(tag != null){
NonNullList<ItemStack> ingList = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY); NonNullList<ItemStack> ingList = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
NonNullList<ItemStack> ingListEmpty = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY); NonNullList<ItemStack> ingListEmpty = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
ItemStackHelper.loadAllItems(tag.getCompoundTag("BlockEntityTag"), ingList); ItemStackHelper.loadAllItems(tag.getCompoundTag("BlockEntityTag"), ingList);
//getSubCompound("BlockEntityTag")
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4)); CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
if(recipe != null){ if(recipe != null){
if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){ if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){
@@ -80,14 +83,44 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
for(int i=0; i<25; i++){ for(int i=0; i<25; i++){
tempArray[i] = tile.getSlotStack(i).getItem(); tempArray[i] = tile.getSlotStack(i).getItem();
} }
CastingCrafting casting = CastingCrafting.getRecipe(tempArray); CastingCrafting casting = CastingCrafting.getRecipe(tongsStack, tempArray);
if(casting != null){ if(casting != null){
CommonUtils.spawnItemEntityFromWorld(world, pos, casting.getOutput()); NBTTagCompound tagOutput = recipe.getDropsCooked().getTagCompound().copy();
tag.getCompoundTag("BlockEntityTag").setBoolean("status", false); if(tagOutput != null) {
tag.getCompoundTag("BlockEntityTag").setInteger("hot", 0); ItemStack dropStack = casting.getOutput();
ItemStackHelper.loadAllItems(tag, ingListEmpty); dropStack.setTagCompound(new NBTTagCompound());
tongs.getSlotList().get(0).setTagCompound(tag); NBTTagCompound tags = new NBTTagCompound();
return true;
dropStack.getTagCompound().setTag("tags", tags);
setHot(dropStack, false);
if (tagOutput.getString("upgrades") == "emerald") {
setEmerald(dropStack, true);
} else {
setEmerald(dropStack, false);
}
if (tagOutput.getString("upgrades") == "diamond") {
setDiamondLevel(dropStack, 1);
} else {
setDiamondLevel(dropStack, 0);
}
if (tagOutput.getString("upgrades") == "redstone") {
setRedstoneLevel(dropStack, 1);
} else {
setRedstoneLevel(dropStack, 0);
}
if (tagOutput.getString("upgrades") == "lapis") {
setLapisLevel(dropStack, 1);
} else {
setLapisLevel(dropStack, 0);
}
setModifiers(dropStack, 1);
CommonUtils.spawnItemEntityFromWorld(world, pos, dropStack);
tag.getCompoundTag("BlockEntityTag").setBoolean("status", false);
tag.getCompoundTag("BlockEntityTag").setInteger("hot", 0);
ItemStackHelper.saveAllItems(tag.getCompoundTag("BlockEntityTag"), ingListEmpty);
tongs.getSlotList().get(0).setTagCompound(tag);
return true;
}
} }
} }
} }

View File

@@ -7,6 +7,7 @@ import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.BlockStateContainer;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@@ -108,7 +109,6 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 0), 2); world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 0), 2);
tile.setHot(0); tile.setHot(0);
tile.setStatus(false); tile.setStatus(false);
//tile.setDrops(ItemStack.EMPTY);
tile.update(); tile.update();
tile.markDirty(); tile.markDirty();
return true; return true;
@@ -119,12 +119,17 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
/**REMOVE COOKED ITEM**/ /**REMOVE COOKED ITEM**/
if (player.isSneaking() == true) { if (player.isSneaking() == true) {
if (pItem.isEmpty()) { if (pItem.isEmpty()) {
if (tile.getStatus()) { if (tile.getStatus() && tile.getHot()==6) {
PlayerHelper.spawnItemOnPlayer(world, player, tile.getDrops()); ItemStack dropStack = tile.getDrops().copy();
world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 0), 2); world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 0), 2);
tile.setHot(0); tile.setHot(0);
tile.setStatus(false); tile.setStatus(false);
//tile.setDrops(ItemStack.EMPTY); tile.setDrops(ItemStack.EMPTY);
tile.ingList.clear();
//PlayerHelper.spawnItemOnPlayer(world, player, dropStack);
//PlayerHelper.spawnItemOnGround(world, player.getPosition(), dropStack);
EntityItem entityitem = new EntityItem(world, player.posX, player.posY, player.posZ, dropStack); // ? player.posY - 1.0D
world.spawnEntity(entityitem);
tile.update(); tile.update();
tile.markDirty(); tile.markDirty();
return true; return true;
@@ -160,7 +165,8 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
TileEntity tile = world.getTileEntity(pos); TileEntity tile = world.getTileEntity(pos);
if (tile instanceof TileNBTCrucible) { if (tile instanceof TileNBTCrucible) {
PlayerHelper.playerTakeItem(world, pos, EnumFacing.DOWN, player, player.getActiveHand(), this.getCrucibleItem(world, pos, state, player)); PlayerHelper.playerTakeItem(world, pos, EnumFacing.DOWN, player, player.getActiveHand(), this.getCrucibleItem(world, pos, state, player));
return world.setBlockState(pos, this.getReplacementBlock(world, pos, state)); world.setBlockState(pos, this.getReplacementBlock(world, pos, state));
return true;
} }
} }
return false; return false;
@@ -173,8 +179,18 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
TileNBTCrucible tile = (TileNBTCrucible) world.getTileEntity(pos); TileNBTCrucible tile = (TileNBTCrucible) world.getTileEntity(pos);
ItemStack pItem = player.inventory.getCurrentItem(); ItemStack pItem = player.inventory.getCurrentItem();
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(tile.ingList.get(0), tile.ingList.get(1), tile.ingList.get(2), tile.ingList.get(3), tile.ingList.get(4)); CrucibleCrafting recipe = CrucibleCrafting.getRecipe(tile.ingList.get(0), tile.ingList.get(1), tile.ingList.get(2), tile.ingList.get(3), tile.ingList.get(4));
if(recipe != null && tile.getStatus() && tile.getHot() != 15){ if(recipe != null && tile.getStatus() && tile.getHot() == 6){
PlayerHelper.spawnItemOnPlayer(world, player, tile.getDrops()); if(tile.getDrops() != null) {
PlayerHelper.spawnItemOnPlayer(world, player, tile.getDrops());
} else {
PlayerHelper.spawnItemOnPlayer(world, player, recipe.getDropsCooked());
}
}
if(recipe != null && tile.getStatus() && tile.getHot() == 15){
PlayerHelper.spawnItemOnPlayer(world, player, recipe.getDropsRaw());
}
if(recipe != null && tile.getStatus() && tile.getHot() != 15 && tile.getHot() != 6){
PlayerHelper.spawnItemOnPlayer(world, player, tile.ingList);
} }
} }
} }

View File

@@ -5,15 +5,22 @@ import mezz.jei.api.gui.ICraftingGridHelper;
import mezz.jei.api.recipe.IRecipeCategoryRegistration; import mezz.jei.api.recipe.IRecipeCategoryRegistration;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.OreIngredient;
import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeCategory; import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeCategory;
import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeChecker; import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeChecker;
import nmd.primal.forgecraft.compat.JEI.anvil.AnvilRecipeHandler; 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.CrucibleRecipeCategory;
import nmd.primal.forgecraft.compat.JEI.crucible.CrucibleRecipeChecker; import nmd.primal.forgecraft.compat.JEI.crucible.CrucibleRecipeChecker;
import nmd.primal.forgecraft.compat.JEI.crucible.CrucibleRecipeHandler; 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.AnvilCrafting;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.crafting.CrucibleCrafting;
import nmd.primal.forgecraft.crafting.ForgeCrafting;
import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModBlocks;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
@@ -40,8 +47,11 @@ public class ModJEI implements IModPlugin
// //
// Recipe Categories // Recipe Categories
// //
registry.addRecipeCategories(new ForgeRecipeCategory(guiHelper));
registry.addRecipeCategories(new CrucibleRecipeCategory(guiHelper)); registry.addRecipeCategories(new CrucibleRecipeCategory(guiHelper));
registry.addRecipeCategories(new AnvilRecipeCategory(guiHelper)); registry.addRecipeCategories(new AnvilRecipeCategory(guiHelper));
registry.addRecipeCategories(new CastingRecipeCategory(guiHelper));
} }
@Override @Override
@@ -54,6 +64,12 @@ public class ModJEI implements IModPlugin
// Recipes // Recipes
// ***************************************************************************** // // ***************************************************************************** //
// //
// Forging
//
registry.handleRecipes(ForgeCrafting.class, new ForgeRecipeHandler(), ForgeRecipeCategory.CATEGORY);
registry.addRecipes(ForgeRecipeChecker.getRecipes(), ForgeRecipeCategory.CATEGORY);
registry.addRecipeCatalyst(new ItemStack(ModBlocks.forge_brick), ForgeRecipeCategory.CATEGORY);
//
// Crucible // Crucible
// //
registry.handleRecipes(CrucibleCrafting.class, new CrucibleRecipeHandler(), CrucibleRecipeCategory.CATEGORY); registry.handleRecipes(CrucibleCrafting.class, new CrucibleRecipeHandler(), CrucibleRecipeCategory.CATEGORY);
@@ -65,6 +81,13 @@ public class ModJEI implements IModPlugin
registry.handleRecipes(AnvilCrafting.class, new AnvilRecipeHandler(), AnvilRecipeCategory.CATEGORY); registry.handleRecipes(AnvilCrafting.class, new AnvilRecipeHandler(), AnvilRecipeCategory.CATEGORY);
registry.addRecipes(AnvilRecipeChecker.getRecipes(), AnvilRecipeCategory.CATEGORY); registry.addRecipes(AnvilRecipeChecker.getRecipes(), AnvilRecipeCategory.CATEGORY);
registry.addRecipeCatalyst(new ItemStack(ModBlocks.stoneanvil), AnvilRecipeCategory.CATEGORY); registry.addRecipeCatalyst(new ItemStack(ModBlocks.stoneanvil), AnvilRecipeCategory.CATEGORY);
//
// Casting
//
registry.handleRecipes(CastingCrafting.class, new CastingRecipeHandler(), CastingRecipeCategory.CATEGORY);
registry.addRecipes(CastingRecipeChecker.getRecipes(), CastingRecipeCategory.CATEGORY);
registry.addRecipeCatalyst(new ItemStack(ModBlocks.castingform), CastingRecipeCategory.CATEGORY);
@@ -75,7 +98,7 @@ public class ModJEI implements IModPlugin
//registry.addIngredientInfo(ItemStack.EMPTY, ItemStack.class, "jei.info.forgecraft.crucible"); //registry.addIngredientInfo(ItemStack.EMPTY, ItemStack.class, "jei.info.forgecraft.crucible");
registry.addIngredientInfo(new ItemStack(ModBlocks.nbtCrucible, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.crucible"); registry.addIngredientInfo(new ItemStack(ModBlocks.nbtCrucible, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.crucible");
//registry.addIngredientInfo(new OreIngredient("oreIron"), OreIngredient.class, "jei.info.forgecraft.oreiron"); //registry.addIngredientInfo(new OreIngredient("oreIron"), OreIngredient.class, "jei.info.forgecraft.oreiron");
registry.addIngredientInfo(new ItemStack(ModBlocks.castingform, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.casting");
registry.addIngredientInfo(new ItemStack(ModBlocks.stoneanvil, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.anvil"); registry.addIngredientInfo(new ItemStack(ModBlocks.stoneanvil, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.anvil");
} }
} }

View File

@@ -12,7 +12,6 @@ import net.minecraft.util.ResourceLocation;
import nmd.primal.core.common.helper.CommonUtils; import nmd.primal.core.common.helper.CommonUtils;
import nmd.primal.forgecraft.ModInfo; 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 nmd.primal.forgecraft.init.ModItems; import nmd.primal.forgecraft.init.ModItems;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;

View File

@@ -0,0 +1,117 @@
package nmd.primal.forgecraft.compat.JEI.casting;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.ingredients.IIngredients;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
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.init.ModItems;
import javax.annotation.Nonnull;
/**
* Created by mminaie on 9/16/18.
*/
public class CastingRecipeCategory extends AbstractCategory<CastingRecipeWrapper>
{
public static String CATEGORY = CommonUtils.prefix("casting");
private static ResourceLocation gui_background = new ResourceLocation(ModInfo.MOD_ID,"textures/gui/jei/casting.png");
private final IDrawable background;
public CastingRecipeCategory(IGuiHelper guiHelper)
{
//background = guiHelper.createDrawable(gui_background, 0, 0, 134, 144, 0, 0, 0, 0);
background = guiHelper.createDrawable(gui_background, 0,0,256,96);
}
@Nonnull
@Override
public String getUid()
{
return CATEGORY;
}
@Nonnull
@Override
public String getTitle()
{
return I18n.format("jei.category.forgecraft.casting");
}
@Nonnull
@Override
public IDrawable getBackground()
{
return background;
}
@Override
public void drawExtras(@Nonnull Minecraft minecraft)
{
//progress.draw(minecraft, 67, 18);
}
@Override
public void setRecipe(IRecipeLayout layout, CastingRecipeWrapper recipe, IIngredients ingredients)
{
IGuiItemStackGroup items = layout.getItemStacks();
/***INPUTS***/
items.init(0, true, 1, 1);
items.init(1, true, 20, 1);
items.init(2, true, 39, 1);
items.init(3, true, 58, 1);
items.init(4, true, 77, 1);
items.init(5, true, 1, 20);
items.init(6, true, 20, 20);
items.init(7, true, 39, 20);
items.init(8, true, 58, 20);
items.init(9, true, 77, 20);
items.init(10, true, 1, 39);
items.init(11, true, 20, 39);
items.init(12, true, 39, 39);
items.init(13, true, 58, 39);
items.init(14, true, 77, 39);
items.init(15, true, 1, 58);
items.init(16, true, 20, 58);
items.init(17, true, 39, 58);
items.init(18, true, 58, 58);
items.init(19, true, 77, 58);
items.init(20, true, 1, 77);
items.init(21, true, 20, 77);
items.init(22, true, 39, 77);
items.init(23, true, 58, 77);
items.init(24, true, 77, 77);
//items.set(0, recipe.getIngredient(0));
for(int i =0; i < 25; i++){
items.set(i, recipe.getIngredient(i));
}
/***OUTPUTS***/
items.init(26, false, 133, 77);
items.set(26, recipe.output);
/***EXTRAS***/
//items.init(26, false, 105, 28);
//ItemStack hammerStack = new ItemStack(ModItems.forgehammer, 1);
//items.set(26, hammerStack);
//items.init(7, false, 58, 96);
//ItemStack bloomeryStack = new ItemStack(ModBlocks.bloomery_brick, 1, 0);
//items.set(7, bloomeryStack);
}
}

View File

@@ -0,0 +1,21 @@
package nmd.primal.forgecraft.compat.JEI.casting;
import nmd.primal.forgecraft.crafting.AnvilCrafting;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import java.util.ArrayList;
import java.util.List;
/**
* Created by mminaie on 9/16/18.
*/
public class CastingRecipeChecker {
public static List<CastingCrafting> getRecipes() {
List<CastingCrafting> recipes = new ArrayList<>();
for (CastingCrafting recipe : CastingCrafting.getCastingRecipes()) {
recipes.add(recipe);
}
return recipes;
}
}

View File

@@ -0,0 +1,18 @@
package nmd.primal.forgecraft.compat.JEI.casting;
import mezz.jei.api.recipe.IRecipeWrapper;
import mezz.jei.api.recipe.IRecipeWrapperFactory;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import javax.annotation.Nonnull;
/**
* Created by mminaie on 9/17/18.
*/
public class CastingRecipeHandler implements IRecipeWrapperFactory<CastingCrafting> {
@Nonnull
@Override
public IRecipeWrapper getRecipeWrapper(@Nonnull CastingCrafting recipe) {
return new CastingRecipeWrapper(recipe);
}
}

View File

@@ -0,0 +1,56 @@
package nmd.primal.forgecraft.compat.JEI.casting;
import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import nmd.primal.forgecraft.crafting.AnvilCrafting;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import javax.annotation.Nonnull;
import java.awt.*;
/**
* Created by mminaie on 9/16/18.
*/
public class CastingRecipeWrapper implements IRecipeWrapper {
protected final CastingCrafting recipe;
protected Item[] input;
protected ItemStack source;
protected ItemStack output;
public CastingRecipeWrapper(CastingCrafting recipe) {
this.recipe = recipe;
this.input = recipe.getInput();
this.output = recipe.getOutput();
this.source =recipe.getSource();
}
@Override
public void getIngredients(IIngredients ingredients) {
for(int i =0; i < 25; i++){
//if(this.input[i] != new ItemStack(Items.AIR, 1) {
ingredients.setInput(ItemStack.class, this.input[i]);
//}
}
ingredients.setOutput(ItemStack.class, this.output);
}
public ItemStack getIngredient(int a){
return new ItemStack(input[a], 1);
}
@Override
public void drawInfo(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY)
{
String tempString = new String("To an empty crucible add: " + recipe.getSource().getDisplayName() + ". For details reference the appropriate crucible recipe. Pick up the hot crucible with Stonetongs and right click your casting block.");
minecraft.fontRenderer.drawSplitString(tempString, 97, 0, 150, Color.black.getRGB());
}
}

View File

@@ -7,9 +7,10 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import nmd.primal.core.common.compat.jei.AbstractCategory;
import nmd.primal.core.common.helper.CommonUtils; import nmd.primal.core.common.helper.CommonUtils;
import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.compat.JEI.AbstractCategory;
import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModBlocks;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;

View File

@@ -82,7 +82,7 @@ public class CrucibleRecipeWrapper implements IRecipeWrapper
@Override @Override
public void drawInfo(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY) public void drawInfo(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY)
{ {
minecraft.fontRenderer.drawString(String.valueOf(cookTemp), 58, 120, Color.red.getRGB()); minecraft.fontRenderer.drawString(String.valueOf(cookTemp) + "\u00b0", 58, 120, Color.red.getRGB());
minecraft.fontRenderer.drawString(String.valueOf(cookTime + " ticks"), 58, 86, Color.blue.getRGB()); minecraft.fontRenderer.drawString(String.valueOf(cookTime + " ticks"), 58, 86, Color.blue.getRGB());
minecraft.fontRenderer.drawString(recipe.getDropsCooked().getDisplayName() + " Recipe", 20, 5, Color.black.getRGB()); minecraft.fontRenderer.drawString(recipe.getDropsCooked().getDisplayName() + " Recipe", 20, 5, Color.black.getRGB());
} }

View File

@@ -0,0 +1,85 @@
package nmd.primal.forgecraft.compat.JEI.forge;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.gui.IDrawable;
import mezz.jei.api.gui.IGuiItemStackGroup;
import mezz.jei.api.gui.IRecipeLayout;
import mezz.jei.api.ingredients.IIngredients;
import net.minecraft.client.Minecraft;
import net.minecraft.client.resources.I18n;
import net.minecraft.item.Item;
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.init.ModBlocks;
import javax.annotation.Nonnull;
/**
* Created by mminaie on 9/16/18.
*/
public class ForgeRecipeCategory extends AbstractCategory<ForgeRecipeWrapper>
{
public static String CATEGORY = CommonUtils.prefix("forging");
private static ResourceLocation gui_background = new ResourceLocation(ModInfo.MOD_ID,"textures/gui/jei/forging.png");
private final IDrawable background;
public ForgeRecipeCategory(IGuiHelper guiHelper)
{
//background = guiHelper.createDrawable(gui_background, 0, 0, 134, 144, 0, 0, 0, 0);
background = guiHelper.createDrawable(gui_background, 0,0,77,58);
}
@Nonnull
@Override
public String getUid()
{
return CATEGORY;
}
@Nonnull
@Override
public String getTitle()
{
return I18n.format("jei.category.forgecraft.forging");
}
@Nonnull
@Override
public IDrawable getBackground()
{
return background;
}
@Override
public void drawExtras(@Nonnull Minecraft minecraft)
{
//progress.draw(minecraft, 67, 18);
}
@Override
public void setRecipe(IRecipeLayout layout, ForgeRecipeWrapper recipe, IIngredients ingredients)
{
IGuiItemStackGroup items = layout.getItemStacks();
/***INPUTS***/
items.init(0, true, 1, 1);
items.set(0, new ItemStack(recipe.input, 1));
/***OUTPUTS***/
items.init(1, false, 58, 20);
items.set(1, recipe.output);
/***EXTRAS***/
items.init(3, false, 1, 20);
ItemStack forgeStack = new ItemStack(Item.getItemFromBlock(ModBlocks.forge_brick), 1);
items.set(3, forgeStack);
//items.init(7, false, 58, 96);
//ItemStack bloomeryStack = new ItemStack(ModBlocks.bloomery_brick, 1, 0);
//items.set(7, bloomeryStack);
}
}

View File

@@ -0,0 +1,21 @@
package nmd.primal.forgecraft.compat.JEI.forge;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import nmd.primal.forgecraft.crafting.ForgeCrafting;
import java.util.ArrayList;
import java.util.List;
/**
* Created by mminaie on 9/16/18.
*/
public class ForgeRecipeChecker {
public static List<ForgeCrafting> getRecipes() {
List<ForgeCrafting> recipes = new ArrayList<>();
for (ForgeCrafting recipe : ForgeCrafting.getForgeRecipes()) {
recipes.add(recipe);
}
return recipes;
}
}

View File

@@ -0,0 +1,19 @@
package nmd.primal.forgecraft.compat.JEI.forge;
import mezz.jei.api.recipe.IRecipeWrapper;
import mezz.jei.api.recipe.IRecipeWrapperFactory;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import nmd.primal.forgecraft.crafting.ForgeCrafting;
import javax.annotation.Nonnull;
/**
* Created by mminaie on 9/17/18.
*/
public class ForgeRecipeHandler implements IRecipeWrapperFactory<ForgeCrafting> {
@Nonnull
@Override
public IRecipeWrapper getRecipeWrapper(@Nonnull ForgeCrafting recipe) {
return new ForgeRecipeWrapper(recipe);
}
}

View File

@@ -0,0 +1,58 @@
package nmd.primal.forgecraft.compat.JEI.forge;
import mezz.jei.api.ingredients.IIngredients;
import mezz.jei.api.recipe.IRecipeWrapper;
import net.minecraft.client.Minecraft;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import nmd.primal.forgecraft.crafting.CastingCrafting;
import nmd.primal.forgecraft.crafting.ForgeCrafting;
import javax.annotation.Nonnull;
import java.awt.*;
/**
* Created by mminaie on 9/16/18.
*/
public class ForgeRecipeWrapper implements IRecipeWrapper {
protected final ForgeCrafting recipe;
protected Item input;
protected ItemStack output;
protected int heat_threshold;
protected int ideal_time;
protected int cooldown;
public ForgeRecipeWrapper(ForgeCrafting recipe) {
this.recipe = recipe;
this.input = recipe.getInput();
this.output = recipe.getOutput();
this.heat_threshold = recipe.getHeatThreshold();
this.ideal_time = recipe.getIdealTime();
this.cooldown = recipe.getCooldown();
}
@Override
public void getIngredients(IIngredients ingredients) {
ingredients.setInput(ItemStack.class, this.input);
ingredients.setOutput(ItemStack.class, this.output);
}
public ItemStack getIngredient(){
return new ItemStack(this.input, 1);
}
@Override
public void drawInfo(@Nonnull Minecraft minecraft, int recipeWidth, int recipeHeight, int mouseX, int mouseY)
{
//String tempString = new String("To an empty crucible add: " + recipe.getSource().getDisplayName() + ". For details reference the appropriate crucible recipe. Pick up the hot crucible with Stonetongs and right click your casting block.");
//minecraft.fontRenderer.drawSplitString(tempString, 97, 0, 150, Color.black.getRGB());
minecraft.fontRenderer.drawString(String.valueOf(recipe.getHeatThreshold() + "\u00b0"), 24, 36, Color.red.getRGB());
minecraft.fontRenderer.drawString(String.valueOf(recipe.getIdealTime()), 26, 13, Color.green.getRGB());
}
}

View File

@@ -19,20 +19,27 @@ public class CastingCrafting {
private Item[] input = new Item[25]; private Item[] input = new Item[25];
private ItemStack output; private ItemStack output;
public ItemStack getSource() {
return source;
}
public CastingCrafting(Item[] input, ItemStack output){ private ItemStack source;
public CastingCrafting(ItemStack source, Item[] input, ItemStack output){
this.input = input; this.input = input;
this.output = output; this.output = output;
this.source = source;
} }
// ***************************************************************************** // // ***************************************************************************** //
// Recipe Methods // Recipe Methods
// ***************************************************************************** // // ***************************************************************************** //
public static void addRecipe(Item[] input, ItemStack output) public static void addRecipe(ItemStack source, Item[] input, ItemStack output)
{ {
castingRecipes.add(new CastingCrafting(input, output)); castingRecipes.add(new CastingCrafting(source, input, output));
} }
public static ArrayList<CastingCrafting> getCastingRecipes() { public static ArrayList<CastingCrafting> getCastingRecipes() {
@@ -49,11 +56,13 @@ public class CastingCrafting {
return false; return false;
} }
public static CastingCrafting getRecipe(Item[] array) public static CastingCrafting getRecipe(ItemStack source, Item[] array)
{ {
for(CastingCrafting recipe : castingRecipes) { for(CastingCrafting recipe : castingRecipes) {
if (Arrays.equals(array, recipe.input)) if (source.isItemEqualIgnoreDurability(source)) {
return recipe; if (Arrays.equals(array, recipe.input))
return recipe;
}
} }
return null; return null;
} }

View File

@@ -10,7 +10,11 @@ import java.util.ArrayList;
*/ */
public class ForgeCrafting { public class ForgeCrafting {
// ***************************************************************************** // public static ArrayList<ForgeCrafting> getForgeRecipes() {
return forgeRecipes;
}
// ***************************************************************************** //
// Recipe Handler ForgeCrafting // Recipe Handler ForgeCrafting
// ***************************************************************************** // // ***************************************************************************** //
private static ArrayList<ForgeCrafting> forgeRecipes = new ArrayList<>(); private static ArrayList<ForgeCrafting> forgeRecipes = new ArrayList<>();

View File

@@ -26,6 +26,95 @@ public class ModCrafting{
public static void register() { public static void register() {
Random rand = new Random(); Random rand = new Random();
ItemStack emptyAir = ItemStack.EMPTY;
NBTTagCompound setHot = new NBTTagCompound();
setHot.setBoolean("hot", true);
ItemStack hotIronIngot = new ItemStack(ModItems.ironingotball, 1);
hotIronIngot.setTagCompound(setHot);
ItemStack hotCleanIronIngot = new ItemStack(ModItems.ironcleaningotball, 1);
hotCleanIronIngot.setTagCompound(setHot);
ItemStack hotSteelIngot = new ItemStack(ModItems.steelingotball, 1);
hotSteelIngot.setTagCompound(setHot);
ItemStack hotWootzIngot = new ItemStack(ModItems.wootzingotball, 1);
hotWootzIngot.setTagCompound(setHot);
ItemStack hotChunk = new ItemStack( ModItems.wroughtironchunk, 1);
hotChunk.setTagCompound(setHot);
ItemStack hotCleanChunk = new ItemStack(ModItems.ironcleanchunk, 1);
hotCleanChunk.setTagCompound(setHot);
ItemStack hotSteelChunk = new ItemStack(ModItems.steelchunk, 1);
hotSteelChunk.setTagCompound(setHot);
ItemStack hotWootzChunk = new ItemStack(ModItems.wootzchunk, 1);
hotWootzChunk.setTagCompound(setHot);
ItemStack diamond = new ItemStack(Items.DIAMOND, 1);
ItemStack emerald = new ItemStack(Items.EMERALD, 1);
ItemStack emeraldShard = new ItemStack(PrimalAPI.Items.EMERALD_KNAPP, 1);
ItemStack diamondShard = new ItemStack(PrimalAPI.Items.DIAMOND_KNAPP, 1);
ItemStack redstone = new ItemStack(Items.REDSTONE, 1);
ItemStack lapis = new ItemStack(Items.DYE, 1, 4);
ItemStack pickaxehead = new ItemStack(ModItems.pickaxehead, 1);
ItemStack ironaxehead = new ItemStack(ModItems.ironaxehead, 1);
ItemStack ironshovelhead = new ItemStack(ModItems.ironshovelhead, 1);
ItemStack ironhoehead = new ItemStack(ModItems.ironhoehead, 1);
ItemStack cleanpickaxehead = new ItemStack(ModItems.cleanironpickaxehead, 1);
ItemStack cleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1);
ItemStack cleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1);
ItemStack cleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1);
ItemStack steelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1);
ItemStack steelaxehead = new ItemStack(ModItems.steelaxehead, 1);
ItemStack steelshovelhead = new ItemStack(ModItems.steelshovelhead, 1);
ItemStack steelhoehead = new ItemStack(ModItems.steelhoehead, 1);
ItemStack wootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1);
ItemStack wootzaxehead = new ItemStack(ModItems.wootzaxehead, 1);
ItemStack wootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1);
ItemStack wootzhoehead = new ItemStack(ModItems.wootzhoehead, 1);
ItemStack hotpickaxehead = new ItemStack(ModItems.pickaxehead, 1);
hotpickaxehead.setTagCompound(setHot);
ItemStack hotironaxehead = new ItemStack(ModItems.ironaxehead, 1);
hotironaxehead.setTagCompound(setHot);
ItemStack hotironshovelhead = new ItemStack(ModItems.ironshovelhead, 1);
hotironshovelhead.setTagCompound(setHot);
ItemStack hotironhoehead = new ItemStack(ModItems.ironhoehead, 1);
hotironhoehead.setTagCompound(setHot);
ItemStack hotcleanpickaxehead = new ItemStack(ModItems.cleanironpickaxehead, 1);
hotcleanpickaxehead.setTagCompound(setHot);
ItemStack hotcleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1);
hotcleanaxehead.setTagCompound(setHot);
ItemStack hotcleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1);
hotcleanshovelhead.setTagCompound(setHot);
ItemStack hotcleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1);
hotcleanhoehead.setTagCompound(setHot);
ItemStack hotsteelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1);
hotsteelpickaxehead.setTagCompound(setHot);
ItemStack hotsteelaxehead = new ItemStack(ModItems.steelaxehead, 1);
hotsteelaxehead.setTagCompound(setHot);
ItemStack hotsteelshovelhead = new ItemStack(ModItems.steelshovelhead, 1);
hotsteelshovelhead.setTagCompound(setHot);
ItemStack hotsteelhoehead = new ItemStack(ModItems.steelhoehead, 1);
hotsteelhoehead.setTagCompound(setHot);
ItemStack hotwootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1);
hotwootzpickaxehead.setTagCompound(setHot);
ItemStack hotwootzaxehead = new ItemStack(ModItems.wootzaxehead, 1);
hotwootzaxehead.setTagCompound(setHot);
ItemStack hotwootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1);
hotwootzshovelhead.setTagCompound(setHot);
ItemStack hotwootzhoehead = new ItemStack(ModItems.wootzhoehead, 1);
hotwootzhoehead.setTagCompound(setHot);
//RecipeHandler.addSmelting(ModItems.softcrucible, new ItemStack(ModBlocks.nbtCrucible, 1)); //RecipeHandler.addSmelting(ModItems.softcrucible, new ItemStack(ModBlocks.nbtCrucible, 1));
@@ -122,6 +211,18 @@ public class ModCrafting{
100, 100,
1000); 1000);
CrucibleCrafting.addRecipe(
new OreIngredient("ingotBronze"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
defaultBronze,
100,
100,
1000);
NBTTagCompound tag = new NBTTagCompound(); NBTTagCompound tag = new NBTTagCompound();
tag.setString("upgrades", "redstone"); tag.setString("upgrades", "redstone");
ItemStack redBronze = new ItemStack(ModItems.bronzeingotball, 1); ItemStack redBronze = new ItemStack(ModItems.bronzeingotball, 1);
@@ -165,7 +266,7 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondBronze, emeraldBronze,
100, 100,
100, 100,
100); 100);
@@ -175,8 +276,8 @@ public class ModCrafting{
ItemStack lapisBronze = new ItemStack(ModItems.bronzeingotball, 1); ItemStack lapisBronze = new ItemStack(ModItems.bronzeingotball, 1);
lapisBronze.setTagCompound(tagBronzeLapis.copy()); lapisBronze.setTagCompound(tagBronzeLapis.copy());
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("oreBronze"), new OreIngredient("ingotBronze"),
Ingredient.EMPTY, new OreIngredient("dustLapis"),
Ingredient.EMPTY, Ingredient.EMPTY,
Ingredient.EMPTY, Ingredient.EMPTY,
Ingredient.EMPTY, Ingredient.EMPTY,
@@ -186,6 +287,54 @@ public class ModCrafting{
100, 100,
1000); 1000);
CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustTin"),
new OreIngredient("dustRedstone"),
new ItemStack(PrimalAPI.Items.SLAG, 1),
redBronze,
100,
100,
1000);
CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustTin"),
new OreIngredient("dustDiamond"),
new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondBronze,
100,
100,
1000);
CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustTin"),
new OreIngredient("dustEmerald"),
new ItemStack(PrimalAPI.Items.SLAG, 1),
emeraldBronze,
100,
100,
1000);
CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustCopper"),
new OreIngredient("dustTin"),
new OreIngredient("dustLapis"),
new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisBronze,
100,
100,
1000);
/* /*
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.rawcleanironcrucible), RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.rawcleanironcrucible),
"XL","Y ", "XL","Y ",
@@ -726,6 +875,7 @@ public class ModCrafting{
//Casting Pickaxe //Casting Pickaxe
CastingCrafting.addRecipe( CastingCrafting.addRecipe(
new ItemStack(ModItems.bronzeingotball, 1),
new Item[] { new Item[] {
muddd,muddd,muddd,muddd,muddd, muddd,muddd,muddd,muddd,muddd,
muddd,empty,empty,empty,muddd, muddd,empty,empty,empty,muddd,
@@ -737,6 +887,7 @@ public class ModCrafting{
//Casting Shovel //Casting Shovel
CastingCrafting.addRecipe( CastingCrafting.addRecipe(
new ItemStack(ModItems.bronzeingotball, 1),
new Item[] { new Item[] {
muddd,muddd,muddd,muddd,muddd, muddd,muddd,muddd,muddd,muddd,
muddd,muddd,empty,muddd,muddd, muddd,muddd,empty,muddd,muddd,
@@ -748,6 +899,7 @@ public class ModCrafting{
//Casting Axe //Casting Axe
CastingCrafting.addRecipe( CastingCrafting.addRecipe(
new ItemStack(ModItems.bronzeingotball, 1),
new Item[] { new Item[] {
muddd,empty,empty,muddd,muddd, muddd,empty,empty,muddd,muddd,
muddd,empty,empty,empty,muddd, muddd,empty,empty,empty,muddd,
@@ -759,6 +911,7 @@ public class ModCrafting{
//Casting Hoe //Casting Hoe
CastingCrafting.addRecipe( CastingCrafting.addRecipe(
new ItemStack(ModItems.bronzeingotball, 1),
new Item[] { new Item[] {
muddd,muddd,muddd,empty,empty, muddd,muddd,muddd,empty,empty,
muddd,muddd,empty,muddd,muddd, muddd,muddd,empty,muddd,muddd,
@@ -770,6 +923,7 @@ public class ModCrafting{
//Casting Gladius //Casting Gladius
CastingCrafting.addRecipe( CastingCrafting.addRecipe(
new ItemStack(ModItems.bronzeingotball, 1),
new Item[] { new Item[] {
muddd,muddd,muddd,muddd,muddd, muddd,muddd,muddd,muddd,muddd,
muddd,muddd,empty,muddd,muddd, muddd,muddd,empty,muddd,muddd,
@@ -779,6 +933,18 @@ public class ModCrafting{
new ItemStack(ModItems.bronzegladius, 1) new ItemStack(ModItems.bronzegladius, 1)
); );
//Casting Bronze Plate
CastingCrafting.addRecipe(
new ItemStack(ModItems.bronzeingotball, 1),
new Item[] {
muddd,muddd,muddd,muddd,muddd,
muddd,muddd,muddd,muddd,muddd,
muddd,empty,empty,muddd,muddd,
muddd,empty,empty,muddd,muddd,
muddd,muddd,muddd,muddd,muddd },
new ItemStack(PrimalAPI.Items.BRONZE_PLATE, 1)
);
/****************************************************************************** /******************************************************************************
FORGING FORGING
******************************************************************************/ ******************************************************************************/
@@ -787,7 +953,7 @@ public class ModCrafting{
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.ironingotball, ModItems.ironingotball,
//800, 200 //800, 200
new ItemStack(ModItems.ironingotball, 1), hotIronIngot,
100, 100,
100, 100,
500, 500,
@@ -797,7 +963,7 @@ public class ModCrafting{
//Makes a Hot Clean Iron Ingot //Makes a Hot Clean Iron Ingot
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.ironcleaningotball, ModItems.ironcleaningotball,
new ItemStack(ModItems.ironcleaningotball, 1), hotCleanIronIngot,
900, 900,
250, 250,
500, 500,
@@ -807,7 +973,7 @@ public class ModCrafting{
//Makes a Hot Steel Ingot //Makes a Hot Steel Ingot
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.steelingotball, ModItems.steelingotball,
new ItemStack(ModItems.steelingotball, 1), hotSteelIngot,
1000, 1000,
300, 300,
500, 500,
@@ -817,7 +983,7 @@ public class ModCrafting{
//Makes a Hot Wootz Ingot //Makes a Hot Wootz Ingot
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.wootzingotball, ModItems.wootzingotball,
new ItemStack(ModItems.wootzingotball, 1), hotWootzIngot,
1000, 1000,
300, 300,
500, 500,
@@ -828,7 +994,7 @@ public class ModCrafting{
// Converts a Vanilla Ingot into ForgeCraft Ingot Ball // Converts a Vanilla Ingot into ForgeCraft Ingot Ball
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
Items.IRON_INGOT, Items.IRON_INGOT,
new ItemStack(ModItems.ironingotball, 1), hotIronIngot,
800, 800,
200, 200,
500, 500,
@@ -839,7 +1005,7 @@ public class ModCrafting{
//Makes a Hot Iron Chunk //Makes a Hot Iron Chunk
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.wroughtironchunk, ModItems.wroughtironchunk,
new ItemStack(ModItems.wroughtironchunk,1), hotChunk,
800, 800,
160, 160,
400, 400,
@@ -849,7 +1015,7 @@ public class ModCrafting{
//Makes a Hot Clean Iron Chunk //Makes a Hot Clean Iron Chunk
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.ironcleanchunk, ModItems.ironcleanchunk,
new ItemStack(ModItems.ironcleanchunk,1), hotCleanChunk,
900, 900,
250, 250,
500, 500,
@@ -859,7 +1025,7 @@ public class ModCrafting{
//Makes a Hot Steel Chunk //Makes a Hot Steel Chunk
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.steelchunk, ModItems.steelchunk,
new ItemStack(ModItems.steelchunk,1), hotSteelChunk,
1000, 1000,
300, 300,
500, 500,
@@ -870,7 +1036,7 @@ public class ModCrafting{
//Makes a Hot Wootz Chunk //Makes a Hot Wootz Chunk
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.wootzchunk, ModItems.wootzchunk,
new ItemStack(ModItems.wootzchunk,1), hotWootzChunk,
1000, 1000,
300, 300,
500, 500,
@@ -881,7 +1047,7 @@ public class ModCrafting{
/***Makes a Hot Iron PickaxeHead***/ /***Makes a Hot Iron PickaxeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.pickaxehead, ModItems.pickaxehead,
new ItemStack(ModItems.pickaxehead, 1), hotpickaxehead,
800, 800,
160, 160,
400, 400,
@@ -892,9 +1058,9 @@ public class ModCrafting{
/***Makes a Hot Clean Iron PickaxeHead***/ /***Makes a Hot Clean Iron PickaxeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.cleanironpickaxehead, ModItems.cleanironpickaxehead,
new ItemStack(ModItems.cleanironpickaxehead, 1), hotcleanpickaxehead,
800, 800,
160, 170,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
@@ -903,9 +1069,20 @@ public class ModCrafting{
/***Makes a Hot Steel PickaxeHead***/ /***Makes a Hot Steel PickaxeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.steelpickaxehead, ModItems.steelpickaxehead,
new ItemStack(ModItems.steelpickaxehead, 1), hotsteelpickaxehead,
1000, 1000,
160, 180,
400,
1.0f,
1.0f
);
/***Makes a Hot Wootz PickaxeHead***/
ForgeCrafting.addRecipe(
ModItems.wootzpickaxehead,
hotwootzpickaxehead,
1000,
190,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
@@ -914,7 +1091,7 @@ public class ModCrafting{
/***Makes a Hot Iron AxeHead***/ /***Makes a Hot Iron AxeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.ironaxehead, ModItems.ironaxehead,
new ItemStack(ModItems.ironaxehead, 1), hotironaxehead,
800, 800,
160, 160,
400, 400,
@@ -924,9 +1101,9 @@ public class ModCrafting{
/***Makes a Hot Clean Iron AxeHead***/ /***Makes a Hot Clean Iron AxeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.cleanironaxehead, ModItems.cleanironaxehead,
new ItemStack(ModItems.cleanironaxehead, 1), hotcleanaxehead,
800, 800,
160, 170,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
@@ -934,19 +1111,28 @@ public class ModCrafting{
/***Makes a Hot Steel AxeHead***/ /***Makes a Hot Steel AxeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.steelaxehead, ModItems.steelaxehead,
new ItemStack(ModItems.steelaxehead, 1), hotsteelaxehead,
800, 1000,
160, 180,
400,
1.0f,
1.0f
);
/***Makes a Hot Wootz AxeHead***/
ForgeCrafting.addRecipe(
ModItems.wootzaxehead,
hotwootzaxehead,
1000,
190,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
); );
//TODO Wootz
/***Makes a Hot Iron ShovelHead***/ /***Makes a Hot Iron ShovelHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.ironshovelhead, ModItems.ironshovelhead,
new ItemStack(ModItems.ironshovelhead, 1), hotironshovelhead,
800, 800,
160, 160,
400, 400,
@@ -956,9 +1142,9 @@ public class ModCrafting{
/***Makes a Hot Clean Iron ShovelHead***/ /***Makes a Hot Clean Iron ShovelHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.cleanironshovelhead, ModItems.cleanironshovelhead,
new ItemStack(ModItems.cleanironshovelhead, 1), hotcleanshovelhead,
800, 800,
160, 170,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
@@ -966,19 +1152,28 @@ public class ModCrafting{
/***Makes a Hot Steel ShovelHead***/ /***Makes a Hot Steel ShovelHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.steelshovelhead, ModItems.steelshovelhead,
new ItemStack(ModItems.steelshovelhead, 1), hotsteelshovelhead,
800, 1000,
160, 180,
400,
1.0f,
1.0f
);
/***Makes a Hot Wootz ShovelHead***/
ForgeCrafting.addRecipe(
ModItems.wootzshovelhead,
hotwootzshovelhead,
1000,
190,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
); );
//TODO Wootz
/***Makes a Hot Iron HoeHead***/ /***Makes a Hot Iron HoeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.ironhoehead, ModItems.ironhoehead,
new ItemStack(ModItems.ironhoehead, 1), hotironhoehead,
800, 800,
160, 160,
400, 400,
@@ -988,9 +1183,9 @@ public class ModCrafting{
/***Makes a Hot Clean Iron HoeHead***/ /***Makes a Hot Clean Iron HoeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.cleanironhoehead, ModItems.cleanironhoehead,
new ItemStack(ModItems.cleanironhoehead, 1), hotcleanhoehead,
800, 800,
160, 170,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
@@ -998,63 +1193,29 @@ public class ModCrafting{
/***Makes a Hot Steel HoeHead***/ /***Makes a Hot Steel HoeHead***/
ForgeCrafting.addRecipe( ForgeCrafting.addRecipe(
ModItems.steelhoehead, ModItems.steelhoehead,
new ItemStack(ModItems.steelhoehead, 1), hotsteelhoehead,
800, 1000,
160, 180,
400,
1.0f,
1.0f
);
/***Makes a Hot Wootz HoeHead***/
ForgeCrafting.addRecipe(
ModItems.wootzhoehead,
hotwootzhoehead,
1000,
190,
400, 400,
1.0f, 1.0f,
1.0f 1.0f
); );
//TODO Wootz
/****************************************************************************** /******************************************************************************
ANVILING ANVILING
******************************************************************************/ ******************************************************************************/
ItemStack emptyAir = ItemStack.EMPTY;
NBTTagCompound setHot = new NBTTagCompound();
setHot.setBoolean("hot", true);
ItemStack hotChunk = new ItemStack( ModItems.wroughtironchunk, 1);
hotChunk.setTagCompound(setHot);
ItemStack hotCleanChunk = new ItemStack(ModItems.ironcleanchunk, 1);
hotCleanChunk.setTagCompound(setHot);
ItemStack hotSteelChunk = new ItemStack(ModItems.steelchunk, 1);
hotSteelChunk.setTagCompound(setHot);
ItemStack hotWootzChunk = new ItemStack(ModItems.wootzchunk, 1);
hotWootzChunk.setTagCompound(setHot);
ItemStack diamond = new ItemStack(Items.DIAMOND, 1);
ItemStack emerald = new ItemStack(Items.EMERALD, 1);
ItemStack emeraldShard = new ItemStack(PrimalAPI.Items.EMERALD_KNAPP, 1);
ItemStack diamondShard = new ItemStack(PrimalAPI.Items.DIAMOND_KNAPP, 1);
ItemStack redstone = new ItemStack(Items.REDSTONE, 1);
ItemStack lapis = new ItemStack(Items.DYE, 1, 4);
ItemStack pickaxehead = new ItemStack(ModItems.pickaxehead, 1);
ItemStack ironaxehead = new ItemStack(ModItems.ironaxehead, 1);
ItemStack ironshovelhead = new ItemStack(ModItems.ironshovelhead, 1);
ItemStack ironhoehead = new ItemStack(ModItems.ironhoehead, 1);
ItemStack cleanpickaxehead = new ItemStack(ModItems.cleanironpickaxehead, 1);
ItemStack cleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1);
ItemStack cleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1);
ItemStack cleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1);
ItemStack steelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1);
ItemStack steelaxehead = new ItemStack(ModItems.steelaxehead, 1);
ItemStack steelshovelhead = new ItemStack(ModItems.steelshovelhead, 1);
ItemStack steelhoehead = new ItemStack(ModItems.steelhoehead, 1);
ItemStack wootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1);
ItemStack wootzaxehead = new ItemStack(ModItems.wootzaxehead, 1);
ItemStack wootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1);
ItemStack wootzhoehead = new ItemStack(ModItems.wootzhoehead, 1);
/*** ForgeHammer ***/ /*** ForgeHammer ***/
AnvilCrafting.addRecipe( AnvilCrafting.addRecipe(
@@ -1104,18 +1265,6 @@ public class ModCrafting{
"null" "null"
); );
/*** Iron Bars ***/
AnvilCrafting.addRecipe(
new ItemStack [] {
hotChunk,emptyAir,hotChunk,emptyAir,hotChunk,
hotChunk,hotChunk,hotChunk,hotChunk,hotChunk,
hotChunk,emptyAir,hotChunk,emptyAir,hotChunk,
hotChunk,hotChunk,hotChunk,hotChunk,hotChunk,
hotChunk,emptyAir,hotChunk,emptyAir,hotChunk, },
new ItemStack(PrimalAPI.Items.IRON_PLATE, 1),
"null"
);
/*** Flaked diamond ***/ /*** Flaked diamond ***/
AnvilCrafting.addRecipe( AnvilCrafting.addRecipe(
new ItemStack [] { new ItemStack [] {

View File

@@ -240,7 +240,7 @@ public class ModItems {
wroughtironslayer = new SlayerSword("wroughtironslayer", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, 11.5D, -3.7D); wroughtironslayer = new SlayerSword("wroughtironslayer", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, 11.5D, -3.7D);
cleanironslayer = new SlayerSword("cleanironslayer", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, 10D, -3.5D); cleanironslayer = new SlayerSword("cleanironslayer", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, 10D, -3.5D);
steelslayer = new SlayerSword("steelslayer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL,11D, -3.3D); steelslayer = new SlayerSword("steelslayer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL,11D, -3.3D);
wootzslayer = new SlayerSword("steelslayer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL,11D, -3.1D); wootzslayer = new SlayerSword("wootzslayer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL,11D, -3.1D);
wroughtironshield = new CustomShield("wroughtironshield", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON); wroughtironshield = new CustomShield("wroughtironshield", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON);
@@ -287,6 +287,8 @@ public class ModItems {
//ForgeRegistries.ITEMS.register(stonetongs); //ForgeRegistries.ITEMS.register(stonetongs);
ForgeRegistries.ITEMS.register(forgehammer); ForgeRegistries.ITEMS.register(forgehammer);
ForgeRegistries.ITEMS.register(bronzeingotball);
ForgeRegistries.ITEMS.register(bronzechunk);
ForgeRegistries.ITEMS.register(ironingotball); ForgeRegistries.ITEMS.register(ironingotball);
ForgeRegistries.ITEMS.register(wroughtironchunk); ForgeRegistries.ITEMS.register(wroughtironchunk);
ForgeRegistries.ITEMS.register(ironcleaningotball); ForgeRegistries.ITEMS.register(ironcleaningotball);
@@ -370,13 +372,16 @@ public class ModItems {
ForgeRegistries.ITEMS.register(bronzegladius); ForgeRegistries.ITEMS.register(bronzegladius);
ForgeRegistries.ITEMS.register(cleanirongladius); ForgeRegistries.ITEMS.register(cleanirongladius);
ForgeRegistries.ITEMS.register(steelgladius); ForgeRegistries.ITEMS.register(steelgladius);
ForgeRegistries.ITEMS.register(wootzgladius);
ForgeRegistries.ITEMS.register(cleanironlongsword); ForgeRegistries.ITEMS.register(cleanironlongsword);
ForgeRegistries.ITEMS.register(steellongsword); ForgeRegistries.ITEMS.register(steellongsword);
ForgeRegistries.ITEMS.register(wootzlongsword);
ForgeRegistries.ITEMS.register(wroughtironslayer); ForgeRegistries.ITEMS.register(wroughtironslayer);
ForgeRegistries.ITEMS.register(cleanironslayer); ForgeRegistries.ITEMS.register(cleanironslayer);
ForgeRegistries.ITEMS.register(steelslayer); ForgeRegistries.ITEMS.register(steelslayer);
ForgeRegistries.ITEMS.register(wootzslayer);
ForgeRegistries.ITEMS.register(rawlongbow); ForgeRegistries.ITEMS.register(rawlongbow);
ForgeRegistries.ITEMS.register(unstrunglongbow); ForgeRegistries.ITEMS.register(unstrunglongbow);
@@ -497,13 +502,16 @@ public class ModItems {
registerRender(wroughtirongladius); registerRender(wroughtirongladius);
registerRender(cleanirongladius); registerRender(cleanirongladius);
registerRender(steelgladius); registerRender(steelgladius);
registerRender(wootzgladius);
registerRender(cleanironlongsword); registerRender(cleanironlongsword);
registerRender(steellongsword); registerRender(steellongsword);
registerRender(wootzlongsword);
registerRender(wroughtironslayer); registerRender(wroughtironslayer);
registerRender(cleanironslayer); registerRender(cleanironslayer);
registerRender(steelslayer); registerRender(steelslayer);
registerRender(wootzslayer);
registerRender(rawlongbow); registerRender(rawlongbow);
registerRender(unstrunglongbow); registerRender(unstrunglongbow);

View File

@@ -177,10 +177,10 @@ public class BaseMultiItem extends BaseItem {
@Override @Override
public void onUpdate(ItemStack stack, World world, Entity player, int itemSlot, boolean isSelected) { public void onUpdate(ItemStack stack, World world, Entity player, int itemSlot, boolean isSelected) {
//System.out.println(item.getTagCompound()); //System.out.println(item.getTagCompound());
if (!stack.hasTagCompound()) { //if (!stack.hasTagCompound()) {
stack.setTagCompound(new NBTTagCompound()); // stack.setTagCompound(new NBTTagCompound());
stack.getTagCompound().setBoolean("hot", false); // stack.getTagCompound().setBoolean("hot", false);
} //}
} }

View File

@@ -191,17 +191,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{
cookCounter2--; cookCounter2--;
} }
if (cookCounter2 >= recipe.getIdealTime()) { if (cookCounter2 >= recipe.getIdealTime()) {
ItemStack outputStack = recipe.getOutput(); ItemStack outputStack = recipe.getOutput().copy();
outputStack.setItemDamage(stack.getItemDamage()); outputStack.setItemDamage(stack.getItemDamage());
if(outputStack.getItem() instanceof ToolPart) {
outputStack.setTagCompound(stackCompound);
outputStack.getSubCompound("tags").setBoolean("hot", true);
}
if(outputStack.getItem() instanceof BaseMultiItem) {
//System.out.println(stack.getTagCompound());
stackCompound.setBoolean("hot", true);
outputStack.setTagCompound(stackCompound);
}
this.setSlotStack(i, outputStack); this.setSlotStack(i, outputStack);
cookCounter2 = 0; cookCounter2 = 0;
} }
@@ -214,16 +205,9 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{
cookCounter3--; cookCounter3--;
} }
if (cookCounter3 >= recipe.getIdealTime()) { if (cookCounter3 >= recipe.getIdealTime()) {
ItemStack outputStack = recipe.getOutput(); ItemStack outputStack = recipe.getOutput().copy();
outputStack.setItemDamage(stack.getItemDamage()); outputStack.setItemDamage(stack.getItemDamage());
if(outputStack.getItem() instanceof ToolPart) {
outputStack.setTagCompound(stackCompound);
outputStack.getSubCompound("tags").setBoolean("hot", true);
}
if(outputStack.getItem() instanceof BaseMultiItem) {
stackCompound.setBoolean("hot", true);
outputStack.setTagCompound(stackCompound);
}
this.setSlotStack(i, outputStack); this.setSlotStack(i, outputStack);
cookCounter3 = 0; cookCounter3 = 0;
@@ -237,17 +221,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{
cookCounter4--; cookCounter4--;
} }
if (cookCounter4 >= recipe.getIdealTime()) { if (cookCounter4 >= recipe.getIdealTime()) {
ItemStack outputStack = recipe.getOutput(); ItemStack outputStack = recipe.getOutput().copy();
outputStack.setItemDamage(stack.getItemDamage()); outputStack.setItemDamage(stack.getItemDamage());
//System.out.println(stackCompound.getCompoundTag("tags"));
if(outputStack.getItem() instanceof ToolPart) {
outputStack.setTagCompound(stackCompound);
outputStack.getSubCompound("tags").setBoolean("hot", true);
}
if(outputStack.getItem() instanceof BaseMultiItem) {
stackCompound.setBoolean("hot", true);
outputStack.setTagCompound(stackCompound);
}
this.setSlotStack(i, outputStack); this.setSlotStack(i, outputStack);
cookCounter4 = 0; cookCounter4 = 0;
} }
@@ -260,16 +235,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{
cookCounter5--; cookCounter5--;
} }
if (cookCounter5 >= recipe.getIdealTime()) { if (cookCounter5 >= recipe.getIdealTime()) {
ItemStack outputStack = recipe.getOutput(); ItemStack outputStack = recipe.getOutput().copy();
outputStack.setItemDamage(stack.getItemDamage()); outputStack.setItemDamage(stack.getItemDamage());
if(outputStack.getItem() instanceof ToolPart) {
outputStack.setTagCompound(stackCompound);
outputStack.getSubCompound("tags").setBoolean("hot", true);
}
if(outputStack.getItem() instanceof BaseMultiItem) {
stackCompound.setBoolean("hot", true);
outputStack.setTagCompound(stackCompound);
}
this.setSlotStack(i, outputStack); this.setSlotStack(i, outputStack);
cookCounter5 = 0; cookCounter5 = 0;
} }
@@ -282,16 +249,8 @@ public class TileForge extends TileBaseSlot implements ITickable, ToolNBT{
cookCounter6--; cookCounter6--;
} }
if (cookCounter6 >= recipe.getIdealTime()) { if (cookCounter6 >= recipe.getIdealTime()) {
ItemStack outputStack = recipe.getOutput(); ItemStack outputStack = recipe.getOutput().copy();
outputStack.setItemDamage(stack.getItemDamage()); outputStack.setItemDamage(stack.getItemDamage());
if(outputStack.getItem() instanceof ToolPart) {
outputStack.setTagCompound(stackCompound);
outputStack.getSubCompound("tags").setBoolean("hot", true);
}
if(outputStack.getItem() instanceof BaseMultiItem) {
outputStack.setTagCompound(stackCompound);
outputStack.getTagCompound().setBoolean("hot", true);
}
this.setSlotStack(i, outputStack); this.setSlotStack(i, outputStack);
cookCounter6 = 0; cookCounter6 = 0;
} }

View File

@@ -73,23 +73,33 @@ public class TileNBTCrucible extends BaseTile implements ITickable {
if (!world.isRemote) { if (!world.isRemote) {
World world = this.getWorld(); World world = this.getWorld();
IBlockState state = world.getBlockState(this.pos); IBlockState state = world.getBlockState(this.pos);
dropsManager();
coolManager(this.pos, world, state); coolManager(this.pos, world, state);
} }
} }
private void dropsManager(){
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(this.ingList.get(0), this.ingList.get(1), this.ingList.get(2), this.ingList.get(3), this.ingList.get(4));
if(recipe!=null){
if( (this.getHot() == 15) && (this.getStatus()) ){
this.setDrops(recipe.getDropsCooked());
} else if ((this.getHot() == 15) && (!this.getStatus())){
this.setDrops(recipe.getDropsRaw());
}
}
}
private void coolManager(BlockPos pos, World world, IBlockState state) { private void coolManager(BlockPos pos, World world, IBlockState state) {
//System.out.println(this.getHeat() + " " + this.getHot() + " " + this.getDrops()); //System.out.println(this.getHeat() + " " + this.getHot() + " " + this.getDrops());
if(this.getHot() == 15){ if(this.getHot() == 15){
//System.out.println("Still Hot");
if(this.getHeat() > 0){ if(this.getHeat() > 0){
this.setHeat( this.getHeat() - 1); this.setHeat( this.getHeat() - 1);
world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 15), 2); world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 15), 2);
} }
if(this.getHeat() == 0){ if(this.getHeat() == 0){
this.setHot(6); this.setHot(6);
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4)); //CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
this.setDrops(recipe.getDropsCooked()); //this.setDrops(recipe.getDropsCooked());
this.setStatus(true); this.setStatus(true);
System.out.println("Ready to harvest: " + this.getDrops()); System.out.println("Ready to harvest: " + this.getDrops());
world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 6), 2); world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 6), 2);

View File

@@ -189,8 +189,8 @@ public interface CastingFormHandler {
return false; return false;
} }
default void doCastingCrafting(Item[] tempArray, World world, TileCastingForm tile, BlockPos pos){ default void doCastingCrafting(ItemStack source, Item[] tempArray, World world, TileCastingForm tile, BlockPos pos){
CastingCrafting recipe = CastingCrafting.getRecipe(tempArray); CastingCrafting recipe = CastingCrafting.getRecipe(source, tempArray);
if (recipe != null) { if (recipe != null) {
CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput()); CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput());
} }

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
hotbronzecrucible.json{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/molten_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/molten_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/molten_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/molten_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/molten_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
},
"parent": "forgecraft:ironball"
},
"variants": {
"active=false": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
}
},
"active=true": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/iron_ingot_hot",
"texture": "forgecraft:blocks/iron_ingot_hot"
}
}
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
},
"parent": "forgecraft:ironchunk"
},
"variants": {
"active=false": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/iron_ingot",
"texture": "forgecraft:blocks/iron_ingot"
}
},
"active=true": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/iron_ingot_hot",
"texture": "forgecraft:blocks/iron_ingot_hot"
}
}
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/clean_iron_ingot",
"texture": "forgecraft:blocks/clean_iron_ingot"
},
"parent": "forgecraft:ironball"
},
"variants": {
"active=false": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/clean_iron_ingot",
"texture": "forgecraft:blocks/clean_iron_ingot"
}
},
"active=true": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/clean_iron_ingot_hot",
"texture": "forgecraft:blocks/clean_iron_ingot_hot"
}
}
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/clean_iron_ingot",
"texture": "forgecraft:blocks/clean_iron_ingot"
},
"parent": "forgecraft:ironchunk"
},
"variants": {
"active=false": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/clean_iron_ingot",
"texture": "forgecraft:blocks/clean_iron_ingot"
}
},
"active=true": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/clean_iron_ingot_hot",
"texture": "forgecraft:blocks/clean_iron_ingot_hot"
}
}
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab",
"texture1": "forgecraft:items/raw_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab",
"texture1": "forgecraft:items/raw_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab",
"texture1": "forgecraft:items/raw_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab",
"texture1": "forgecraft:items/raw_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,13 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab",
"texture1": "forgecraft:items/raw_bronze"
}
},
"variants": {
"normal": { "model": "forgecraft:castingcrucible" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,12 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
}
},
"variants": {
"normal": { "model": "forgecraft:crucibleshut" }
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/steel_ingot",
"texture": "forgecraft:blocks/steel_ingot"
},
"parent": "forgecraft:ironball"
},
"variants": {
"active=false": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/steel_ingot",
"texture": "forgecraft:blocks/steel_ingot"
}
},
"active=true": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/steel_ingot_hot",
"texture": "forgecraft:blocks/steel_ingot_hot"
}
}
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/steel_ingot",
"texture": "forgecraft:blocks/steel_ingot"
},
"parent": "forgecraft:ironchunk"
},
"variants": {
"active=false": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/steel_ingot",
"texture": "forgecraft:blocks/steel_ingot"
}
},
"active=true": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/steel_ingot_hot",
"texture": "forgecraft:blocks/steel_ingot_hot"
}
}
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/wootz_ingot",
"texture": "forgecraft:blocks/wootz_ingot"
},
"parent": "forgecraft:ironball"
},
"variants": {
"active=false": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/wootz_ingot",
"texture": "forgecraft:blocks/wootz_ingot"
}
},
"active=true": {
"model": "forgecraft:ironball",
"textures": {
"particle": "forgecraft:blocks/wootz_ingot_hot",
"texture": "forgecraft:blocks/wootz_ingot_hot"
}
}
}
}

View File

@@ -1,26 +0,0 @@
{
"forge_marker":1,
"defaults": {
"textures": {
"particle": "forgecraft:blocks/wootz_ingot",
"texture": "forgecraft:blocks/wootz_ingot"
},
"parent": "forgecraft:ironchunk"
},
"variants": {
"active=false": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/wootz_ingot",
"texture": "forgecraft:blocks/wootz_ingot"
}
},
"active=true": {
"model": "forgecraft:ironchunk",
"textures": {
"particle": "forgecraft:blocks/wootz_ingot_hot",
"texture": "forgecraft:blocks/wootz_ingot_hot"
}
}
}
}

View File

@@ -26,7 +26,8 @@ tile.emptycruciblehit.name=Hot Empty Crucible
tile.emptycruciblecracked.name= Cracked Empty Crucible tile.emptycruciblecracked.name= Cracked Empty Crucible
tile.emptycruciblecrackedhot.name=Cracked Hot Empty Crucible tile.emptycruciblecrackedhot.name=Cracked Hot Empty Crucible
item.bronzeingotball.name=Bronze Ingot
item.bronzechunk.name=Bronze Chunk
item.ironingotball.name=Wrought Iron Ingot item.ironingotball.name=Wrought Iron Ingot
item.wroughtironchunk.name=Wrought Iron Chunk item.wroughtironchunk.name=Wrought Iron Chunk
item.ironcleaningotball.name=Clean Iron Ingot item.ironcleaningotball.name=Clean Iron Ingot
@@ -48,7 +49,7 @@ item.rawlongbow.name=Raw Longbow
item.bellowshandle.name=Bellows Handle item.bellowshandle.name=Bellows Handle
item.softcrucible.name=Soft Crucible item.softcrucible.name=Soft Crucible
item.stonetongs.name=Stone Tongs item.slottedtongs.name=Stone Tongs
item.forgehammer.name=Forge Hammer item.forgehammer.name=Forge Hammer
item.cast_axe.name=Axe Cast item.cast_axe.name=Axe Cast
@@ -117,7 +118,9 @@ item.wootzpickaxe.name=Damascus Steel Pickaxe
item.wootzaxe.name=Damascus Steel Axe item.wootzaxe.name=Damascus Steel Axe
item.wootzshovel.name=Damascus Steel Shovel item.wootzshovel.name=Damascus Steel Shovel
item.wootzhoe.name=Damascus Steel Hoe item.wootzhoe.name=Damascus Steel Hoe
#item.wootzsword.name=Damascus Steel Sword item.wootzgladius.name=Damascus Gladius
item.wootzlongsword.name=Damascus Longsword
item.wootzslayer.name=Damascus Slayer
item.leatherhelmet.name=Hardened Leather Helmet item.leatherhelmet.name=Hardened Leather Helmet
@@ -128,4 +131,6 @@ forgecraft.compatibility=Compatibility
forgecraft.compatibility.tooltip=Compatibility Features forgecraft.compatibility.tooltip=Compatibility Features
jei.category.forgecraft.crucible=Crucible Crafting jei.category.forgecraft.crucible=Crucible Crafting
jei.category.forgecraft.anvil=Anvil Crafting jei.category.forgecraft.anvil=Anvil Crafting
jei.category.forgecraft.casting=Casting
jei.category.forgecraft.forging=Forging

View File

@@ -1,11 +1,11 @@
{ {
"parent": "forgecraft:item/ironchunk", "parent": "forgecraft:item/ironchunk",
"textures": { "textures": {
"particle": "forgecraft:blocks/bronze_ingot", "particle": "forgecraft:blocks/bronze_block",
"texture": "forgecraft:blocks/bronze_ingot" "texture": "forgecraft:blocks/bronze_block"
}, },
"overrides": [ "overrides": [
{"predicate": {"type": 0.12},"model": "forgecraft:item/chunks/bronze/chunk_04"}, {"predicate": {"type": 0.12},"model": "forgecraft:item/chunks/bronze/chunk_02"},
{"predicate": {"type": 0.13},"model": "forgecraft:item/chunks/bronze/chunk_05"} {"predicate": {"type": 0.13},"model": "forgecraft:item/chunks/bronze/chunk_03"}
] ]
} }

View File

@@ -1,8 +1,8 @@
{ {
"parent": "forgecraft:item/ironball", "parent": "forgecraft:item/ironball",
"textures": { "textures": {
"particle": "forgecraft:blocks/bronze_ingot", "particle": "forgecraft:blocks/bronze_block",
"texture": "forgecraft:blocks/bronze_ingot" "texture": "forgecraft:blocks/bronze_block"
}, },
"overrides": [ "overrides": [
{"predicate": {"type": 0.02},"model": "forgecraft:item/ingots/bronze/ingot_02"}, {"predicate": {"type": 0.02},"model": "forgecraft:item/ingots/bronze/ingot_02"},

View File

@@ -1,53 +0,0 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "items/parts/adobebrick_mix",
"texture": "items/parts/adobebrick_mix"
},
"elements": [
{
"__comment": "Box1",
"from": [ 7, 0, 7 ],
"to": [ 9, 2, 9 ],
"faces": {
"down": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture" },
"up": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture" },
"north": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture" },
"south": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture" },
"west": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture" },
"east": { "uv": [ 5, 5, 11, 11 ], "texture": "#texture" }
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [ 0, -90, 55 ],
"translation": [ 0, 4, -5 ],
"scale": [ 0.85, 0.85, 0.85 ]
},
"thirdperson_lefthand": {
"rotation": [ 0, -90, 55 ],
"translation": [ 0, 4, -5 ],
"scale": [ 0.85, 0.85, 0.85 ]
},
"firstperson_righthand": {
"rotation": [ 0, -90, 25 ],
"translation": [ 0, 4, -5 ]
},
"firstperson_lefthand": {
"rotation": [ 0, -90, 25 ],
"translation": [ 0, 4, -5 ]
},
"gui": {
"rotation": [ 30, 225, 0 ],
"translation": [ 0, 5, 0 ],
"scale": [ 1.5, 1.5, 1.5 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"translation": [ 0, 6, 0 ]
}
}
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab"
},
"parent": "forgecraft:block/emptycrucible"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_cracked",
"texture": "forgecraft:blocks/stone_slab_cracked"
},
"parent": "forgecraft:block/emptycrucible"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_cracked_hot",
"texture": "forgecraft:blocks/stone_slab_cracked_hot"
},
"parent": "forgecraft:block/emptycrucible"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
},
"parent": "forgecraft:block/emptycrucible"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_burnt",
"texture": "forgecraft:blocks/stone_slab_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot_burnt",
"texture": "forgecraft:blocks/stone_slab_hot_burnt"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,9 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
},
"parent": "forgecraft:block/castingcrucible"
}

View File

@@ -1,9 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
},
"parent": "forgecraft:block/castingcrucible"
}

View File

@@ -1,9 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
},
"parent": "forgecraft:block/castingcrucible"
}

View File

@@ -1,9 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
},
"parent": "forgecraft:block/castingcrucible"
}

View File

@@ -1,9 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
},
"parent": "forgecraft:block/castingcrucible"
}

View File

@@ -1,8 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot"
},
"parent": "forgecraft:block/crucibleshut"
}

View File

@@ -1,9 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/molten_bronze"
},
"parent": "forgecraft:block/castingcrucible"
}

View File

@@ -1,9 +0,0 @@
{
"forge_marker":1,
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/molten_bronze"
},
"parent": "forgecraft:block/castingcrucible"
}

Some files were not shown because too many files have changed in this diff Show More