the crafting of tool parts, the upgrading of tool parts is complete

This commit is contained in:
Mohammad-Ali Minaie
2017-03-12 20:19:25 -04:00
parent dd90ba382a
commit 8fdbfc1bdc
11 changed files with 712 additions and 154 deletions

View File

@@ -2,18 +2,15 @@ To-Dos
*** Priority *** *** Priority ***
- [ ] Fix renderings in the Anvil - [ ] Create all the textures for all the NBT types
- [ ] Fix Renderings in the Forge
- [ ] Fix StoneTongs rendering for NBT 8
- [ ] Add forgehammer to oreDict
- [ ] Create Crafting Block for Tools and Weapons - [ ] Create Crafting Block for Tools and Weapons
- [ ] Create PickAxe Tool which ingests NBT - [ ] Create PickAxe Tool which ingests NBT
*** Backlog *** *** Backlog ***
- [ ] Tool Rendering - [ ] Add forgehammer to oreDict
- [ ] Toolhead Recipes - [ ] Finish Toolhead Recipes
- [ ] WeaponHead recipes - [ ] WeaponHead recipes
- [ ] Stone Anvil Bounding Box - [ ] Stone Anvil Bounding Box
@@ -27,9 +24,15 @@ To-Dos
- [ ] Bellows Sounds - [ ] Bellows Sounds
- [ ] Bloomery Sound? - [ ] Bloomery Sound?
- [ ] Forge Sound? - [ ] Forge Sound?
- [ ] Fix Flame creator from Forge and Bloomery
*** Completed *** *** Completed ***
- [x] Check for if the pickaxe head is hot before removing from forge
- [x] fix rotation rendering for Anvil
- [x] Fix renderings in the Anvil
- [x] Fix Renderings in the Forge
- [x] Fix StoneTongs rendering for NBT 8
- [x] Allow redstone, lapis, and shards in the anvil - [x] Allow redstone, lapis, and shards in the anvil
- [x] Create toolHead Item - [x] Create toolHead Item

View File

