fixing the bugs

This commit is contained in:
Mohammad-Ali Minaie
2018-09-20 18:36:13 -04:00
parent d17f020fc5
commit 7151eef000
16 changed files with 328 additions and 988 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.6.02 mod_version=1.6.03
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

@@ -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.6.02"; public static final String MOD_VERSION = "1.6.03";
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

@@ -1,713 +0,0 @@
package nmd.primal.forgecraft.blocks;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.state.BlockStateContainer;
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.*;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
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 java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
import static nmd.primal.core.api.PrimalAPI.randomCheck;
/**
* Created by mminaie on 6/24/17.
*/
public class CastingBlock extends CustomContainerFacing {
protected static AxisAlignedBB bound = new AxisAlignedBB(0/16D, 0.0D, 0/16D, 16/16D, 5.5/16D, 16/16D);
public CastingBlock(Material material, String registryName) {
super(material, registryName);
setDefaultState(this.blockState.getBaseState().withProperty(FACING, EnumFacing.NORTH));
setCreativeTab(ModInfo.TAB_FORGECRAFT);
}
private void makeEmbers(World world, BlockPos pos, Random rand){
double d0 = (double)pos.getX() + 0.5D;
double d1 = (double)pos.getY() + 0.2D;
double d2 = (double)pos.getZ() + 0.5D;
double d3 = 0.52D;
double d4 = ThreadLocalRandom.current().nextDouble(0.066, 0.33);
double ySpeed = ThreadLocalRandom.current().nextDouble(0.05, 0.20);
if(rand.nextInt(3) == 0){
world.spawnParticle(EnumParticleTypes.FLAME, d0+d4, d1, d2+d4, ySpeed, ySpeed, ySpeed, new int[0]);
world.spawnParticle(EnumParticleTypes.FLAME, d0+d4, d1, d2-d4, ySpeed, ySpeed, ySpeed, new int[0]);
}
if(rand.nextInt(3) == 1){
world.spawnParticle(EnumParticleTypes.FLAME, d0+d4, d1, d2-d4, ySpeed, ySpeed, ySpeed, new int[0]);
world.spawnParticle(EnumParticleTypes.FLAME, d0-d4, d1, d2+d4, ySpeed, ySpeed, ySpeed, new int[0]);
}
if(rand.nextInt(3) == 2){
world.spawnParticle(EnumParticleTypes.FLAME, d0-d4, d1, d2+d4, ySpeed, ySpeed, ySpeed, new int[0]);
world.spawnParticle(EnumParticleTypes.FLAME, d0-d4, d1, d2-d4, ySpeed, ySpeed, ySpeed, new int[0]);
}
if(rand.nextInt(3) == 3){
world.spawnParticle(EnumParticleTypes.FLAME, d0-d4, d1, d2-d4, ySpeed, ySpeed, ySpeed, new int[0]);
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) {
if (!world.isRemote) {
TileCastingBlock tile = (TileCastingBlock) world.getTileEntity(pos);
ItemStack pItem = player.inventory.getCurrentItem();
if (player.isSneaking()) {
if (!tile.getSlotStack(0).isEmpty()) {
ItemStack copyStack = tile.getSlotStack(0).copy();
PlayerHelper.spawnItemOnPlayer(world, player, copyStack);
tile.setSlotStack(0, ItemStack.EMPTY);
tile.updateBlock();
return true;
}
}
if (pItem.getItem() instanceof CastingPart) {
if (!player.isSneaking()) {
if (tile.getSlotStack(0).isEmpty()) {
ItemStack copyStack = pItem.copy();
copyStack.setCount(1);
pItem.shrink(1);
tile.setSlotStack(0, copyStack);
tile.updateBlock();
return true;
}
}
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
//makeEmbers(world, pos, world.rand);
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
}
/**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();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", true);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe) {
ItemStack dropStack = new ItemStack(ModItems.bronzepickaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", true);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_axe) {
ItemStack dropStack = new ItemStack(ModItems.bronzeaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", true);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_shovel) {
ItemStack dropStack = new ItemStack(ModItems.bronzeshovelhead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", true);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
/**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());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 1);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe) {
ItemStack dropStack = new ItemStack(ModItems.bronzepickaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 1);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_axe) {
ItemStack dropStack = new ItemStack(ModItems.bronzeaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 1);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_shovel) {
ItemStack dropStack = new ItemStack(ModItems.bronzeshovelhead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 1);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
}
/**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());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 1);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe) {
ItemStack dropStack = new ItemStack(ModItems.bronzepickaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 1);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_axe) {
ItemStack dropStack = new ItemStack(ModItems.bronzeaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 1);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_shovel) {
ItemStack dropStack = new ItemStack(ModItems.bronzeshovelhead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 1);
dropStack.getSubCompound("tags").setInteger("lapis", 0);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
}
/**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());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 1);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_pickaxe) {
ItemStack dropStack = new ItemStack(ModItems.bronzepickaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 1);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_axe) {
ItemStack dropStack = new ItemStack(ModItems.bronzeaxehead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 1);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
if (tile.getSlotStack(0).getItem() == ModItems.cast_shovel) {
ItemStack dropStack = new ItemStack(ModItems.bronzeshovelhead);
dropStack.setTagCompound(new NBTTagCompound());
NBTTagCompound tags = new NBTTagCompound();
dropStack.getTagCompound().setTag("tags", tags);
dropStack.getSubCompound("tags").setBoolean("hot", false);
dropStack.getSubCompound("tags").setBoolean("emerald", false);
dropStack.getSubCompound("tags").setInteger("diamond", 0);
dropStack.getSubCompound("tags").setInteger("redstone", 0);
dropStack.getSubCompound("tags").setInteger("lapis", 1);
dropStack.getSubCompound("tags").setInteger("modifiers", 1);
PlayerHelper.spawnItemOnGround(world, pos, dropStack);
PlayerHelper.spawnItemOnGround(world, pos, dropCrucible);
pItem.getTagCompound().setInteger("type", 0);
if (randomCheck(2)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
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)) {
tile.setSlotStack(0, ItemStack.EMPTY);
}
return true;
}
}
}
}
}
}
}
}
}
}
return false;
}
@Override
public void breakBlock(World world, BlockPos pos, IBlockState state)
{
if (!world.isRemote && world.getGameRules().getBoolean("doTileDrops"))
{
TileCastingBlock tile = (TileCastingBlock) world.getTileEntity(pos);
if (tile !=null)
{
for (ItemStack stack : tile.getSlotList())
{
if (stack != null) {
float offset = 0.7F;
double offsetX = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
double offsetY = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
double offsetZ = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
EntityItem item = new EntityItem(world, pos.getX() + offsetX, pos.getY() + offsetY, pos.getZ() + offsetZ, stack);
item.setDefaultPickupDelay();
world.spawnEntity(item);
}
}
}
}
super.breakBlock(world, pos, state);
}
@Override
public TileEntity createNewTileEntity(World worldIn, int meta) {
return new TileCastingBlock();
}
@Override
public AxisAlignedBB getBoundingBox(IBlockState state, IBlockAccess source, BlockPos pos)
{
return bound;
}
@Override
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack)
{
//if(!worldIn.isRemote) {
worldIn.setBlockState(pos, state.withProperty(FACING, placer.getHorizontalFacing()), 2);
//}
}
@Override
public int getMetaFromState(IBlockState state) {
int i = 0;
if( state.getValue(FACING) == EnumFacing.EAST) {
i = 0;
return i;
}
if( state.getValue(FACING) == EnumFacing.WEST) {
i = 1;
return i;
}
if( state.getValue(FACING) == EnumFacing.SOUTH){
i = 2;
return i;
}
if( state.getValue(FACING) == EnumFacing.NORTH){
i = 3;
return i;
}
return i;
}
@Override
public IBlockState getStateFromMeta(int meta)
{
IBlockState iblockstate = this.getDefaultState();
if (meta == 0){
iblockstate = iblockstate.withProperty(FACING, EnumFacing.EAST);
}
if (meta == 1) {
iblockstate = iblockstate.withProperty(FACING, EnumFacing.WEST);
}
if (meta == 2) {
iblockstate = iblockstate.withProperty(FACING, EnumFacing.SOUTH);
}
if (meta == 3) {
iblockstate = iblockstate.withProperty(FACING, EnumFacing.NORTH);
}
return iblockstate;
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, new IProperty[] {FACING});
}
@Override
public boolean isFullCube(IBlockState state)
{
return false;
}
@Override
public boolean isOpaqueCube(IBlockState state)
{
return false;
}
@Override
@SideOnly(Side.CLIENT)
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
{
return true;
}
@Override
public EnumBlockRenderType getRenderType(IBlockState state)
{
return EnumBlockRenderType.MODEL;
}
}

View File

@@ -69,23 +69,24 @@ 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);
CrucibleCrafting crucibleRecipe = 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(crucibleRecipe != 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){
Item[] tempArray = new Item[25]; Item[] tempArray = new Item[25];
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(tongsStack, tempArray); CastingCrafting casting = CastingCrafting.getRecipe(tongsStack, tempArray);
if(casting != null){ if(casting != null){
NBTTagCompound tagOutput = recipe.getDropsCooked().getTagCompound().copy(); NBTTagCompound tagOutput = casting.getOutput().getSubCompound("tag");
if(tagOutput != null) { if(tagOutput != null) {
ItemStack dropStack = casting.getOutput(); ItemStack dropStack = casting.getOutput();
dropStack.setTagCompound(new NBTTagCompound()); dropStack.setTagCompound(new NBTTagCompound());
@@ -121,6 +122,17 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
tongs.getSlotList().get(0).setTagCompound(tag); tongs.getSlotList().get(0).setTagCompound(tag);
return true; return true;
} }
if(tagOutput == null){
if( !(casting.getOutput().getItem() instanceof BronzeToolPart) ){
ItemStack dropStack = casting.getOutput();
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

@@ -28,6 +28,7 @@ import nmd.primal.core.common.helper.NBTHelper;
import nmd.primal.core.common.helper.PlayerHelper; import nmd.primal.core.common.helper.PlayerHelper;
import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.ModInfo;
import nmd.primal.forgecraft.crafting.CrucibleCrafting; import nmd.primal.forgecraft.crafting.CrucibleCrafting;
import nmd.primal.forgecraft.init.ModBlocks;
import nmd.primal.forgecraft.items.SlottedTongs; import nmd.primal.forgecraft.items.SlottedTongs;
import nmd.primal.forgecraft.tiles.TileNBTCrucible; import nmd.primal.forgecraft.tiles.TileNBTCrucible;
@@ -149,9 +150,8 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
@Override @Override
public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest) public boolean removedByPlayer(IBlockState state, World world, BlockPos pos, EntityPlayer player, boolean willHarvest)
{ {
System.out.println("Removed by player");
this.onBlockHarvested(world, pos, state, player); this.onBlockHarvested(world, pos, state, player);
return this.takeBlock(world, pos, state, EnumFacing.UP, player); return this.destroyBlock(world, pos, state, EnumFacing.UP, player);
} }
public ItemStack getCrucibleItem(World world, BlockPos pos, IBlockState state, EntityPlayer player) public ItemStack getCrucibleItem(World world, BlockPos pos, IBlockState state, EntityPlayer player)
@@ -159,12 +159,14 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
return NBTHelper.getStackBlockNBT(world, pos, state, super.getPickBlock(state, null, world, pos, player)); return NBTHelper.getStackBlockNBT(world, pos, state, super.getPickBlock(state, null, world, pos, player));
} }
public boolean takeBlock(World world, BlockPos pos, IBlockState state, EnumFacing face, EntityPlayer player) public boolean destroyBlock(World world, BlockPos pos, IBlockState state, EnumFacing face, EntityPlayer player)
{ {
if (!world.isRemote) { if (!world.isRemote) {
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));
ItemStack dropStack = new ItemStack(ModBlocks.nbtCrucible, 1);
PlayerHelper.spawnItemOnPlayer(world, player, dropStack);
world.setBlockState(pos, this.getReplacementBlock(world, pos, state)); world.setBlockState(pos, this.getReplacementBlock(world, pos, state));
return true; return true;
} }

View File

@@ -27,7 +27,6 @@ public class ModBlocks {
public static Block bloomery_adobe; public static Block bloomery_adobe;
public static Block blockbreaker; public static Block blockbreaker;
public static Block castingform; public static Block castingform;
public static Block castingblock;
public static Block pistonbellowsoak; public static Block pistonbellowsoak;
public static Block pistonbellowsjungle; public static Block pistonbellowsjungle;
@@ -87,7 +86,6 @@ public class ModBlocks {
bloomery_adobe = new BloomeryBase(Material.ROCK, "bloomery_adobe", 5000); bloomery_adobe = new BloomeryBase(Material.ROCK, "bloomery_adobe", 5000);
blockbreaker = new Breaker(Material.WOOD, "blockbreaker", 4.0f); blockbreaker = new Breaker(Material.WOOD, "blockbreaker", 4.0f);
castingform = new CastingForm(Material.WOOD, "castingform"); castingform = new CastingForm(Material.WOOD, "castingform");
castingblock = new CastingBlock(Material.ROCK, "castingblock");
pistonbellowsoak = new PistonBellows(Material.WOOD, "pistonbellowsoak"); pistonbellowsoak = new PistonBellows(Material.WOOD, "pistonbellowsoak");
pistonbellowsjungle = new PistonBellows(Material.WOOD, "pistonbellowsjungle"); pistonbellowsjungle = new PistonBellows(Material.WOOD, "pistonbellowsjungle");
@@ -377,7 +375,6 @@ public class ModBlocks {
registerBlockWithItem(bloomery_adobe); registerBlockWithItem(bloomery_adobe);
registerBlockWithItem(blockbreaker); registerBlockWithItem(blockbreaker);
registerBlockWithItem(castingform); registerBlockWithItem(castingform);
registerBlockWithItem(castingblock);
registerBlockWithItem(pistonbellowsoak); registerBlockWithItem(pistonbellowsoak);
registerBlockWithItem(pistonbellowsjungle); registerBlockWithItem(pistonbellowsjungle);
@@ -437,7 +434,6 @@ public class ModBlocks {
registerRender(forge_brick); registerRender(forge_brick);
registerRender(forge_adobe); registerRender(forge_adobe);
registerRender(castingform); registerRender(castingform);
registerRender(castingblock);
registerRender(blockbreaker); registerRender(blockbreaker);
registerRender(pistonbellowsoak); registerRender(pistonbellowsoak);

View File

@@ -3,10 +3,12 @@ package nmd.primal.forgecraft.init;
import net.minecraft.block.BlockPlanks; import net.minecraft.block.BlockPlanks;
import net.minecraft.init.Blocks; import net.minecraft.init.Blocks;
import net.minecraft.init.Items; import net.minecraft.init.Items;
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.item.crafting.Ingredient; import net.minecraft.item.crafting.Ingredient;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.OreIngredient; import net.minecraftforge.oredict.OreIngredient;
import nmd.primal.core.api.PrimalAPI; import nmd.primal.core.api.PrimalAPI;
@@ -15,7 +17,9 @@ import nmd.primal.forgecraft.crafting.AnvilCrafting;
import nmd.primal.forgecraft.crafting.CastingCrafting; 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.crafting.ForgeCrafting;
import nmd.primal.forgecraft.util.ToolNBT;
import java.util.List;
import java.util.Random; import java.util.Random;
/** /**
@@ -28,9 +32,14 @@ public class ModCrafting{
Random rand = new Random(); Random rand = new Random();
ItemStack emptyAir = ItemStack.EMPTY; ItemStack emptyAir = ItemStack.EMPTY;
NBTTagCompound newTag = new NBTTagCompound();
NBTTagCompound setHot = new NBTTagCompound(); NBTTagCompound setHot = new NBTTagCompound();
setHot.setBoolean("hot", true); setHot.setBoolean("hot", true);
ItemStack hotBronzeIngot = new ItemStack(ModItems.bronzeingotball, 1);
hotBronzeIngot.setTagCompound(setHot);
ItemStack hotIronIngot = new ItemStack(ModItems.ironingotball, 1); ItemStack hotIronIngot = new ItemStack(ModItems.ironingotball, 1);
hotIronIngot.setTagCompound(setHot); hotIronIngot.setTagCompound(setHot);
ItemStack hotCleanIronIngot = new ItemStack(ModItems.ironcleaningotball, 1); ItemStack hotCleanIronIngot = new ItemStack(ModItems.ironcleaningotball, 1);
@@ -40,15 +49,14 @@ public class ModCrafting{
ItemStack hotWootzIngot = new ItemStack(ModItems.wootzingotball, 1); ItemStack hotWootzIngot = new ItemStack(ModItems.wootzingotball, 1);
hotWootzIngot.setTagCompound(setHot); hotWootzIngot.setTagCompound(setHot);
ItemStack hotBronzeChunk = new ItemStack( ModItems.bronzechunk, 1);
hotBronzeChunk.setTagCompound(setHot);
ItemStack hotChunk = new ItemStack( ModItems.wroughtironchunk, 1); ItemStack hotChunk = new ItemStack( ModItems.wroughtironchunk, 1);
hotChunk.setTagCompound(setHot); hotChunk.setTagCompound(setHot);
ItemStack hotCleanChunk = new ItemStack(ModItems.ironcleanchunk, 1); ItemStack hotCleanChunk = new ItemStack(ModItems.ironcleanchunk, 1);
hotCleanChunk.setTagCompound(setHot); hotCleanChunk.setTagCompound(setHot);
ItemStack hotSteelChunk = new ItemStack(ModItems.steelchunk, 1); ItemStack hotSteelChunk = new ItemStack(ModItems.steelchunk, 1);
hotSteelChunk.setTagCompound(setHot); hotSteelChunk.setTagCompound(setHot);
ItemStack hotWootzChunk = new ItemStack(ModItems.wootzchunk, 1); ItemStack hotWootzChunk = new ItemStack(ModItems.wootzchunk, 1);
hotWootzChunk.setTagCompound(setHot); hotWootzChunk.setTagCompound(setHot);
@@ -60,61 +68,191 @@ public class ModCrafting{
ItemStack redstone = new ItemStack(Items.REDSTONE, 1); ItemStack redstone = new ItemStack(Items.REDSTONE, 1);
ItemStack lapis = new ItemStack(Items.DYE, 1, 4); ItemStack lapis = new ItemStack(Items.DYE, 1, 4);
ItemStack[] toolArray = new ItemStack[20];
ItemStack[] hotToolArray = new ItemStack[16];
ItemStack bronzepickaxehead = new ItemStack(ModItems.bronzepickaxehead, 1);
bronzepickaxehead.setTagCompound(newTag);
toolArray[0] = bronzepickaxehead;
ItemStack bronzeaxehead = new ItemStack(ModItems.bronzeaxehead, 1);
bronzeaxehead.setTagCompound(newTag);
toolArray[1] = bronzeaxehead;
ItemStack bronzeshovelhead = new ItemStack(ModItems.bronzeshovelhead, 1);
bronzeshovelhead.setTagCompound(newTag);
toolArray[2] = bronzeshovelhead;
ItemStack bronzehoehead = new ItemStack(ModItems.bronzehoehead, 1);
bronzehoehead.setTagCompound(newTag);
toolArray[3] = bronzehoehead;
ItemStack pickaxehead = new ItemStack(ModItems.pickaxehead, 1); ItemStack pickaxehead = new ItemStack(ModItems.pickaxehead, 1);
pickaxehead.setTagCompound(newTag);
toolArray[4] = pickaxehead;
ItemStack ironaxehead = new ItemStack(ModItems.ironaxehead, 1); ItemStack ironaxehead = new ItemStack(ModItems.ironaxehead, 1);
ironaxehead.setTagCompound(newTag);
toolArray[5] = ironaxehead;
ItemStack ironshovelhead = new ItemStack(ModItems.ironshovelhead, 1); ItemStack ironshovelhead = new ItemStack(ModItems.ironshovelhead, 1);
ironshovelhead.setTagCompound(newTag);
toolArray[6] = ironshovelhead;
ItemStack ironhoehead = new ItemStack(ModItems.ironhoehead, 1); ItemStack ironhoehead = new ItemStack(ModItems.ironhoehead, 1);
ironhoehead.setTagCompound(newTag);
toolArray[7] = ironhoehead;
ItemStack cleanpickaxehead = new ItemStack(ModItems.cleanironpickaxehead, 1); ItemStack cleanpickaxehead = new ItemStack(ModItems.cleanironpickaxehead, 1);
cleanpickaxehead.setTagCompound(newTag);
toolArray[8] = cleanpickaxehead;
ItemStack cleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1); ItemStack cleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1);
cleanaxehead.setTagCompound(newTag);
toolArray[9] = cleanaxehead;
ItemStack cleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1); ItemStack cleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1);
cleanshovelhead.setTagCompound(newTag);
toolArray[10] = cleanshovelhead;
ItemStack cleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1); ItemStack cleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1);
cleanhoehead.setTagCompound(newTag);
toolArray[11] =cleanhoehead ;
ItemStack steelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1); ItemStack steelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1);
steelpickaxehead.setTagCompound(newTag);
toolArray[12] = steelpickaxehead;
ItemStack steelaxehead = new ItemStack(ModItems.steelaxehead, 1); ItemStack steelaxehead = new ItemStack(ModItems.steelaxehead, 1);
steelaxehead.setTagCompound(newTag);
toolArray[13] =steelaxehead ;
ItemStack steelshovelhead = new ItemStack(ModItems.steelshovelhead, 1); ItemStack steelshovelhead = new ItemStack(ModItems.steelshovelhead, 1);
steelshovelhead.setTagCompound(newTag);
toolArray[14] = steelshovelhead;
ItemStack steelhoehead = new ItemStack(ModItems.steelhoehead, 1); ItemStack steelhoehead = new ItemStack(ModItems.steelhoehead, 1);
steelhoehead.setTagCompound(newTag);
toolArray[15] =steelhoehead ;
ItemStack wootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1); ItemStack wootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1);
wootzpickaxehead.setTagCompound(newTag);
toolArray[16] = wootzpickaxehead;
ItemStack wootzaxehead = new ItemStack(ModItems.wootzaxehead, 1); ItemStack wootzaxehead = new ItemStack(ModItems.wootzaxehead, 1);
wootzaxehead.setTagCompound(newTag);
toolArray[17] = wootzaxehead;
ItemStack wootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1); ItemStack wootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1);
wootzshovelhead.setTagCompound(newTag);
toolArray[18] =wootzshovelhead ;
ItemStack wootzhoehead = new ItemStack(ModItems.wootzhoehead, 1); ItemStack wootzhoehead = new ItemStack(ModItems.wootzhoehead, 1);
wootzhoehead.setTagCompound(newTag);
toolArray[19] = wootzhoehead;
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); ItemStack hotpickaxehead = pickaxehead.copy();
hotcleanpickaxehead.setTagCompound(setHot); hotToolArray[0] =hotpickaxehead;
ItemStack hotcleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1); ItemStack hotironaxehead = ironaxehead.copy();
hotcleanaxehead.setTagCompound(setHot); hotToolArray[1] =hotironaxehead;
ItemStack hotcleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1); ItemStack hotironshovelhead = ironshovelhead.copy();
hotcleanshovelhead.setTagCompound(setHot); hotToolArray[2] =hotironshovelhead;
ItemStack hotcleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1); ItemStack hotironhoehead = ironhoehead.copy();
hotcleanhoehead.setTagCompound(setHot); hotToolArray[3] =hotironhoehead;
ItemStack hotsteelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1); ItemStack hotcleanpickaxehead = cleanpickaxehead.copy();
hotsteelpickaxehead.setTagCompound(setHot); hotToolArray[4] = hotcleanpickaxehead;
ItemStack hotsteelaxehead = new ItemStack(ModItems.steelaxehead, 1); ItemStack hotcleanaxehead = cleanaxehead.copy();
hotsteelaxehead.setTagCompound(setHot); hotToolArray[5] = hotcleanaxehead;
ItemStack hotsteelshovelhead = new ItemStack(ModItems.steelshovelhead, 1); ItemStack hotcleanshovelhead = cleanshovelhead.copy();
hotsteelshovelhead.setTagCompound(setHot); hotToolArray[6] = hotcleanshovelhead;
ItemStack hotsteelhoehead = new ItemStack(ModItems.steelhoehead, 1); ItemStack hotcleanhoehead = cleanhoehead.copy();
hotsteelhoehead.setTagCompound(setHot); hotToolArray[7] = hotcleanhoehead;
ItemStack hotwootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1); ItemStack hotsteelpickaxehead = steelpickaxehead.copy();
hotwootzpickaxehead.setTagCompound(setHot); hotToolArray[8] = hotsteelpickaxehead;
ItemStack hotwootzaxehead = new ItemStack(ModItems.wootzaxehead, 1); ItemStack hotsteelaxehead = steelaxehead.copy();
hotwootzaxehead.setTagCompound(setHot); hotToolArray[9] = hotsteelaxehead;
ItemStack hotwootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1); ItemStack hotsteelshovelhead = steelshovelhead.copy();
hotwootzshovelhead.setTagCompound(setHot); hotToolArray[10] = hotsteelshovelhead;
ItemStack hotwootzhoehead = new ItemStack(ModItems.wootzhoehead, 1); ItemStack hotsteelhoehead = steelhoehead.copy();
hotwootzhoehead.setTagCompound(setHot); hotToolArray[11] = hotsteelhoehead;
ItemStack hotwootzpickaxehead = wootzpickaxehead.copy();
hotToolArray[12] = hotwootzpickaxehead;
ItemStack hotwootzaxehead = wootzaxehead.copy();
hotToolArray[13] = hotwootzaxehead;
ItemStack hotwootzshovelhead = wootzshovelhead.copy();
hotToolArray[14] = hotwootzshovelhead;
ItemStack hotwootzhoehead = wootzhoehead.copy();
hotToolArray[15] = hotwootzhoehead;
for(ItemStack temp : toolArray) {
System.out.println(temp);
if(temp.getTagCompound() == null){
System.out.println("NBT is Null");
}
NBTTagCompound tags = new NBTTagCompound();
temp.getTagCompound().setTag("tags", tags);
temp.getSubCompound("tags").setBoolean("hot", false);
temp.getSubCompound("tags").setBoolean("emerald", false);
temp.getSubCompound("tags").setInteger("diamond", 0);
temp.getSubCompound("tags").setInteger("redstone", 0);
temp.getSubCompound("tags").setInteger("lapis", 0);
temp.getSubCompound("tags").setInteger("modifiers", 0);
}
bronzepickaxehead = toolArray[0];
bronzeaxehead = toolArray[1];
bronzeshovelhead = toolArray[2];
bronzehoehead = toolArray[3];
pickaxehead = toolArray[4];
ironaxehead = toolArray[5];
ironshovelhead = toolArray[6];
ironhoehead = toolArray[7];
cleanpickaxehead = toolArray[8];
cleanaxehead = toolArray[9];
cleanshovelhead = toolArray[10];
cleanhoehead = toolArray[11];
steelpickaxehead = toolArray[12] ;
steelaxehead = toolArray[13] ;
steelshovelhead = toolArray[14];
steelhoehead = toolArray[15] ;
wootzpickaxehead = toolArray[16];
wootzaxehead = toolArray[17];
wootzshovelhead = toolArray[18] ;
wootzhoehead = toolArray[19];
for(ItemStack temp : hotToolArray) {
//NBTTagCompound newTag = new NBTTagCompound();
NBTTagCompound tags = new NBTTagCompound();
//temp.setTagCompound(newTag);
temp.getTagCompound().setTag("tags", tags);
temp.getTagCompound().setTag("tags", tags);
temp.getSubCompound("tags").setBoolean("hot", true);
temp.getSubCompound("tags").setBoolean("emerald", false);
temp.getSubCompound("tags").setInteger("diamond", 0);
temp.getSubCompound("tags").setInteger("redstone", 0);
temp.getSubCompound("tags").setInteger("lapis", 0);
temp.getSubCompound("tags").setInteger("modifiers", 0);
}
hotpickaxehead = hotToolArray[0];
hotironaxehead = hotToolArray[1];
hotironshovelhead = hotToolArray[2];
hotironhoehead = hotToolArray[3];
hotcleanpickaxehead = hotToolArray[4];
hotcleanaxehead = hotToolArray[5];
hotcleanshovelhead = hotToolArray[6];
hotcleanhoehead = hotToolArray[7];
hotsteelpickaxehead = hotToolArray[8] ;
hotsteelaxehead = hotToolArray[9] ;
hotsteelshovelhead = hotToolArray[10];
hotsteelhoehead = hotToolArray[11] ;
hotwootzpickaxehead = hotToolArray[12];
hotwootzaxehead = hotToolArray[13];
hotwootzshovelhead = hotToolArray[14] ;
hotwootzhoehead = hotToolArray[15];
//RecipeHandler.addSmelting(ModItems.softcrucible, new ItemStack(ModBlocks.nbtCrucible, 1)); //RecipeHandler.addSmelting(ModItems.softcrucible, new ItemStack(ModBlocks.nbtCrucible, 1));
@@ -131,9 +269,21 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(Blocks.IRON_ORE, 1), new ItemStack(Blocks.IRON_ORE, 1),
new ItemStack(ModItems.ironingotball, 1), new ItemStack(ModItems.ironingotball, 1),
100, 1400,
100, 1200,
1000); 800);
CrucibleCrafting.addRecipe(
new OreIngredient("dustIron"),
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
Ingredient.EMPTY,
new ItemStack(Blocks.IRON_ORE, 1),
new ItemStack(ModItems.ironingotball, 1),
1250,
1100,
800);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("dustIron"), new OreIngredient("dustIron"),
@@ -143,9 +293,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.IRON_DUST, 1), new ItemStack(PrimalAPI.Items.IRON_DUST, 1),
new ItemStack(ModItems.ironcleaningotball, 1), new ItemStack(ModItems.ironcleaningotball, 1),
100, 1550,
100, 1200,
1000); 800);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
Ingredient.fromStacks(new ItemStack(ModItems.ironcleaningotball, 1)), Ingredient.fromStacks(new ItemStack(ModItems.ironcleaningotball, 1)),
@@ -155,8 +305,8 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(ModItems.ironcleaningotball, 1), new ItemStack(ModItems.ironcleaningotball, 1),
new ItemStack(ModItems.steelingotball, 1), new ItemStack(ModItems.steelingotball, 1),
100, 2100,
100, 1500,
1000); 1000);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
@@ -167,9 +317,9 @@ public class ModCrafting{
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1), new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1),
new ItemStack(ModItems.wootzingotball, 1), new ItemStack(ModItems.wootzingotball, 1),
100, 2100,
100, 1800,
1000); 1500);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("magnetite"), new OreIngredient("magnetite"),
@@ -179,9 +329,9 @@ public class ModCrafting{
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)), Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1), new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1),
new ItemStack(ModItems.wootzingotball, 1), new ItemStack(ModItems.wootzingotball, 1),
100, 2100,
100, 1800,
1000); 1500);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"), new OreIngredient("dustCopper"),
@@ -191,9 +341,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
new ItemStack(ModItems.bronzeingotball, 1), new ItemStack(ModItems.bronzeingotball, 1),
100, 1100,
100, 800,
1000); 600);
NBTTagCompound tagBronzeDefault = new NBTTagCompound(); NBTTagCompound tagBronzeDefault = new NBTTagCompound();
tagBronzeDefault.setString("upgrades", ""); tagBronzeDefault.setString("upgrades", "");
@@ -207,9 +357,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
defaultBronze, defaultBronze,
100, 1100,
100, 800,
1000); 600);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("ingotBronze"), new OreIngredient("ingotBronze"),
@@ -219,9 +369,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
defaultBronze, defaultBronze,
100, 1100,
100, 800,
1000); 600);
NBTTagCompound tag = new NBTTagCompound(); NBTTagCompound tag = new NBTTagCompound();
tag.setString("upgrades", "redstone"); tag.setString("upgrades", "redstone");
@@ -235,9 +385,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
redBronze, redBronze,
100, 1100,
100, 800,
100); 600);
NBTTagCompound diamondBronzeTag = new NBTTagCompound(); NBTTagCompound diamondBronzeTag = new NBTTagCompound();
tag.setString("upgrades", "diamond"); tag.setString("upgrades", "diamond");
@@ -251,9 +401,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondBronze, diamondBronze,
100, 1100,
100, 800,
100); 600);
NBTTagCompound emeraldBronzeTag = new NBTTagCompound(); NBTTagCompound emeraldBronzeTag = new NBTTagCompound();
tag.setString("upgrades", "emerald"); tag.setString("upgrades", "emerald");
@@ -267,9 +417,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
emeraldBronze, emeraldBronze,
100, 1100,
100, 800,
100); 600);
NBTTagCompound tagBronzeLapis = new NBTTagCompound(); NBTTagCompound tagBronzeLapis = new NBTTagCompound();
tagBronzeDefault.setString("upgrades", "lapis"); tagBronzeDefault.setString("upgrades", "lapis");
@@ -283,9 +433,9 @@ public class ModCrafting{
Ingredient.EMPTY, Ingredient.EMPTY,
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisBronze, lapisBronze,
100, 1100,
100, 800,
1000); 600);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"), new OreIngredient("dustCopper"),
@@ -295,9 +445,9 @@ public class ModCrafting{
new OreIngredient("dustRedstone"), new OreIngredient("dustRedstone"),
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
redBronze, redBronze,
100, 1100,
100, 800,
1000); 600);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"), new OreIngredient("dustCopper"),
@@ -307,9 +457,9 @@ public class ModCrafting{
new OreIngredient("dustDiamond"), new OreIngredient("dustDiamond"),
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
diamondBronze, diamondBronze,
100, 1100,
100, 800,
1000); 600);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"), new OreIngredient("dustCopper"),
@@ -319,9 +469,9 @@ public class ModCrafting{
new OreIngredient("dustEmerald"), new OreIngredient("dustEmerald"),
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
emeraldBronze, emeraldBronze,
100, 1100,
100, 800,
1000); 600);
CrucibleCrafting.addRecipe( CrucibleCrafting.addRecipe(
new OreIngredient("dustCopper"), new OreIngredient("dustCopper"),
@@ -331,27 +481,10 @@ public class ModCrafting{
new OreIngredient("dustLapis"), new OreIngredient("dustLapis"),
new ItemStack(PrimalAPI.Items.SLAG, 1), new ItemStack(PrimalAPI.Items.SLAG, 1),
lapisBronze, lapisBronze,
100, 1100,
100, 800,
1000); 600);
/*
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.rawcleanironcrucible),
"XL","Y ",
('X'), "dustIron",
('L'), PrimalAPI.Items.CARBONATE_SLACK,
('Y'), ModBlocks.emptycrucible);
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.rawsteelcrucible),
"XC","Y ",
('X'), new ItemStack(ModBlocks.ironcleanball, 1),
('C'), new ItemStack(PrimalAPI.Items.CHARCOAL_HIGH),
('Y'), ModBlocks.emptycrucible);
*/
/***CASTING BLOCK***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingblock),
" B ", "BXB", " B ", 'X', Blocks.STONE_SLAB, 'B', PrimalAPI.Items.ADOBE_BRICK_DRY);
/***CASTING FORM***/ /***CASTING FORM***/
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1), RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1),
@@ -882,7 +1015,7 @@ public class ModCrafting{
empty,muddd,muddd,muddd,empty, empty,muddd,muddd,muddd,empty,
muddd,muddd,muddd,muddd,muddd, muddd,muddd,muddd,muddd,muddd,
muddd,muddd,muddd,muddd,muddd }, muddd,muddd,muddd,muddd,muddd },
new ItemStack(ModItems.bronzepickaxehead, 1) bronzepickaxehead
); );
//Casting Shovel //Casting Shovel
@@ -894,7 +1027,7 @@ public class ModCrafting{
muddd,empty,empty,empty,muddd, muddd,empty,empty,empty,muddd,
muddd,empty,empty,empty,muddd, muddd,empty,empty,empty,muddd,
muddd,empty,muddd,empty,muddd }, muddd,empty,muddd,empty,muddd },
new ItemStack(ModItems.bronzeshovelhead, 1) bronzeshovelhead
); );
//Casting Axe //Casting Axe
@@ -906,7 +1039,7 @@ public class ModCrafting{
muddd,empty,empty,empty,muddd, muddd,empty,empty,empty,muddd,
muddd,empty,muddd,muddd,muddd, muddd,empty,muddd,muddd,muddd,
muddd,muddd,muddd,muddd,muddd }, muddd,muddd,muddd,muddd,muddd },
new ItemStack(ModItems.bronzeaxehead, 1) bronzeaxehead
); );
//Casting Hoe //Casting Hoe
@@ -918,7 +1051,7 @@ public class ModCrafting{
muddd,empty,muddd,muddd,muddd, muddd,empty,muddd,muddd,muddd,
empty,muddd,muddd,muddd,muddd, empty,muddd,muddd,muddd,muddd,
muddd,muddd,muddd,muddd,muddd }, muddd,muddd,muddd,muddd,muddd },
new ItemStack(ModItems.bronzehoehead, 1) bronzehoehead
); );
//Casting Gladius //Casting Gladius

