fixed renders, models, and casting logic

This commit is contained in:
Mohammad-Ali Minaie
2018-09-07 10:47:37 -04:00
parent e7abf79946
commit bdf423d764
22 changed files with 689 additions and 526 deletions

View File

@@ -10,11 +10,27 @@
- [x] Update all slotted tong models
- [ ] Need to update nbtCrucible models when hot and in bloomery
- [ ] Need to update hot tongs model
- [ ] How to cook Soft Crucible https://git.nmd.so/nmd/PrimalCore/src/branch/tile-factory/src/main/java/nmd/primal/core/common/init/recipes/custom/RecipesHibachi.java
make a copy of it somewhere, it doenst need to be instantiated or anything, the event annotation will automatically load it
for your setRecipeName include your mod id like .setRecipeName(KFC.MOD_ID, "soft_crucible"));
you'll need to update the annotation @GameRegistry.ObjectHolder(ModInfo.MOD_ID) with your mod id also
- [ ] Chunk and Ball stacking
- [ ] Adobe Bloomery Texture
- [ ] Adobe Forge Texture
- [ ] Casting Mud Texture
- [ ] Wootz Chunk Model
- [ ] Leather Helmet Inventory Model
- [ ] CT Support
- [ ] Update Casting recipes to use new slotted tongs and nbtCrucible
- [ ] Config Usage
- [ ] Steel Plate Recipe #37
- [ ] Craft Tweaker Support
- [x] Inventory model for nbtCrucible
- [x] Tongs hot Texture
- [x] Casting Block line 103
- [x] Bloomery rendering all messed up
- [x] Update Casting recipes to use new slotted tongs and nbtCrucible
- [x] NBT Crucible
- [x] NBT Crucible Recipes
- [x] Slotted Tongs

View File

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

View File

@@ -18,7 +18,7 @@ public class ModInfo {
//public static final String MOD_PREFIX = MOD_ID + ":";
public static final String MOD_CHANNEL = MOD_ID;
public static final String MOD_VERSION = "1.5.0";
public static final String MOD_VERSION = "1.5.1";
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,);";

View File