@@ -8,6 +8,7 @@ import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityItem;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items; import net.minecraft.init.Items;
import net.minecraft.item.EnumDyeColor;
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;
@@ -100,50 +101,76 @@ public class Anvil extends CustomContainerFacing {
} }
if(recipe.getOutput().getItem() instanceof ToolPart){ if(recipe.getOutput().getItem() instanceof ToolPart){
NBTTagCompound tempNBT = tile.getSlotStack(12).getSubCompound("tags");
ItemStack outputStack = recipe.getOutput();
outputStack.setTagCompound(new NBTTagCompound());
outputStack.getTagCompound().setTag("tags", tempNBT);
outputStack.getSubCompound("tags").setBoolean("hot", false);
if(outputStack.getSubCompound("tags").getInteger("modifiers") < 3){ if(!tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) {
ItemStack tempStack = recipe.getOutput();
tempStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
//Upgrade emerald tempStack.getTagCompound().setTag("tags", tags);
if(recipe.getUpgrade() == "emerald"){ tempStack.getSubCompound("tags").setBoolean("hot", false);
outputStack.getSubCompound("tags").setInteger("emerald",
(outputStack.getSubCompound("tags").getInteger("emerald") + 1) );
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1) );
}
//Upgrade diamond tempStack.getSubCompound("tags").setBoolean("emerald", false);
if(recipe.getUpgrade() == "diamond"){ tempStack.getSubCompound("tags").setInteger("diamond", 0);
outputStack.getSubCompound("tags").setInteger("diamond", tempStack.getSubCompound("tags").setInteger("redstone", 0);
(outputStack.getSubCompound("tags").getInteger("diamond") + 1) ); tempStack.getSubCompound("tags").setInteger("lapis", 0);
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1) );
}
//Upgrade redstone tempStack.getSubCompound("tags").setInteger("modifiers", 0);
if(recipe.getUpgrade() == "redstone"){ CommonUtils.spawnItemEntityFromWorld(world, pos, tempStack);
outputStack.getSubCompound("tags").setInteger("redstone", }
(outputStack.getSubCompound("tags").getInteger("redstone") + 1) );
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1) );
}
//Upgrade lapis if(tile.getSlotStack(12).getItem().equals(recipe.getOutput().getItem())) {
if(recipe.getUpgrade() == "lapis"){
if(outputStack.getSubCompound("tags").getInteger("emerald") == 0 ) {
outputStack.getSubCompound("tags").setInteger("lapis", NBTTagCompound tempNBT = tile.getSlotStack(12).getSubCompound("tags");
(outputStack.getSubCompound("tags").getInteger("lapis") + 1)); ItemStack outputStack = recipe.getOutput();
outputStack.setTagCompound(new NBTTagCompound());
outputStack.getTagCompound().setTag("tags", tempNBT);
outputStack.getSubCompound("tags").setBoolean("hot", false);
if (outputStack.getSubCompound("tags").getInteger("modifiers") < 3) {
//Upgrade emerald
if (recipe.getUpgrade() == "emerald") {
if (outputStack.getSubCompound("tags").getInteger("lapis") == 0) {
if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) {
outputStack.getSubCompound("tags").setInteger("emerald",
(outputStack.getSubCompound("tags").getInteger("emerald") + 1));
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
}
}
}
//Upgrade diamond
if (recipe.getUpgrade() == "diamond") {
outputStack.getSubCompound("tags").setInteger("diamond",
(outputStack.getSubCompound("tags").getInteger("diamond") + 1));
outputStack.getSubCompound("tags").setInteger("modifiers", outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1)); (outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
} }
}
//Upgrade redstone
if (recipe.getUpgrade() == "redstone") {
outputStack.getSubCompound("tags").setInteger("redstone",
(outputStack.getSubCompound("tags").getInteger("redstone") + 1));
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
}
//Upgrade lapis
if (recipe.getUpgrade() == "lapis") {
if (outputStack.getSubCompound("tags").getBoolean("emerald") == false) {
outputStack.getSubCompound("tags").setInteger("lapis",
(outputStack.getSubCompound("tags").getInteger("lapis") + 1));
outputStack.getSubCompound("tags").setInteger("modifiers",
(outputStack.getSubCompound("tags").getInteger("modifiers") + 1));
}
}
}
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
} }
CommonUtils.spawnItemEntityFromWorld(world, pos, outputStack);
} else { } else {
CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput()); CommonUtils.spawnItemEntityFromWorld(world, pos, recipe.getOutput());
@@ -218,27 +245,26 @@ public class Anvil extends CustomContainerFacing {
if (pItem.getTagCompound().getInteger("type") == 8) { if (pItem.getTagCompound().getInteger("type") == 8) {
ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1); ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1);
tempStack.setTagCompound(new NBTTagCompound()); tempStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tempNBT = pItem.getSubCompound("tags"); NBTTagCompound tags = pItem.getSubCompound("tags").copy();
tempStack.getTagCompound().setTag("tags", tempNBT); tempStack.getTagCompound().setTag("tags", tags);
tile.setSlotStack((counter), tempStack); tile.setSlotStack((counter), tempStack);
pItem.getTagCompound().setInteger("type", 0); pItem.getTagCompound().setInteger("type", 0);
pItem.getSubCompound("tags").setBoolean("hot", false); pItem.getSubCompound("tags").setBoolean("hot", false);
pItem.getSubCompound("tags").setBoolean("emerald", false); pItem.getSubCompound("tags").setBoolean("emerald", false);
pItem.getSubCompound("tags").setInteger("diamond", 0); pItem.getSubCompound("tags").setInteger("diamond", 0);
pItem.getSubCompound("tags").setInteger("redstone", 0); pItem.getSubCompound("tags").setInteger("redstone", 0);
pItem.getSubCompound("tags").setInteger("lapis", 0); pItem.getSubCompound("tags").setInteger("lapis", 0);
pItem.getSubCompound("tags").setInteger("modifiers", 0); pItem.getSubCompound("tags").setInteger("modifiers", 0);
return true; return true;
} }
} }
} }
} }
//System.out.println("1" + pItem);
if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) {
if (pItem.equals(ItemStack.EMPTY)) {
if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY); tile.setSlotStack(counter, ItemStack.EMPTY);
@@ -265,6 +291,12 @@ public class Anvil extends CustomContainerFacing {
return true; return true;
} }
if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) { if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) {
if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){ if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){
@@ -277,7 +309,7 @@ public class Anvil extends CustomContainerFacing {
if (pItem.getItem().equals(Items.DIAMOND)) { if (pItem.getItem().equals(Items.DIAMOND)) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1); pItem.shrink(1);
return true; return true;
} }
@@ -285,7 +317,7 @@ public class Anvil extends CustomContainerFacing {
if (pItem.getItem().equals(Items.EMERALD)) { if (pItem.getItem().equals(Items.EMERALD)) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1); pItem.shrink(1);
return true; return true;
} }
@@ -293,7 +325,7 @@ public class Anvil extends CustomContainerFacing {
if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) { if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1); pItem.shrink(1);
return true; return true;
} }
@@ -301,7 +333,7 @@ public class Anvil extends CustomContainerFacing {
if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) { if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1); pItem.shrink(1);
return true; return true;
} }
@@ -309,22 +341,19 @@ public class Anvil extends CustomContainerFacing {
if (pItem.getItem().equals(Items.REDSTONE)) { if (pItem.getItem().equals(Items.REDSTONE)) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1); pItem.shrink(1);
return true; return true;
} }
} }
if (pItem.equals(new ItemStack(Items.DYE, 1, 4))) { if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage()));
pItem.shrink(1); pItem.shrink(1);
return true; return true;
} }
} }
//4
} }
} }
counter++; counter++;
@@ -354,6 +383,7 @@ public class Anvil extends CustomContainerFacing {
//System.out.println(counter); //System.out.println(counter);
return true; return true;
} }
} }
} }
@@ -369,19 +399,112 @@ public class Anvil extends CustomContainerFacing {
//System.out.println(counter); //System.out.println(counter);
return true; return true;
} }
if (pItem.getTagCompound().getInteger("type") == 8) {
ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1);
tempStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = pItem.getSubCompound("tags").copy();
tempStack.getTagCompound().setTag("tags", tags);
tile.setSlotStack((counter), tempStack);
pItem.getTagCompound().setInteger("type", 0);
pItem.getSubCompound("tags").setBoolean("hot", false);
pItem.getSubCompound("tags").setBoolean("emerald", false);
pItem.getSubCompound("tags").setInteger("diamond", 0);
pItem.getSubCompound("tags").setInteger("redstone", 0);
pItem.getSubCompound("tags").setInteger("lapis", 0);
pItem.getSubCompound("tags").setInteger("modifiers", 0);
return true;
}
} }
} }
} }
//System.out.println("1" + pItem);
if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) {
if (pItem.equals(ItemStack.EMPTY)) {
if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY); tile.setSlotStack(counter, ItemStack.EMPTY);
return true; return true;
} }
if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) {
if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
}
} }
if (pItem.getItem().equals(Items.DIAMOND)) { if (pItem.getItem().equals(Items.DIAMOND)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.EMERALD)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.REDSTONE)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage()));
pItem.shrink(1); pItem.shrink(1);
@@ -403,7 +526,7 @@ public class Anvil extends CustomContainerFacing {
if (hitz >= this.getReverseMin(z) && hitz <= this.getReverseMax(z)) { if (hitz >= this.getReverseMin(z) && hitz <= this.getReverseMax(z)) {
if (pItem.getItem().equals(ModItems.stonetongs)) { if (pItem.getItem().equals(ModItems.stonetongs)) {
if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || (pItem.getTagCompound().getInteger("type") == 8) || (pItem.getTagCompound().getInteger("type") == 0)) { if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || (pItem.getTagCompound().getInteger("type") == 8)|| (pItem.getTagCompound().getInteger("type") == 0)) {
if (!tile.getSlotStack(counter).isEmpty()) { if (!tile.getSlotStack(counter).isEmpty()) {
if (pItem.getTagCompound().getInteger("type") == 0) { if (pItem.getTagCompound().getInteger("type") == 0) {
@@ -418,6 +541,7 @@ public class Anvil extends CustomContainerFacing {
//System.out.println(counter); //System.out.println(counter);
return true; return true;
} }
} }
} }
@@ -433,19 +557,112 @@ public class Anvil extends CustomContainerFacing {
//System.out.println(counter); //System.out.println(counter);
return true; return true;
} }
if (pItem.getTagCompound().getInteger("type") == 8) {
ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1);
tempStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = pItem.getSubCompound("tags").copy();
tempStack.getTagCompound().setTag("tags", tags);
tile.setSlotStack((counter), tempStack);
pItem.getTagCompound().setInteger("type", 0);
pItem.getSubCompound("tags").setBoolean("hot", false);
pItem.getSubCompound("tags").setBoolean("emerald", false);
pItem.getSubCompound("tags").setInteger("diamond", 0);
pItem.getSubCompound("tags").setInteger("redstone", 0);
pItem.getSubCompound("tags").setInteger("lapis", 0);
pItem.getSubCompound("tags").setInteger("modifiers", 0);
return true;
}
} }
} }
} }
//System.out.println("1" + pItem);
if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) {
if (pItem.equals(ItemStack.EMPTY)) {
if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY); tile.setSlotStack(counter, ItemStack.EMPTY);
return true; return true;
} }
if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) {
if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
}
} }
if (pItem.getItem().equals(Items.DIAMOND)) { if (pItem.getItem().equals(Items.DIAMOND)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.EMERALD)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.REDSTONE)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage()));
pItem.shrink(1); pItem.shrink(1);
@@ -467,7 +684,7 @@ public class Anvil extends CustomContainerFacing {
if (hitz >= this.getNormalMin(z) && hitz <= this.getNormalMax(z)) { if (hitz >= this.getNormalMin(z) && hitz <= this.getNormalMax(z)) {
if (pItem.getItem().equals(ModItems.stonetongs)) { if (pItem.getItem().equals(ModItems.stonetongs)) {
if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || (pItem.getTagCompound().getInteger("type") == 8) || (pItem.getTagCompound().getInteger("type") == 0)) { if ((pItem.getTagCompound().getInteger("type") == 6) || (pItem.getTagCompound().getInteger("type") == 7) || (pItem.getTagCompound().getInteger("type") == 8)|| (pItem.getTagCompound().getInteger("type") == 0)) {
if (!tile.getSlotStack(counter).isEmpty()) { if (!tile.getSlotStack(counter).isEmpty()) {
if (pItem.getTagCompound().getInteger("type") == 0) { if (pItem.getTagCompound().getInteger("type") == 0) {
@@ -482,6 +699,7 @@ public class Anvil extends CustomContainerFacing {
//System.out.println(counter); //System.out.println(counter);
return true; return true;
} }
} }
} }
@@ -497,19 +715,112 @@ public class Anvil extends CustomContainerFacing {
//System.out.println(counter); //System.out.println(counter);
return true; return true;
} }
if (pItem.getTagCompound().getInteger("type") == 8) {
ItemStack tempStack = new ItemStack (ModItems.pickaxehead, 1);
tempStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = pItem.getSubCompound("tags").copy();
tempStack.getTagCompound().setTag("tags", tags);
tile.setSlotStack((counter), tempStack);
pItem.getTagCompound().setInteger("type", 0);
pItem.getSubCompound("tags").setBoolean("hot", false);
pItem.getSubCompound("tags").setBoolean("emerald", false);
pItem.getSubCompound("tags").setInteger("diamond", 0);
pItem.getSubCompound("tags").setInteger("redstone", 0);
pItem.getSubCompound("tags").setInteger("lapis", 0);
pItem.getSubCompound("tags").setInteger("modifiers", 0);
return true;
}
} }
} }
} }
//System.out.println("1" + pItem);
if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) {
if (pItem.equals(ItemStack.EMPTY)) {
if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) { if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter)); CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY); tile.setSlotStack(counter, ItemStack.EMPTY);
return true; return true;
} }
if (tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
if (tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)) {
if(tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false){
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
tile.setSlotStack(counter, ItemStack.EMPTY);
return true;
}
}
} }
if (pItem.getItem().equals(Items.DIAMOND)) { if (pItem.getItem().equals(Items.DIAMOND)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.EMERALD)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(PrimalItems.EMERALD_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(PrimalItems.DIAMOND_KNAPP)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.REDSTONE)) {
if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
pItem.shrink(1);
return true;
}
}
if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
if (tile.getSlotStack(counter).isEmpty()) { if (tile.getSlotStack(counter).isEmpty()) {
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage())); tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage()));
pItem.shrink(1); pItem.shrink(1);