View File

@@ -12,7 +12,6 @@ import nmd.primal.core.api.PrimalAPI;
import nmd.primal.forgecraft.items.*; import nmd.primal.forgecraft.items.*;
import nmd.primal.forgecraft.items.armor.CustomHelmet; import nmd.primal.forgecraft.items.armor.CustomHelmet;
import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible; import nmd.primal.forgecraft.items.blocks.ItemNBTCrucible;
import nmd.primal.forgecraft.items.casting.CastingPart;
import nmd.primal.forgecraft.items.parts.BronzeToolPart; 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.items.tools.*; import nmd.primal.forgecraft.items.tools.*;
@@ -47,13 +46,6 @@ public class ModItems {
public static Item wootzingotball; public static Item wootzingotball;
public static Item wootzchunk; public static Item wootzchunk;
public static Item cast_axe;
public static Item cast_gladius;
public static Item cast_hoe;
public static Item cast_pickaxe;
public static Item cast_shovel;
public static Item pickaxehead; public static Item pickaxehead;
public static Item ironaxehead; public static Item ironaxehead;
public static Item ironshovelhead; public static Item ironshovelhead;
@@ -158,16 +150,6 @@ public class ModItems {
longbow = new Longbow("longbow"); longbow = new Longbow("longbow");
//matchlockmusket = new Musket("matchlock_musket"); //matchlockmusket = new Musket("matchlock_musket");
/**********
CASTING PARTS
**********/
cast_axe = new CastingPart("cast_axe");
cast_gladius = new CastingPart("cast_gladius");
cast_hoe = new CastingPart("cast_hoe");
cast_pickaxe = new CastingPart("cast_pickaxe");
cast_shovel = new CastingPart("cast_shovel");
/********** /**********
TOOL PARTS TOOL PARTS
**********/ **********/
@@ -300,15 +282,6 @@ public class ModItems {
//ForgeRegistries.ITEMS.register(test); //ForgeRegistries.ITEMS.register(test);
/**********
CASTING PARTS
**********/
ForgeRegistries.ITEMS.register(cast_axe);
ForgeRegistries.ITEMS.register(cast_gladius);
ForgeRegistries.ITEMS.register(cast_hoe);
ForgeRegistries.ITEMS.register(cast_pickaxe);
ForgeRegistries.ITEMS.register(cast_shovel);
/********** /**********
TOOL PARTS TOOL PARTS
**********/ **********/
@@ -428,15 +401,6 @@ public class ModItems {
//registerRender(test); //registerRender(test);
/**********
CASTING PARTS
**********/
registerRender(cast_axe);
registerRender(cast_gladius);
registerRender(cast_hoe);
registerRender(cast_pickaxe);
registerRender(cast_shovel);
/********** /**********
TOOL PARTS TOOL PARTS
**********/ **********/

View File

@@ -16,7 +16,6 @@ public class ModTiles {
registerTileEntity(TileAnvil.class, "anvil"); registerTileEntity(TileAnvil.class, "anvil");
registerTileEntity(TileBreaker.class, "breaker"); registerTileEntity(TileBreaker.class, "breaker");
registerTileEntity(TileCastingForm.class, "castingform"); registerTileEntity(TileCastingForm.class, "castingform");
registerTileEntity(TileCastingBlock.class, "castingblock");
registerTileEntity(TileNBTCrucible.class, "nbtcrucible"); registerTileEntity(TileNBTCrucible.class, "nbtcrucible");
} }

View File

@@ -44,7 +44,6 @@ public class ClientProxy implements CommonProxy {
ClientRegistry.bindTileEntitySpecialRenderer(TileAnvil.class, new TileAnvilRender()); ClientRegistry.bindTileEntitySpecialRenderer(TileAnvil.class, new TileAnvilRender());
ClientRegistry.bindTileEntitySpecialRenderer(TileBreaker.class, new TileBreakerRender()); ClientRegistry.bindTileEntitySpecialRenderer(TileBreaker.class, new TileBreakerRender());
ClientRegistry.bindTileEntitySpecialRenderer(TileCastingForm.class, new TileCastingformRender()); ClientRegistry.bindTileEntitySpecialRenderer(TileCastingForm.class, new TileCastingformRender());
ClientRegistry.bindTileEntitySpecialRenderer(TileCastingBlock.class, new TileCastingBlockRender());
} }
public void registerModels(){ public void registerModels(){

View File

@@ -1,103 +0,0 @@
package nmd.primal.forgecraft.renders.blocks;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.OpenGlHelper;
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.tileentity.TileEntitySpecialRenderer;
import net.minecraft.item.Item;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import nmd.primal.forgecraft.blocks.CastingBlock;
import nmd.primal.forgecraft.blocks.CustomContainerFacing;
import nmd.primal.forgecraft.items.casting.CastingPart;
import nmd.primal.forgecraft.tiles.TileCastingBlock;
import org.lwjgl.opengl.GL11;
/**
* Created by mminaie on 6/21/17.
*/
public class TileCastingBlockRender extends TileEntitySpecialRenderer <TileCastingBlock>
{
private RenderItem renderItem = Minecraft.getMinecraft().getRenderItem();
@Override
public void render(TileCastingBlock tile, double x, double y, double z, float partialTicks, int destroyStage, float alpha)
{
BlockPos pos = tile.getPos();
IBlockState state = this.getWorld().getBlockState(pos);
if (state.getBlock() instanceof CastingBlock) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y + 0.25D, z + 0.5);
//GL11.glRotatef(90.0F, 0.0F, 0.0F, 1.0F);
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.LOCATION_BLOCKS_TEXTURE);
float prevLGTX = OpenGlHelper.lastBrightnessX;
float prevLGTY = OpenGlHelper.lastBrightnessY;
GL11.glScaled(0.99D, 0.99D, 0.99D);
int bright = tile.getWorld().getCombinedLight(pos.up(), 0);
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, bright % 65536, bright / 65536);
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.NORTH) {
if (!tile.getSlotStack(0).isEmpty()) {
Item item = tile.getSlotStack(0).getItem();
if (item instanceof CastingPart) {
GL11.glPushMatrix();
GL11.glRotatef(180.0f, 0.0f, 1.0f, 0.0f);
GL11.glRotatef(90.0f, 1.0f, 0.0f, 0.0f);
renderItem.renderItem(tile.getSlotStack(0), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
}
}
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.SOUTH) {
if (!tile.getSlotStack(0).isEmpty()) {
Item item = tile.getSlotStack(0).getItem();
if (item instanceof CastingPart) {
GL11.glPushMatrix();
GL11.glRotated(90.0D, 0.0D, 0.0D, 0.0D);
renderItem.renderItem(tile.getSlotStack(0), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
}
}
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.WEST) {
if (!tile.getSlotStack(0).isEmpty()) {
Item item = tile.getSlotStack(0).getItem();
if (item instanceof CastingPart) {
GL11.glPushMatrix();
GL11.glRotated(90.0D, 1.0D, 0.0D, 0.0D);
GL11.glRotated(90.0D, 0.0D, 0.0D, 1.0D);
//GL11.glRotated(180.0D, 0.0D, 1.0D, 0.0D);
renderItem.renderItem(tile.getSlotStack(0), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
}
}
if (state.getValue(CustomContainerFacing.FACING) == EnumFacing.EAST) {
if (!tile.getSlotStack(0).isEmpty()) {
Item item = tile.getSlotStack(0).getItem();
if (item instanceof CastingPart) {
GL11.glPushMatrix();
GL11.glRotated(90.0D, 1.0D, 0.0D, 0.0D);
GL11.glRotated(-90.0D, 0.0D, 0.0D, 1.0D);
renderItem.renderItem(tile.getSlotStack(0), ItemCameraTransforms.TransformType.FIXED);
GL11.glPopMatrix();
}
}
}
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, prevLGTX, prevLGTY);
GL11.glPopMatrix();
}
}
}

View File

@@ -1,14 +0,0 @@
package nmd.primal.forgecraft.tiles;
/**
* Created by mminaie on 6/24/17.
*/
public class TileCastingBlock extends TileBaseSlot {
@Override
public int getSlotLimit() {
return 1;
}
}

View File

@@ -101,7 +101,6 @@ public class TileNBTCrucible extends BaseTile implements ITickable {
//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());
world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 6), 2); world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 6), 2);
this.updateBlock(); this.updateBlock();
this.markDirty(); this.markDirty();

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