@@ -7,13 +7,11 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ItemStackHelper;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumBlockRenderType;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.*;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
@@ -22,11 +20,14 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import nmd.primal.core.common.helper.PlayerHelper;
import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.crafting.CrucibleCrafting;
import nmd.primal.forgecraft.init.ModBlocks;
import nmd.primal.forgecraft.init.ModItems;
import nmd.primal.forgecraft.items.SlottedTongs;
import nmd.primal.forgecraft.items.casting.CastingPart;
import nmd.primal.forgecraft.tiles.TileCastingBlock;
import javax.annotation.Nullable;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
@@ -69,6 +70,7 @@ public class CastingBlock extends CustomContainerFacing {
world.spawnParticle(EnumParticleTypes.FLAME, d0+d4, d1, d2+d4, ySpeed, ySpeed, ySpeed, new int[0]);
}
}
@Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer player, EnumHand hand, EnumFacing facing, float hitx, float hity, float hitz) {
@@ -76,8 +78,8 @@ public class CastingBlock extends CustomContainerFacing {
TileCastingBlock tile = (TileCastingBlock) world.getTileEntity(pos);
ItemStack pItem = player.inventory.getCurrentItem();
if(player.isSneaking()) {
if(!tile.getSlotStack(0).isEmpty()){
if (player.isSneaking()) {
if (!tile.getSlotStack(0).isEmpty()) {
ItemStack copyStack = tile.getSlotStack(0).copy();
PlayerHelper.spawnItemOnPlayer(world, player, copyStack);
tile.setSlotStack(0, ItemStack.EMPTY);
@@ -86,8 +88,8 @@ public class CastingBlock extends CustomContainerFacing {
}
}
if(pItem.getItem() instanceof CastingPart){
if(!player.isSneaking()) {
if (pItem.getItem() instanceof CastingPart) {
if (!player.isSneaking()) {
if (tile.getSlotStack(0).isEmpty()) {
ItemStack copyStack = pItem.copy();
copyStack.setCount(1);
@@ -99,72 +101,83 @@ public class CastingBlock extends CustomContainerFacing {
}
}
if(pItem.getItem() == ModItems.stonetongs ){
ItemStack dropCrucible = new ItemStack(ModBlocks.emptycrucible);
if(pItem.getTagCompound().getInteger("type") == 40){
if(tile.getSlotStack(0).getItem() == ModItems.cast_hoe){
if (pItem.getItem() == ModItems.slottedtongs) {
//TODO need to fix dropCrucible with default state
ItemStack dropCrucible = new ItemStack(ModBlocks.nbtCrucible);
NonNullList<ItemStack> ingList = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
SlottedTongs tongs = (SlottedTongs) pItem.getItem();
ItemStack slotStack = tongs.getSlotList().get(0);
if (!tongs.getSlotList().isEmpty()) {
ingList = tongs.getSlotList();
NBTTagCompound tag = slotStack.getSubCompound("BlockEntityTag");
if (tag != null) {
ItemStackHelper.loadAllItems(tag, ingList);
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
if (recipe != null) {
ItemStack outputStack = recipe.getDropsCooked();
if (outputStack.getItem() == ModItems.bronzeingotball) {
NBTTagCompound recipeTag = outputStack.getTagCompound();
if (recipeTag != null) {
/**Vanilla Bronze**/
if (recipeTag.getString("upgrades") == ("")) {
if (tile.getSlotStack(0).getItem() == ModItems.cast_hoe) {
ItemStack dropStack = new ItemStack(ModItems.bronzehoehead);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
//makeEmbers(world, pos, world.rand);
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe){
if (tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe) {
ItemStack dropStack = new ItemStack(ModItems.bronzepickaxehead);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_axe){
if (tile.getSlotStack(0).getItem() == ModItems.cast_axe) {
ItemStack dropStack = new ItemStack(ModItems.bronzeaxehead);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_shovel){
if (tile.getSlotStack(0).getItem() == ModItems.cast_shovel) {
ItemStack dropStack = new ItemStack(ModItems.bronzeshovelhead);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_gladius){
if (tile.getSlotStack(0).getItem() == ModItems.cast_gladius) {
ItemStack dropStack = new ItemStack(ModItems.bronzegladius);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
}
/***************************
* Bronze *
*
46 | Hot Cooked Bronze Crucible Emerald
48 | Hot Cooked Bronze Crucible Diamond
50 | Hot Cooked Bronze Crucible Redstone
52 | Hot Cooked Bronze Crucible Lapis
***************************/
if(pItem.getTagCompound().getInteger("type") == 46){
if(tile.getSlotStack(0).getItem() == ModItems.cast_hoe){
/**Emerald Bronze**/
if (recipeTag.getString("upgrades") == ("emerald")) {
if (tile.getSlotStack(0).getItem() == ModItems.cast_hoe) {
ItemStack dropStack = new ItemStack(ModItems.bronzehoehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
@@ -181,12 +194,12 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe){
if (tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe) {
ItemStack dropStack = new ItemStack(ModItems.bronzepickaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
@@ -203,12 +216,12 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_axe){
if (tile.getSlotStack(0).getItem() == ModItems.cast_axe) {
ItemStack dropStack = new ItemStack(ModItems.bronzeaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
@@ -225,12 +238,12 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_shovel){
if (tile.getSlotStack(0).getItem() == ModItems.cast_shovel) {
ItemStack dropStack = new ItemStack(ModItems.bronzeshovelhead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
@@ -247,23 +260,25 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if(tile.getSlotStack(0).getItem() == ModItems.cast_gladius){
if (tile.getSlotStack(0).getItem() == ModItems.cast_gladius) {
ItemStack dropStack = new ItemStack(ModItems.bronzegladius);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
}
if(pItem.getTagCompound().getInteger("type") == 48) {
/**Diamond Bronze**/
if (recipeTag.getString("upgrades") == ("diamond")) {
if (tile.getSlotStack(0).getItem() == ModItems.cast_hoe) {
ItemStack dropStack = new ItemStack(ModItems.bronzehoehead);
dropStack.setTagCompound(new NBTTagCompound());
@@ -363,7 +378,9 @@ public class CastingBlock extends CustomContainerFacing {
return true;
}
}
if(pItem.getTagCompound().getInteger("type") == 50) {
/**Redstone Bronze**/
if (recipeTag.getString("upgrades") == ("redstone")) {
if (tile.getSlotStack(0).getItem() == ModItems.cast_hoe) {
ItemStack dropStack = new ItemStack(ModItems.bronzehoehead);
dropStack.setTagCompound(new NBTTagCompound());
@@ -380,7 +397,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -401,7 +418,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -424,7 +441,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -447,7 +464,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -457,13 +474,14 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
}
if(pItem.getTagCompound().getInteger("type") == 52) {
/**Lapis Bronze**/
if (recipeTag.getString("upgrades") == ("lapis")) {
if (tile.getSlotStack(0).getItem() == ModItems.cast_hoe) {
ItemStack dropStack = new ItemStack(ModItems.bronzehoehead);
dropStack.setTagCompound(new NBTTagCompound());
@@ -480,7 +498,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -501,7 +519,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -524,7 +542,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -547,7 +565,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -557,7 +575,7 @@ public class CastingBlock extends CustomContainerFacing {
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if(randomCheck(2)){
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
@@ -565,6 +583,12 @@ public class CastingBlock extends CustomContainerFacing {
}
}
}
}
}
}
}
}
}
return false;
}

View File

@@ -79,7 +79,7 @@ public class Crucible extends Block {
public void onBlockDestroyedByPlayer(World world, BlockPos pos, IBlockState state)
{
if(!world.isRemote){
/*if(!world.isRemote){
if(this.getUnlocalizedName().equals("tile.emptycruciblecracked")){} else spawnItemEntityFromWorld(world, pos, new ItemStack(ModBlocks.emptycrucible, 1));
if(StringUtils.isEmpty(this.getUnlocalizedName()) == false) {
@@ -89,7 +89,7 @@ public class Crucible extends Block {
}
}
}
}
}*/
}
private String checkDrops(String name){

View File

@@ -38,6 +38,7 @@ public class ModBlocks {
public static Block pistonbellowsdarkoak;
public static Block pistonbellowsacacia;
/**
public static Block emptycrucible;
public static Block emptycruciblehot;
public static Block emptycruciblecracked;
@@ -62,6 +63,7 @@ public class ModBlocks {
public static Block rawbronzecrucible_emerald;
public static Block hotbronzecrucible_emerald;
public static Block hotcookedbronzecrucible_emerald;
**/
//public static Block ironball;
//public static Block ironchunk;
@@ -96,7 +98,7 @@ public class ModBlocks {
pistonbellowsdarkoak = new PistonBellows(Material.WOOD, "pistonbellowsdarkoak");
pistonbellowsacacia = new PistonBellows(Material.WOOD, "pistonbellowsacacia");
emptycrucible = new Crucible(Material.ROCK, "emptycrucible");
/*emptycrucible = new Crucible(Material.ROCK, "emptycrucible");
emptycruciblehot = new CrucibleHot(Material.ROCK, "emptycruciblehot");
emptycruciblecracked = new Crucible(Material.ROCK, "emptycruciblecracked");
emptycruciblecrackedhot = new CrucibleHot(Material.ROCK, "emptycruciblecrackedhot");
@@ -120,6 +122,7 @@ public class ModBlocks {
rawbronzecrucible_emerald = new Crucible(Material.ROCK, "rawbronzecrucible_emerald");
hotbronzecrucible_emerald = new CrucibleHot(Material.ROCK, "hotbronzecrucible_emerald");
hotcookedbronzecrucible_emerald = new CrucibleHot(Material.ROCK, "hotcookedbronzecrucible_emerald");
*/
/*
ironball = new IngotBall(Material.IRON, "ironball", 5.0F, "big") {
@@ -385,7 +388,7 @@ public class ModBlocks {
registerBlockWithItem(pistonbellowsdarkoak);
registerBlockWithItem(pistonbellowsacacia);
registerBlockWithItem(emptycrucible);
/*registerBlockWithItem(emptycrucible);
registerBlockWithItem(emptycruciblehot);
registerBlockWithItem(emptycruciblecracked);
registerBlockWithItem(emptycruciblecrackedhot);
@@ -409,7 +412,7 @@ public class ModBlocks {
registerBlockWithItem(rawbronzecrucible_lapis);
registerBlockWithItem(hotbronzecrucible_lapis);
registerBlockWithItem(hotcookedbronzecrucible_lapis);
*/
//registerBlockWithItem(ironball);
//registerBlockWithItem(ironchunk);
@@ -448,7 +451,7 @@ public class ModBlocks {
registerRender(bloomery_brick);
registerRender(bloomery_adobe);
/*
registerRender(emptycrucible);
registerRender(emptycruciblehot);
registerRender(emptycruciblecracked);
@@ -473,7 +476,7 @@ public class ModBlocks {
registerRender(rawbronzecrucible_lapis);
registerRender(hotbronzecrucible_lapis);
registerRender(hotcookedbronzecrucible_lapis);
*/
//registerRender(ironball);
//registerRender(ironchunk);

View File

@@ -98,6 +98,10 @@ public class ModCrafting{
100,
1000);
NBTTagCompound tagBronzeDefault = new NBTTagCompound();
tagBronzeDefault.setString("upgrades", "");
ItemStack defaultBronze = new ItemStack(ModItems.bronzeingotball, 1);
defaultBronze.setTagCompound(tagBronzeDefault.copy());
CrucibleCrafting.addRecipe(
new OreIngredient("oreBronze"),
Ingredient.EMPTY,
@@ -105,7 +109,7 @@ public class ModCrafting{
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
new ItemStack(ModItems.bronzeingotball, 1),
defaultBronze,
100,
100,
1000);
@@ -126,6 +130,53 @@ public class ModCrafting{
100,
100);
NBTTagCompound diamondBronzeTag = new NBTTagCompound();
tag.setString("upgrades", "diamond");
ItemStack diamondBronze = new ItemStack(ModItems.bronzeingotball, 1);
diamondBronze.setTagCompound(diamondBronzeTag.copy());
CrucibleCrafting.addRecipe(
new OreIngredient("ingotBronze"),
new OreIngredient("dustDiamond"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondBronze,
100,
100,
100);
NBTTagCompound emeraldBronzeTag = new NBTTagCompound();
tag.setString("upgrades", "emerald");
ItemStack emeraldBronze = new ItemStack(ModItems.bronzeingotball, 1);
emeraldBronze.setTagCompound(emeraldBronzeTag.copy());
CrucibleCrafting.addRecipe(
new OreIngredient("ingotBronze"),
new OreIngredient("dustEmerald"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondBronze,
100,
100,
100);
NBTTagCompound tagBronzeLapis = new NBTTagCompound();
tagBronzeDefault.setString("upgrades", "lapis");
ItemStack lapisBronze = new ItemStack(ModItems.bronzeingotball, 1);
lapisBronze.setTagCompound(tagBronzeLapis.copy());
CrucibleCrafting.addRecipe(
new OreIngredient("oreBronze"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisBronze,
100,
100,
1000);
/*
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.rawcleanironcrucible),
@@ -216,7 +267,7 @@ public class ModCrafting{
"X X", "X X", " X ", 'X', Items.STICK);
/***Tongs***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.stonetongs, 1),
RecipeHandler.addShapedOreRecipe(new ItemStack(ModItems.slottedtongs, 1),
"X X", "YSY", 'X', Blocks.STONE, 'S', Items.STRING, 'Y', Items.STICK);
/***RAW CRUCIBLES***/
@@ -237,9 +288,8 @@ public class ModCrafting{
('X'), new ItemStack(ModBlocks.ironcleanball, 1),
('C'), new ItemStack(PrimalAPI.Items.CHARCOAL_HIGH),
('Y'), ModBlocks.emptycrucible);
*/
*/
/*
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.rawbronzecrucible),
"XCX"," X "," Y ",
('X'), "dustCopper",
@@ -291,7 +341,8 @@ public class ModCrafting{
('T'), new ItemStack(ModItems.brokenbronzetool, 1),
('Y'), new ItemStack(ModBlocks.emptycrucible, 1)
);
/*
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.rawironcrucible, 1),
"T", "Y",
('T'), new ItemStack(ModItems.brokenwroughtirontool, 1),
@@ -480,7 +531,7 @@ public class ModCrafting{
/***************************************************************/
/***Bloomery Crafting***/
/*
//Makes the Empty Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModItems.softcrucible, 1),
@@ -584,6 +635,7 @@ public class ModCrafting{
0.25f
);
*/
/*
//Makes the Hot Bronze Crucible
BloomeryCrafting.addRecipe(
new ItemStack(ModBlocks.rawbronzecrucible, 1),
@@ -710,6 +762,7 @@ public class ModCrafting{
0.5f,
0.5f
);
*/
//TODO PLACE HOLDER FOR WOOTZ

View File

@@ -33,7 +33,7 @@ public class ModItems {
public static Item bellowshandle;
public static Item forgehammer;
public static Item softcrucible;
public static Item stonetongs;
//public static Item stonetongs;
public static Item castingmud;
public static Item bronzeingotball;

View File

@@ -29,6 +29,7 @@ import java.util.List;
/**
* Created by mminaie on 1/23/17.
*/
/**
public class ItemStoneTongs extends Item {
public ItemStoneTongs(String unlocalizedName) {
@@ -143,7 +144,7 @@ public class ItemStoneTongs extends Item {
*/
/*
if(!world.isRemote) {
ItemStack itemstack = player.getHeldItem(hand);
//System.out.println(itemstack.getTagCompound().getInteger("type"));
@@ -195,12 +196,14 @@ public class ItemStoneTongs extends Item {
/*****
Picks Up Hot Crucibles from the Ground
*****/
/*
if (world.getBlockState(pos).getBlock() instanceof BloomeryBase == false) {
if(world.getBlockState(pos).getBlock() instanceof CrucibleHot) {
TileBaseCrucible tileCrucible = (TileBaseCrucible) world.getTileEntity(pos);
/***************************
* Crucibles *
***************************/
/*
if (world.getBlockState(pos).getBlock() == ModBlocks.emptycruciblehot) {
itemstack.getTagCompound().setInteger("type", 1);
itemstack.getTagCompound().setInteger("cooldown", tileCrucible.countdown);
@@ -297,6 +300,7 @@ public class ItemStoneTongs extends Item {
51 | Hot Bronze Crucible Lapis
52 | Hot Cooked Bronze Crucible Lapis
***************************/
/*
if (world.getBlockState(pos).getBlock() == ModBlocks.hotbronzecrucible) {
itemstack.getTagCompound().setInteger("type", 39);
itemstack.getTagCompound().setInteger("cooldown", tileCrucible.countdown);
@@ -362,6 +366,7 @@ public class ItemStoneTongs extends Item {
/*****
Places the content from the Tongs to the World
*****/
/*
if ((world.getBlockState(pos).getBlock() instanceof Crucible) || (world.getBlockState(pos).getBlock() instanceof CrucibleHot)) {
return EnumActionResult.FAIL;
} else if (world.getBlockState(pos).getMaterial() == Material.ROCK ||
@@ -418,6 +423,7 @@ public class ItemStoneTongs extends Item {
itemstack.getTagCompound().setInteger("type", 0);
return EnumActionResult.SUCCESS;
*/
/*
case 8:
return EnumActionResult.FAIL;
case 9:
@@ -456,6 +462,7 @@ public class ItemStoneTongs extends Item {
itemstack.getTagCompound().setInteger("type", 0);
return EnumActionResult.SUCCESS;
*/
/*
case 17:
return EnumActionResult.FAIL;
case 18:
@@ -495,6 +502,7 @@ public class ItemStoneTongs extends Item {
itemstack.getTagCompound().setInteger("type", 0);
return EnumActionResult.SUCCESS;
*/
/*
case 29:
world.setBlockState(tempPos, ModBlocks.hotbronzecrucible.getDefaultState(), 2);
TileBaseCrucible tileCrucible39 = (TileBaseCrucible) world.getTileEntity(tempPos);
@@ -521,6 +529,7 @@ public class ItemStoneTongs extends Item {
51 | Hot Bronze Crucible Lapis
52 | Hot Cooked Bronze Crucible Lapis
***************************/
/*
case 45:
world.setBlockState(tempPos, ModBlocks.hotbronzecrucible_emerald.getDefaultState(), 2);
TileBaseCrucible tileCrucible45 = (TileBaseCrucible) world.getTileEntity(tempPos);
@@ -584,6 +593,7 @@ public class ItemStoneTongs extends Item {
/*****
Pulls the crucible from the Bloomery
*****/
/*
if (world.getBlockState(pos).getBlock() instanceof BloomeryBase) {
if (itemstack.getTagCompound().getInteger("type") == 0) {
TileBloomery tile = (TileBloomery) world.getTileEntity(pos);
@@ -644,6 +654,7 @@ public class ItemStoneTongs extends Item {
tile.setSlotStack(1, ItemStack.EMPTY);
return EnumActionResult.SUCCESS;
*/
/*
} else if (tile.getSlotStack(1).getItem().equals(Item.getItemFromBlock(ModBlocks.hotbronzecrucible))) {
itemstack.getTagCompound().setInteger("cooldown", 0);
itemstack.getTagCompound().setInteger("type", 39);
@@ -666,6 +677,7 @@ public class ItemStoneTongs extends Item {
51 | Hot Bronze Crucible Lapis
52 | Hot Cooked Bronze Crucible Lapis
***************************/
/*
} else if (tile.getSlotStack(1).getItem().equals(Item.getItemFromBlock(ModBlocks.hotbronzecrucible_emerald))) {
itemstack.getTagCompound().setInteger("cooldown", 0);
itemstack.getTagCompound().setInteger("type", 45);
@@ -886,7 +898,7 @@ public class ItemStoneTongs extends Item {
}
}*/
/*
else return EnumActionResult.FAIL;
//System.out.println(itemstack.getTagCompound().getInteger("type"));
@@ -905,3 +917,4 @@ public class ItemStoneTongs extends Item {
}
}
**/

View File

@@ -40,6 +40,13 @@ public class TileBloomeryRender extends TileEntitySpecialRenderer<TileBloomery>
ItemStack stack0 = tile.getSlotStack(0);
ItemStack stack1 = tile.getSlotStack(1);
if (!stack1.isEmpty()) {
GL11.glPushMatrix();
GL11.glTranslated(0, 0.50D, 0);
//renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1));
renderItem.renderItem(stack1, ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
if (!stack0.isEmpty()) {
@@ -66,13 +73,7 @@ public class TileBloomeryRender extends TileEntitySpecialRenderer<TileBloomery>
}
}
if (!stack1.isEmpty()) {
GL11.glPushMatrix();
GL11.glTranslated(0, 0.50D, 0);
//renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1));
renderItem.renderItem(stack1, ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
GL11.glPopMatrix();

View File

@@ -74,7 +74,7 @@ public class TileBloomery extends TileBaseSlot implements ITickable {
NBTTagCompound tag = this.getSlotStack(1).getSubCompound("BlockEntityTag");
//System.out.println(this.getSlotStack(1).getTagCompound());
if(tag != null) {
System.out.println(tag);
//System.out.println(tag);
ItemStackHelper.loadAllItems(tag, ingList);
ItemStackHelper.loadAllItems(tag, dropList);
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
@@ -83,13 +83,13 @@ public class TileBloomery extends TileBaseSlot implements ITickable {
!this.getSlotStack(1).getSubCompound("BlockEntityTag").getBoolean("status")) {
cookCounter++;
//this.getSlotStack(1).getSubCompound("BlockEntityTag").setBoolean("hot", true);
System.out.println("Cooking");
//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");
//System.out.println("hot");
this.updateBlock();
this.markDirty();
}
@@ -97,7 +97,7 @@ public class TileBloomery extends TileBaseSlot implements ITickable {
this.getSlotStack(1).getSubCompound("BlockEntityTag").setBoolean("status", true);
this.getSlotStack(1).getSubCompound("BlockEntityTag").setInteger("heat", this.getHeat());
cookCounter = 0;
System.out.println("Cooked");
//System.out.println("Cooked");
this.updateBlock();
this.markDirty();
}

View File

@@ -58,17 +58,19 @@
"textures": {
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab",
"texture1": "forgecraft:blocks/crucible_cooked"
"texture1": "forgecraft:blocks/crucible_cooked",
"texture3": "forgecraft:blocks/crucible_cooked"
},
"model": "forgecraft:castingcrucible"
"model": "forgecraft:castingcrucible3"
},
"7": {
"textures": {
"particle": "forgecraft:blocks/stone_slab_hot",
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
"particle": "forgecraft:blocks/stone_slab",
"texture": "forgecraft:blocks/stone_slab",
"texture1": "forgecraft:blocks/crucible_cooked",
"texture3": "forgecraft:blocks/crucible_cooked"
},
"model": "forgecraft:castingcrucible"
"model": "forgecraft:castingcrucible3"
},
"8": {
"textures": {
@@ -132,7 +134,7 @@
"texture": "forgecraft:blocks/stone_slab_hot",
"texture1": "forgecraft:items/hot_bronze"
},
"model": "forgecraft:castingcrucible"
"model": "forgecraft:castingcrucible3"
}
}
}

View File

@@ -134,19 +134,27 @@
],
"display": {
"thirdperson_righthand": {
"translation": [ 0.1, 1.1, -2.35 ]
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"thirdperson_lefthand": {
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"firstperson_righthand": {
"translation": [ 0, 4, 0 ]
},
"firstperson_lefthand": {
"translation": [ 0, 4, 0 ]
},
"gui": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
}
}

View File

@@ -303,19 +303,27 @@
],
"display": {
"thirdperson_righthand": {
"translation": [ 0.1, 1.1, -2.35 ]
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"thirdperson_lefthand": {
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"firstperson_righthand": {
"translation": [ 0, 4, 0 ]
},
"firstperson_lefthand": {
"translation": [ 0, 4, 0 ]
},
"gui": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
}
}

View File

@@ -303,19 +303,27 @@
],
"display": {
"thirdperson_righthand": {
"translation": [ 0.1, 1.1, -2.35 ]
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"thirdperson_lefthand": {
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"firstperson_righthand": {
"translation": [ 0, 4, 0 ]
},
"firstperson_lefthand": {
"translation": [ 0, 4, 0 ]
},
"gui": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
}
}

View File

@@ -303,19 +303,27 @@
],
"display": {
"thirdperson_righthand": {
"translation": [ 0.1, 1.1, -2.35 ]
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"thirdperson_lefthand": {
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"firstperson_righthand": {
"translation": [ 0, 4, 0 ]
},
"firstperson_lefthand": {
"translation": [ 0, 4, 0 ]
},
"gui": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
}
}

View File

@@ -303,19 +303,27 @@
],
"display": {
"thirdperson_righthand": {
"translation": [ 0.1, 1.1, -2.35 ]
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"thirdperson_lefthand": {
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"firstperson_righthand": {
"translation": [ 0, 4, 0 ]
},
"firstperson_lefthand": {
"translation": [ 0, 4, 0 ]
},
"gui": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
}
}

View File

@@ -303,19 +303,27 @@
],
"display": {
"thirdperson_righthand": {
"translation": [ 0.1, 1.1, -2.35 ]
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"thirdperson_lefthand": {
"rotation": [ 51, 0, 0 ],
"translation": [ 0.1, 2.4668, -0.23 ]
},
"firstperson_righthand": {
"translation": [ 0, 4, 0 ]
},
"firstperson_lefthand": {
"translation": [ 0, 4, 0 ]
},
"gui": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ 45, 45, 0 ],
"translation": [ 0, 4, 0 ]
}
}

View File

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

View File

@@ -1,10 +1,12 @@
{
"parent": "forgecraft:item/slottedtongs_crucible4",
"parent": "forgecraft:item/slottedtongs_hotbronze",
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak",
"texture1": "blocks/stone_slab",
"texture2": "blocks/stone_slab_hot",
"texture3": "blocks/molten_crucible"
"texture1": "forgecraft:blocks/stone_slab",
"texture2": "forgecraft:blocks/stone_slab_hot",
"texture3": "forgecraft:blocks/molten_crucible"
}
}

View File

@@ -2,7 +2,7 @@
"modid": "forgecraft",
"name": "Kitsu's Forgecraft",
"description": "Forged with sweat and blood",
"version": "1.5.0",
"version": "1.5.1",
"mcversion": "1.12.2",
"url": "",
"updateUrl": "",