View File

@@ -157,7 +157,7 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/
if(facing == EnumFacing.UP ) { if(facing == EnumFacing.UP ) {
if (pItem.isEmpty()) { if (pItem.isEmpty()) {
for (int i = 2; i < tile.getSlotListSize(); i++) { for (int i = 2; i < tile.getSlotListSize(); i++) {
System.out.println(i); //System.out.println(i);
if (!tile.getSlotStack(i).isEmpty()) { if (!tile.getSlotStack(i).isEmpty()) {
if (tile.getSlotStack(i).getItem().equals(new ItemStack(ModBlocks.ironchunk).getItem())) { if (tile.getSlotStack(i).getItem().equals(new ItemStack(ModBlocks.ironchunk).getItem())) {
CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(i)); CommonUtils.spawnItemEntity(world, player, tile.getSlotStack(i));
@@ -204,9 +204,9 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/
if(pItem.getItem() instanceof ToolPart){ if(pItem.getItem() instanceof ToolPart){
if(tile.getSlotStack(4).isEmpty()){ if(tile.getSlotStack(4).isEmpty()){
System.out.println("Adding player Item to slot"); //System.out.println("Adding player Item to slot");
tile.setSlotStack(4, pItem); tile.setSlotStack(4, pItem);
System.out.println(tile.getSlotStack(4)); //System.out.println(tile.getSlotStack(4));
player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY);
return true; return true;
} }
@@ -214,13 +214,13 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider/
} }
} }
System.out.println(tile.getSlotStack(0)); //System.out.println(tile.getSlotStack(0));
System.out.println(tile.getSlotStack(1)); //System.out.println(tile.getSlotStack(1));
System.out.println(tile.getSlotStack(2)); //System.out.println(tile.getSlotStack(2));
System.out.println(tile.getSlotStack(3)); //System.out.println(tile.getSlotStack(3));
System.out.println(tile.getSlotStack(4)); //System.out.println(tile.getSlotStack(4));
System.out.println(tile.getSlotStack(5)); //System.out.println(tile.getSlotStack(5));
System.out.println(tile.getSlotStack(6)); //System.out.println(tile.getSlotStack(6));
} }
return false; return false;
} }

View File

@@ -1,5 +1,6 @@
package nmd.primal.forgecraft.gui; package nmd.primal.forgecraft.gui;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.GuiScreen;

View File

@@ -128,7 +128,7 @@ public class ModItems {
new ResourceLocation(ModInfo.MOD_ID, "stonetongs_hotironfailed"), new ResourceLocation(ModInfo.MOD_ID, "stonetongs_hotironfailed"),
new ResourceLocation(ModInfo.MOD_ID, "stonetongs_ingot"), new ResourceLocation(ModInfo.MOD_ID, "stonetongs_ingot"),
new ResourceLocation(ModInfo.MOD_ID, "stonetongs_chunk"), new ResourceLocation(ModInfo.MOD_ID, "stonetongs_chunk"),
new ResourceLocation(ModInfo.MOD_ID, "stonetongs_pickaxe") new ResourceLocation(ModInfo.MOD_ID, "stonetongs_pickaxe_hot")
); );
ModelLoader.setCustomMeshDefinition(ModItems.stonetongs, new ItemMeshDefinition() { ModelLoader.setCustomMeshDefinition(ModItems.stonetongs, new ItemMeshDefinition() {
@@ -160,7 +160,7 @@ public class ModItems {
return new ModelResourceLocation(stack.getItem().getRegistryName() + "_chunk", "inventory"); return new ModelResourceLocation(stack.getItem().getRegistryName() + "_chunk", "inventory");
} }
else if (stack.getTagCompound().getInteger("type") == 8 ) { else if (stack.getTagCompound().getInteger("type") == 8 ) {
return new ModelResourceLocation(stack.getItem().getRegistryName() + "_pickaxe", "inventory"); return new ModelResourceLocation(stack.getItem().getRegistryName() + "_pickaxe_hot", "inventory");
} }
else return new ModelResourceLocation(stack.getItem().getRegistryName(), "inventory"); else return new ModelResourceLocation(stack.getItem().getRegistryName(), "inventory");
} }

View File

@@ -59,6 +59,8 @@ public class ItemStoneTongs extends Item {
item.getSubCompound("tags").setInteger("modifiers", 0); item.getSubCompound("tags").setInteger("modifiers", 0);
} }
} }
@@ -83,8 +85,8 @@ public class ItemStoneTongs extends Item {
if(!world.isRemote) { if(!world.isRemote) {
ItemStack itemstack = player.getHeldItem(hand); ItemStack itemstack = player.getHeldItem(hand);
System.out.println(itemstack.getTagCompound().getInteger("type")); //System.out.println(itemstack.getTagCompound().getInteger("type"));
System.out.println(itemstack.getSubCompound("tags")); //System.out.println(itemstack.getSubCompound("tags"));
/***** /*****
Picks Up Hot Ingots from the Ground Picks Up Hot Ingots from the Ground
@@ -261,13 +263,14 @@ public class ItemStoneTongs extends Item {
return EnumActionResult.SUCCESS; return EnumActionResult.SUCCESS;
} }
if (tile.getSlotStack(i).getItem().equals(ModItems.pickaxehead)) { if (tile.getSlotStack(i).getItem().equals(ModItems.pickaxehead)) {
itemstack.getTagCompound().setInteger("type", 8); if(tile.getSlotStack(i).getSubCompound("tags").getBoolean("hot") == true) {
itemstack.getTagCompound().setInteger("type", 8);
NBTTagCompound tempNBT = tile.getSlotStack(i).getSubCompound("tags"); NBTTagCompound tags = tile.getSlotStack(i).getSubCompound("tags").copy();
itemstack.getTagCompound().setTag("tags", tempNBT); itemstack.getTagCompound().setTag("tags", tags);
itemstack.getSubCompound("tags").setBoolean("hot", true); //itemstack.getSubCompound("tags").setBoolean("hot", true);
tile.setSlotStack(i, ItemStack.EMPTY); tile.setSlotStack(i, ItemStack.EMPTY);
return EnumActionResult.SUCCESS; return EnumActionResult.SUCCESS;
}
} }
} }
} }

View File

@@ -4,15 +4,20 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.RenderItem;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.init.Items;
import net.minecraft.item.EnumDyeColor;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import nmd.primal.core.api.PrimalItems;
import nmd.primal.forgecraft.blocks.Anvil; import nmd.primal.forgecraft.blocks.Anvil;
import nmd.primal.forgecraft.init.ModBlocks; import nmd.primal.forgecraft.init.ModBlocks;
import nmd.primal.forgecraft.init.ModItems;
import nmd.primal.forgecraft.tiles.TileAnvil; import nmd.primal.forgecraft.tiles.TileAnvil;
import nmd.primal.forgecraft.tiles.TileBloomery; import nmd.primal.forgecraft.tiles.TileBloomery;
import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL11;
@@ -45,7 +50,6 @@ public class TileAnvilRender extends TileEntitySpecialRenderer<TileAnvil>
int bright = tile.getWorld().getCombinedLight(pos.up(), 0); int bright = tile.getWorld().getCombinedLight(pos.up(), 0);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536);
/* /*
NORTH NORTH
SLOT | X | Y SLOT | X | Y
@@ -80,21 +84,34 @@ public class TileAnvilRender extends TileEntitySpecialRenderer<TileAnvil>
24 | 14/16 | 14/16 24 | 14/16 | 14/16
*/ */
if(state.getValue(Anvil.FACING) == EnumFacing.NORTH){ if(state.getValue(Anvil.FACING) == EnumFacing.NORTH){
int counter = 0; int counter = 0;
for(int i=0; i < 5; i++){ for(int i=0; i < 5; i++){
for(int a=0; a<5; a++){ for(int a=0; a<5; a++){
if(!tile.getSlotStack(counter).isEmpty()){ if(!tile.getSlotStack(counter).isEmpty()){
GL11.glPushMatrix();
if(tile.getSlotStack(counter).getItem().equals(Items.REDSTONE) ||
(tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) ||
tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP) ||
tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)
){
GL11.glPushMatrix();
GL11.glTranslated( tile.getNormalX(a), -0.49D, tile.getNormalZ(i) );
GL11.glRotated(-90.0F, 1.0F, -0.0F, 0.0F);
GL11.glScaled(0.25D, 0.25D, 0.25D);
renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
if(tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)){
GL11.glPushMatrix();
double scale = 1.0D; double scale = 1.0D;
GL11.glScaled(scale, scale, scale); GL11.glScaled(scale, scale, scale);
GL11.glTranslated( tile.getNormalX(a), 0.0D, tile.getNormalZ(i) ); GL11.glTranslated(tile.getNormalX(a), -0.435D, tile.getNormalZ(i));
renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix(); GL11.glPopMatrix();
}
} }
counter++; counter++;
} }
@@ -105,12 +122,28 @@ public class TileAnvilRender extends TileEntitySpecialRenderer<TileAnvil>
for(int i=0; i < 5; i++){ for(int i=0; i < 5; i++){
for(int a=0; a<5; a++){ for(int a=0; a<5; a++){
if(!tile.getSlotStack(counter).isEmpty()){ if(!tile.getSlotStack(counter).isEmpty()){
GL11.glPushMatrix();
double scale = 1.0D; if(tile.getSlotStack(counter).getItem().equals(Items.REDSTONE) ||
GL11.glScaled(scale, scale, scale); (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) ||
GL11.glTranslated( tile.getReverseX(a), 0.0D, tile.getReverseZ(i) ); tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP) ||
renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)
GL11.glPopMatrix(); ){
GL11.glPushMatrix();
GL11.glTranslated( tile.getReverseX(a), -0.49D, tile.getReverseZ(i) );
GL11.glRotated(-90.0F, 1.0F, -0.0F, 0.0F);
GL11.glScaled(0.25D, 0.25D, 0.25D);
renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
if(tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)){
GL11.glPushMatrix();
double scale = 1.0D;
GL11.glScaled(scale, scale, scale);
GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getReverseZ(i) );
renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
} }
counter++; counter++;
} }
@@ -121,12 +154,30 @@ public class TileAnvilRender extends TileEntitySpecialRenderer<TileAnvil>
for(int a=0; a < 5; a++){ for(int a=0; a < 5; a++){
for(int i=0; i<5; i++){ for(int i=0; i<5; i++){
if(!tile.getSlotStack(counter).isEmpty()){ if(!tile.getSlotStack(counter).isEmpty()){
GL11.glPushMatrix();
double scale = 1.0D; if(tile.getSlotStack(counter).getItem().equals(Items.REDSTONE) ||
GL11.glScaled(scale, scale, scale); (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) ||
GL11.glTranslated( tile.getNormalX(a), 0.0D, tile.getReverseZ(i) ); tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP) ||
renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)
GL11.glPopMatrix(); ){
GL11.glPushMatrix();
GL11.glTranslated( tile.getNormalX(a), -0.49D, tile.getReverseZ(i) );
GL11.glRotated(-90.0F, 1.0F, -0.0F, 0.0F);
GL11.glScaled(0.25D, 0.25D, 0.25D);
GL11.glRotated(-90.0F, 0.0F, 0.0F, 1.0F);
renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
if(tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)){
GL11.glPushMatrix();
double scale = 1.0D;
GL11.glScaled(scale, scale, scale);
GL11.glTranslated( tile.getNormalX(a), -0.435D, tile.getReverseZ(i) );
GL11.glRotated(-90.0F, 0.0F, 1.0F, 0.0F);
renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
} }
counter++; counter++;
} }
@@ -137,61 +188,38 @@ public class TileAnvilRender extends TileEntitySpecialRenderer<TileAnvil>
for(int a=0; a < 5; a++){ for(int a=0; a < 5; a++){
for(int i=0; i<5; i++){ for(int i=0; i<5; i++){
if(!tile.getSlotStack(counter).isEmpty()){ if(!tile.getSlotStack(counter).isEmpty()){
GL11.glPushMatrix();
double scale = 1.0D; //GL11.glTranslated( tile.getReverseX(a), 0.0D, tile.getNormalZ(i) );
GL11.glScaled(scale, scale, scale); if(tile.getSlotStack(counter).getItem().equals(Items.REDSTONE) ||
GL11.glTranslated( tile.getReverseX(a), 0.0D, tile.getNormalZ(i) ); (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) ||
renderItem.renderItem(tile.getSlotStack(counter), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(counter))); tile.getSlotStack(counter).getItem().equals(PrimalItems.EMERALD_KNAPP) ||
GL11.glPopMatrix(); tile.getSlotStack(counter).getItem().equals(PrimalItems.DIAMOND_KNAPP)
){
GL11.glPushMatrix();
GL11.glTranslated( tile.getReverseX(a), -0.49D, tile.getNormalZ(i) );
GL11.glRotated(-90.0F, 1.0F, 0.0F, 0.0F);
GL11.glScaled(0.25D, 0.25D, 0.25D);
GL11.glRotated(-90.0F, 0.0F, 0.0F, 1.0F);
//GL11.glRotated(-90.0F, 1.0F, 0.0F, 0.0F);
renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
if(tile.getSlotStack(counter).getItem().equals(ModItems.pickaxehead)){
GL11.glPushMatrix();
double scale = 1.0D;
GL11.glScaled(scale, scale, scale);
GL11.glTranslated( tile.getReverseX(a), -0.435D, tile.getNormalZ(i) );
GL11.glRotated(-90.0F, 0.0F, 1.0F, 0.0F);
renderItem.renderItem(tile.getSlotStack(counter), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
} }
counter++; counter++;
} }
} }
} }
/*if(!stack0.isEmpty()){
GL11.glPushMatrix();
//System.out.println("Should render " + stack0.getItem());
double scale = 1.0D;
GL11.glScaled(scale, scale, scale);
GL11.glTranslated( (double)2/(double)16, 0.0D, (double)2/(double)16 );
renderItem.renderItem(stack0, renderItem.getItemModelMesher().getItemModel(stack0));
GL11.glPopMatrix();
}
/*if (!stack0.isEmpty()) {
boolean is_block = stack0.getItem() instanceof ItemBlock;
float scale = is_block ? 0.1725F : 0.3F;
double xTrans = is_block ? -1.6D : -0.45D;
double yTrans = is_block ? -1.26D : -0.7D;
int stackRotation = stack0.getCount();
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F);
renderItem.renderItem(stack0, renderItem.getItemModelMesher().getItemModel(stack0));
GL11.glPopMatrix();
for(int i = 0; i < Math.ceil(stackRotation/8) + 1; i++){
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
GL11.glRotated(45.0F * i, 0.0F, 1.0F, 0.0F);
GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslated(xTrans, yTrans, 0.0D);
renderItem.renderItem(stack0, renderItem.getItemModelMesher().getItemModel(stack0));
GL11.glPopMatrix();
}
}
if(!stack1.isEmpty()){
GL11.glPushMatrix();
GL11.glTranslated(0, 0.50D, 0);
renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1));
GL11.glPopMatrix();
}*/
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
GL11.glPopMatrix(); GL11.glPopMatrix();
} }

View File

@@ -3,6 +3,7 @@ package nmd.primal.forgecraft.renders;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.OpenGlHelper;
import net.minecraft.client.renderer.RenderItem; import net.minecraft.client.renderer.RenderItem;
import net.minecraft.client.renderer.block.model.ItemCameraTransforms;
import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemBlock;
@@ -56,6 +57,53 @@ public class TileForgeRender extends TileEntitySpecialRenderer<TileForge>
} }
} }
for(int i=2; i < tile.getSlotListSize(); i++){
if(!tile.getSlotStack(i).isEmpty()){
GL11.glPushMatrix();
float tempScale = 0.8F;
GL11.glScalef(tempScale, tempScale, tempScale);
GL11.glTranslated(0.0F, 0.1D, 0.0F);
if(i == 2){
GL11.glTranslated(-0.3, -0.05D, -0.3D);
}
if(i == 3){
GL11.glTranslated(-0.3, -0.05D, 0.3D);
}
if(i == 4){
//GL11.glScalef(0.6F, 0.6F, 0.6F);
GL11.glRotated(180.0F, 0.0F, 1.0F, 0.0F);
}
if(i == 5){
GL11.glTranslated(0.3, -0.05D, -0.3D);
}
if(i == 6){
GL11.glTranslated(0.3, -0.05D, 0.3D);
}
renderItem.renderItem(tile.getSlotStack(i), ItemCameraTransforms.TransformType.FIXED);
//renderItem.renderItem(tile.getSlotStack(i), renderItem.getItemModelMesher().getItemModel(tile.getSlotStack(i)));
GL11.glPopMatrix();
}
}
/*if (!stack1.isEmpty()) {
int stackRotation = stack1.getCount();
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F);
renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1));
GL11.glPopMatrix();
for(int i = 0; i < Math.ceil(stackRotation/8) + 1; i++){
GL11.glPushMatrix();
GL11.glScalef(scale, scale, scale);
GL11.glRotated(45.0F * i, 0.0F, 1.0F, 0.0F);
GL11.glRotated(90.0F, 1.0F, 0.0F, 0.0F);
GL11.glTranslated(xTrans, yTrans, 0.0D);
renderItem.renderItem(stack1, renderItem.getItemModelMesher().getItemModel(stack1));
GL11.glPopMatrix();
}
}*/
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
GL11.glPopMatrix(); GL11.glPopMatrix();
} }