View File

@@ -0,0 +1,66 @@
{
"__comment": "Designed by Kitsushadow with Cubik Studio - https://cubik.studio",
"textures": {
"particle": "blocks/e_particle",
"texture": "blocks/stone"
},
"elements": [
{
"__comment": "Box1",
"from": [ 0, 0, 0 ],
"to": [ 16, 8, 7 ],
"faces": {
"down": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
"up": { "uv": [ 0, 0, 16, 7 ], "texture": "#texture" },
"north": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture" },
"south": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture" },
"west": { "uv": [ 0, 8, 7, 16 ], "texture": "#texture" },
"east": { "uv": [ 9, 8, 16, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Box1",
"from": [ 0, 0, 9 ],
"to": [ 16, 8, 16 ],
"faces": {
"down": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
"up": { "uv": [ 0, 0, 16, 7 ], "texture": "#texture" },
"north": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture" },
"south": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture" },
"west": { "uv": [ 0, 8, 7, 16 ], "texture": "#texture" },
"east": { "uv": [ 9, 8, 16, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Box4",
"from": [ 0, 0, 7 ],
"to": [ 7, 8, 9 ],
"faces": {
"down": { "uv": [ 0, 7, 7, 9 ], "texture": "#texture" },
"up": { "uv": [ 0, 7, 7, 9 ], "texture": "#texture" },
"west": { "uv": [ 7, 8, 9, 16 ], "texture": "#texture" },
"east": { "uv": [ 7, 8, 9, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Box4",
"from": [ 9, 0, 7 ],
"to": [ 16, 8, 9 ],
"faces": {
"down": { "uv": [ 0, 7, 7, 9 ], "texture": "#texture" },
"up": { "uv": [ 0, 7, 7, 9 ], "texture": "#texture" },
"west": { "uv": [ 7, 8, 9, 16 ], "texture": "#texture" },
"east": { "uv": [ 7, 8, 9, 16 ], "texture": "#texture" }
}
},
{
"__comment": "Box6",
"from": [ 7, 0, 7 ],
"to": [ 9, 1, 9 ],
"faces": {
"down": { "uv": [ 7, 7, 9, 9 ], "texture": "#texture" },
"up": { "uv": [ 7, 7, 9, 9 ], "texture": "#texture" }
}
}
]
}

View File

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