View File

@@ -142,7 +142,7 @@ public class TileForge extends TileBaseSlot implements ITickable {
if (cookCounter4 >= recipe.getIdealTime()) { if (cookCounter4 >= recipe.getIdealTime()) {
if(this.getSlotStack(i).hasTagCompound()){ if(this.getSlotStack(i).hasTagCompound()){
this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", true); this.getSlotStack(i).getSubCompound("tags").setBoolean("hot", true);
System.out.println("its hot now"); //System.out.println("its hot now");
} else this.setSlotStack(i, recipe.getOutput()); } else this.setSlotStack(i, recipe.getOutput());
cookCounter4 = 0; cookCounter4 = 0;
} }

View File

@@ -0,0 +1,154 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:blocks/stone_slab",
"texture2": "forgecraft:blocks/iron_ingot_hot"
},
"elements": [
{
"__comment": "Cube1",
"from": [ 6, 0, 1 ],
"to": [ 7, 1, 4 ],
"faces": {
"down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" },
"up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" },
"north": { "uv": [ 11, 13, 12, 14 ], "texture": "#texture1" },
"south": { "uv": [ 4, 13, 5, 14 ], "texture": "#texture1" },
"west": { "uv": [ 1, 14, 4, 15 ], "texture": "#texture1" },
"east": { "uv": [ 12, 14, 15, 15 ], "texture": "#texture1" }
}
},
{
"__comment": "Cube2",
"from": [ 9, 0, 1 ],
"to": [ 10, 1, 4 ],
"faces": {
"down": { "uv": [ 4, 12, 5, 15 ], "texture": "#texture1" },
"up": { "uv": [ 4, 1, 5, 4 ], "texture": "#texture1" },
"north": { "uv": [ 11, 13, 12, 14 ], "texture": "#texture1" },
"south": { "uv": [ 4, 13, 5, 14 ], "texture": "#texture1" },
"west": { "uv": [ 1, 14, 4, 15 ], "texture": "#texture1" },
"east": { "uv": [ 12, 14, 15, 15 ], "texture": "#texture1" }
}
},
{
"__comment": "Cube3",
"from": [ 6, 0, 4 ],
"to": [ 7, 1, 9 ],
"rotation": { "origin": [ 6, 0, 4 ], "axis": "y", "angle": 45 },
"faces": {
"down": { "uv": [ 7, 0, 8, 7 ], "texture": "#texture" },
"up": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture" },
"north": { "uv": [ 11, 15, 12, 16 ], "texture": "#texture" },
"south": { "uv": [ 4, 15, 5, 16 ], "texture": "#texture" },
"west": { "uv": [ 3, 15, 10, 16 ], "texture": "#texture" },
"east": { "uv": [ 7, 15, 14, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube5",
"from": [ 6, 0, 7 ],
"to": [ 7, 1, 16 ],
"faces": {
"down": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" },
"up": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" },
"north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" },
"south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 7, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0, 15, 9, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube6",
"from": [ 9, 0, 7 ],
"to": [ 10, 1, 16 ],
"faces": {
"down": { "uv": [ 6, 0, 7, 9 ], "texture": "#texture" },
"up": { "uv": [ 6, 7, 7, 16 ], "texture": "#texture" },
"north": { "uv": [ 9, 15, 10, 16 ], "texture": "#texture" },
"south": { "uv": [ 7, 15, 8, 16 ], "texture": "#texture" },
"west": { "uv": [ 7, 15, 16, 16 ], "texture": "#texture" },
"east": { "uv": [ 0, 15, 9, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Cube3",
"from": [ 9, 0, 4 ],
"to": [ 10, 1, 9 ],
"rotation": { "origin": [ 10, 1, 4 ], "axis": "y", "angle": -45 },
"faces": {
"down": { "uv": [ 4, 3, 5, 10 ], "texture": "#texture", "rotation": 180 },
"up": { "uv": [ 4, 2, 5, 9 ], "texture": "#texture", "rotation": 180 },
"north": { "uv": [ 12, 16, 11, 15 ], "texture": "#texture" },
"south": { "uv": [ 5, 16, 4, 15 ], "texture": "#texture" },
"west": { "uv": [ 7, 15, 14, 16 ], "texture": "#texture", "rotation": 180 },
"east": { "uv": [ 3, 15, 10, 16 ], "texture": "#texture", "rotation": 180 }
}
},
{
"__comment": "Cube12",
"from": [ 7, 0, -4.5 ],
"to": [ 9, 1, 2.5 ],
"faces": {
"down": { "uv": [ 7, 4.5, 9, 11.5 ], "texture": "#texture2" },
"up": { "uv": [ 7, 4.5, 9, 11.5 ], "texture": "#texture2" },
"north": { "uv": [ 7, 2, 9, 3 ], "texture": "#texture2" },
"south": { "uv": [ 7, 2, 9, 3 ], "texture": "#texture2" },
"west": { "uv": [ 4.5, 2, 11.5, 3 ], "texture": "#texture2" },
"east": { "uv": [ 4.5, 2, 11.5, 3 ], "texture": "#texture2" }
}
},
{
"__comment": "Cube12",
"from": [ 7.5, 0, -7.5 ],
"to": [ 8.5, 1, -4 ],
"rotation": { "origin": [ 8.5, 0, -4 ], "axis": "x", "angle": 22.5 },
"faces": {
"down": { "uv": [ 14, 0, 15, 3.5 ], "texture": "#texture2", "rotation": 180 },
"up": { "uv": [ 14, 12.5, 15, 16 ], "texture": "#texture2", "rotation": 180 },
"north": { "uv": [ 14, 15, 15, 16 ], "texture": "#texture2" },
"south": { "uv": [ 1, 15, 2, 16 ], "texture": "#texture2" },
"west": { "uv": [ 0, 15, 3.5, 16 ], "texture": "#texture2" },
"east": { "uv": [ 12.5, 15, 16, 16 ], "texture": "#texture2" }
}
},
{
"__comment": "Cube12",
"from": [ 7.5, 0, 2.5 ],
"to": [ 8.5, 1, 6 ],
"rotation": { "origin": [ 7.5, 0, 2.5 ], "axis": "x", "angle": -22.5 },
"faces": {
"down": { "uv": [ 14, 0, 15, 3.5 ], "texture": "#texture2" },
"up": { "uv": [ 14, 12.5, 15, 16 ], "texture": "#texture2" },
"north": { "uv": [ 1, 15, 2, 16 ], "texture": "#texture2" },
"south": { "uv": [ 14, 15, 15, 16 ], "texture": "#texture2" },
"west": { "uv": [ 12.5, 15, 16, 16 ], "texture": "#texture2" },
"east": { "uv": [ 0, 15, 3.5, 16 ], "texture": "#texture2" }
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [ 60, 0, 0 ],
"translation": [ 0, 8.33, 3.5 ]
},
"firstperson_righthand": {
"rotation": [ 20, 0, 0 ],
"translation": [ 0, 8, -2 ]
},
"gui": {
"rotation": [ 90, -45, 0 ],
"translation": [ -1.5, -1.5, 6 ],
"scale": [ 0.75, 0.75, 0.75 ]
},
"ground": {
"translation": [ 0, 4, 0 ]
},
"fixed": {
"rotation": [ -90, 135, 0 ],
"translation": [ 2.5, -2.5, -7 ]
}
}
}

View File

@@ -0,0 +1,10 @@
{
"forge_marker":1,
"textures": {
"particle": "blocks/planks_oak",
"texture": "blocks/planks_oak",
"texture1": "forgecraft:blocks/stone_slab",
"texture2": "forgecraft:blocks/iron_ingot_hot"
},
"parent": "forgecraft:item/stonetongs_pickaxe_default"
}