fixing the bugs
This commit is contained in:
@@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G
|
||||
mod_group=nmd.primal.forgecraft
|
||||
mod_name=ForgeCraft
|
||||
|
||||
mod_version=1.6.02
|
||||
mod_version=1.6.03
|
||||
forge_version=14.23.4.2744
|
||||
mcp_mappings=snapshot_20171003
|
||||
mc_version=1.12.2
|
||||
|
||||
@@ -21,7 +21,7 @@ public class ModInfo {
|
||||
//public static final String MOD_PREFIX = MOD_ID + ":";
|
||||
public static final String MOD_CHANNEL = MOD_ID;
|
||||
|
||||
public static final String MOD_VERSION = "1.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 DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);";
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -69,23 +69,24 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
|
||||
SlottedTongs tongs = (SlottedTongs) pItem.getItem();
|
||||
if(tongs.getSlotList().get(0).getItem().equals(Item.getItemFromBlock(ModBlocks.nbtCrucible))) {
|
||||
ItemStack tongsStack = tongs.getSlotList().get(0).copy();
|
||||
|
||||
NBTTagCompound tag = tongsStack.getTagCompound().copy();
|
||||
|
||||
if(tag != null){
|
||||
NonNullList<ItemStack> ingList = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
|
||||
NonNullList<ItemStack> ingListEmpty = NonNullList.<ItemStack>withSize(5, ItemStack.EMPTY);
|
||||
ItemStackHelper.loadAllItems(tag.getCompoundTag("BlockEntityTag"), ingList);
|
||||
|
||||
CrucibleCrafting recipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
|
||||
if(recipe != null){
|
||||
CrucibleCrafting crucibleRecipe = CrucibleCrafting.getRecipe(ingList.get(0), ingList.get(1), ingList.get(2), ingList.get(3), ingList.get(4));
|
||||
if(crucibleRecipe != null){
|
||||
if(tag.getCompoundTag("BlockEntityTag").getBoolean("status") && tag.getCompoundTag("BlockEntityTag").getInteger("hot") == 15){
|
||||
Item[] tempArray = new Item[25];
|
||||
for(int i=0; i<25; i++){
|
||||
tempArray[i] = tile.getSlotStack(i).getItem();
|
||||
}
|
||||
|
||||
CastingCrafting casting = CastingCrafting.getRecipe(tongsStack, tempArray);
|
||||
if(casting != null){
|
||||
NBTTagCompound tagOutput = recipe.getDropsCooked().getTagCompound().copy();
|
||||
NBTTagCompound tagOutput = casting.getOutput().getSubCompound("tag");
|
||||
|
||||
if(tagOutput != null) {
|
||||
ItemStack dropStack = casting.getOutput();
|
||||
dropStack.setTagCompound(new NBTTagCompound());
|
||||
@@ -121,6 +122,17 @@ public class CastingForm extends CustomContainerFacing implements CastingFormHan
|
||||
tongs.getSlotList().get(0).setTagCompound(tag);
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import nmd.primal.core.common.helper.NBTHelper;
|
||||
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.items.SlottedTongs;
|
||||
import nmd.primal.forgecraft.tiles.TileNBTCrucible;
|
||||
|
||||
@@ -149,9 +150,8 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
|
||||
@Override
|
||||
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);
|
||||
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)
|
||||
@@ -159,12 +159,14 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider {
|
||||
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) {
|
||||
TileEntity tile = world.getTileEntity(pos);
|
||||
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));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -27,7 +27,6 @@ public class ModBlocks {
|
||||
public static Block bloomery_adobe;
|
||||
public static Block blockbreaker;
|
||||
public static Block castingform;
|
||||
public static Block castingblock;
|
||||
|
||||
public static Block pistonbellowsoak;
|
||||
public static Block pistonbellowsjungle;
|
||||
@@ -87,7 +86,6 @@ public class ModBlocks {
|
||||
bloomery_adobe = new BloomeryBase(Material.ROCK, "bloomery_adobe", 5000);
|
||||
blockbreaker = new Breaker(Material.WOOD, "blockbreaker", 4.0f);
|
||||
castingform = new CastingForm(Material.WOOD, "castingform");
|
||||
castingblock = new CastingBlock(Material.ROCK, "castingblock");
|
||||
|
||||
pistonbellowsoak = new PistonBellows(Material.WOOD, "pistonbellowsoak");
|
||||
pistonbellowsjungle = new PistonBellows(Material.WOOD, "pistonbellowsjungle");
|
||||
@@ -377,7 +375,6 @@ public class ModBlocks {
|
||||
registerBlockWithItem(bloomery_adobe);
|
||||
registerBlockWithItem(blockbreaker);
|
||||
registerBlockWithItem(castingform);
|
||||
registerBlockWithItem(castingblock);
|
||||
|
||||
registerBlockWithItem(pistonbellowsoak);
|
||||
registerBlockWithItem(pistonbellowsjungle);
|
||||
@@ -437,7 +434,6 @@ public class ModBlocks {
|
||||
registerRender(forge_brick);
|
||||
registerRender(forge_adobe);
|
||||
registerRender(castingform);
|
||||
registerRender(castingblock);
|
||||
|
||||
registerRender(blockbreaker);
|
||||
registerRender(pistonbellowsoak);
|
||||
|
||||
@@ -3,10 +3,12 @@ package nmd.primal.forgecraft.init;
|
||||
import net.minecraft.block.BlockPlanks;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.inventory.ItemStackHelper;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.Ingredient;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.NonNullList;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import net.minecraftforge.oredict.OreIngredient;
|
||||
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.CrucibleCrafting;
|
||||
import nmd.primal.forgecraft.crafting.ForgeCrafting;
|
||||
import nmd.primal.forgecraft.util.ToolNBT;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
@@ -28,9 +32,14 @@ public class ModCrafting{
|
||||
Random rand = new Random();
|
||||
ItemStack emptyAir = ItemStack.EMPTY;
|
||||
|
||||
NBTTagCompound newTag = new NBTTagCompound();
|
||||
|
||||
|
||||
NBTTagCompound setHot = new NBTTagCompound();
|
||||
setHot.setBoolean("hot", true);
|
||||
|
||||
ItemStack hotBronzeIngot = new ItemStack(ModItems.bronzeingotball, 1);
|
||||
hotBronzeIngot.setTagCompound(setHot);
|
||||
ItemStack hotIronIngot = new ItemStack(ModItems.ironingotball, 1);
|
||||
hotIronIngot.setTagCompound(setHot);
|
||||
ItemStack hotCleanIronIngot = new ItemStack(ModItems.ironcleaningotball, 1);
|
||||
@@ -40,15 +49,14 @@ public class ModCrafting{
|
||||
ItemStack hotWootzIngot = new ItemStack(ModItems.wootzingotball, 1);
|
||||
hotWootzIngot.setTagCompound(setHot);
|
||||
|
||||
ItemStack hotBronzeChunk = new ItemStack( ModItems.bronzechunk, 1);
|
||||
hotBronzeChunk.setTagCompound(setHot);
|
||||
ItemStack hotChunk = new ItemStack( ModItems.wroughtironchunk, 1);
|
||||
hotChunk.setTagCompound(setHot);
|
||||
|
||||
ItemStack hotCleanChunk = new ItemStack(ModItems.ironcleanchunk, 1);
|
||||
hotCleanChunk.setTagCompound(setHot);
|
||||
|
||||
ItemStack hotSteelChunk = new ItemStack(ModItems.steelchunk, 1);
|
||||
hotSteelChunk.setTagCompound(setHot);
|
||||
|
||||
ItemStack hotWootzChunk = new ItemStack(ModItems.wootzchunk, 1);
|
||||
hotWootzChunk.setTagCompound(setHot);
|
||||
|
||||
@@ -60,61 +68,191 @@ public class ModCrafting{
|
||||
ItemStack redstone = new ItemStack(Items.REDSTONE, 1);
|
||||
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);
|
||||
pickaxehead.setTagCompound(newTag);
|
||||
toolArray[4] = pickaxehead;
|
||||
ItemStack ironaxehead = new ItemStack(ModItems.ironaxehead, 1);
|
||||
ironaxehead.setTagCompound(newTag);
|
||||
toolArray[5] = ironaxehead;
|
||||
ItemStack ironshovelhead = new ItemStack(ModItems.ironshovelhead, 1);
|
||||
ironshovelhead.setTagCompound(newTag);
|
||||
toolArray[6] = ironshovelhead;
|
||||
ItemStack ironhoehead = new ItemStack(ModItems.ironhoehead, 1);
|
||||
ironhoehead.setTagCompound(newTag);
|
||||
toolArray[7] = ironhoehead;
|
||||
|
||||
ItemStack cleanpickaxehead = new ItemStack(ModItems.cleanironpickaxehead, 1);
|
||||
cleanpickaxehead.setTagCompound(newTag);
|
||||
toolArray[8] = cleanpickaxehead;
|
||||
ItemStack cleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1);
|
||||
cleanaxehead.setTagCompound(newTag);
|
||||
toolArray[9] = cleanaxehead;
|
||||
ItemStack cleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1);
|
||||
cleanshovelhead.setTagCompound(newTag);
|
||||
toolArray[10] = cleanshovelhead;
|
||||
ItemStack cleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1);
|
||||
cleanhoehead.setTagCompound(newTag);
|
||||
toolArray[11] =cleanhoehead ;
|
||||
|
||||
ItemStack steelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1);
|
||||
steelpickaxehead.setTagCompound(newTag);
|
||||
toolArray[12] = steelpickaxehead;
|
||||
ItemStack steelaxehead = new ItemStack(ModItems.steelaxehead, 1);
|
||||
steelaxehead.setTagCompound(newTag);
|
||||
toolArray[13] =steelaxehead ;
|
||||
ItemStack steelshovelhead = new ItemStack(ModItems.steelshovelhead, 1);
|
||||
steelshovelhead.setTagCompound(newTag);
|
||||
toolArray[14] = steelshovelhead;
|
||||
ItemStack steelhoehead = new ItemStack(ModItems.steelhoehead, 1);
|
||||
steelhoehead.setTagCompound(newTag);
|
||||
toolArray[15] =steelhoehead ;
|
||||
|
||||
ItemStack wootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1);
|
||||
wootzpickaxehead.setTagCompound(newTag);
|
||||
toolArray[16] = wootzpickaxehead;
|
||||
ItemStack wootzaxehead = new ItemStack(ModItems.wootzaxehead, 1);
|
||||
wootzaxehead.setTagCompound(newTag);
|
||||
toolArray[17] = wootzaxehead;
|
||||
ItemStack wootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1);
|
||||
wootzshovelhead.setTagCompound(newTag);
|
||||
toolArray[18] =wootzshovelhead ;
|
||||
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);
|
||||
hotcleanpickaxehead.setTagCompound(setHot);
|
||||
ItemStack hotcleanaxehead = new ItemStack(ModItems.cleanironaxehead, 1);
|
||||
hotcleanaxehead.setTagCompound(setHot);
|
||||
ItemStack hotcleanshovelhead = new ItemStack(ModItems.cleanironshovelhead, 1);
|
||||
hotcleanshovelhead.setTagCompound(setHot);
|
||||
ItemStack hotcleanhoehead = new ItemStack(ModItems.cleanironhoehead, 1);
|
||||
hotcleanhoehead.setTagCompound(setHot);
|
||||
ItemStack hotpickaxehead = pickaxehead.copy();
|
||||
hotToolArray[0] =hotpickaxehead;
|
||||
ItemStack hotironaxehead = ironaxehead.copy();
|
||||
hotToolArray[1] =hotironaxehead;
|
||||
ItemStack hotironshovelhead = ironshovelhead.copy();
|
||||
hotToolArray[2] =hotironshovelhead;
|
||||
ItemStack hotironhoehead = ironhoehead.copy();
|
||||
hotToolArray[3] =hotironhoehead;
|
||||
|
||||
ItemStack hotsteelpickaxehead = new ItemStack(ModItems.steelpickaxehead, 1);
|
||||
hotsteelpickaxehead.setTagCompound(setHot);
|
||||
ItemStack hotsteelaxehead = new ItemStack(ModItems.steelaxehead, 1);
|
||||
hotsteelaxehead.setTagCompound(setHot);
|
||||
ItemStack hotsteelshovelhead = new ItemStack(ModItems.steelshovelhead, 1);
|
||||
hotsteelshovelhead.setTagCompound(setHot);
|
||||
ItemStack hotsteelhoehead = new ItemStack(ModItems.steelhoehead, 1);
|
||||
hotsteelhoehead.setTagCompound(setHot);
|
||||
ItemStack hotcleanpickaxehead = cleanpickaxehead.copy();
|
||||
hotToolArray[4] = hotcleanpickaxehead;
|
||||
ItemStack hotcleanaxehead = cleanaxehead.copy();
|
||||
hotToolArray[5] = hotcleanaxehead;
|
||||
ItemStack hotcleanshovelhead = cleanshovelhead.copy();
|
||||
hotToolArray[6] = hotcleanshovelhead;
|
||||
ItemStack hotcleanhoehead = cleanhoehead.copy();
|
||||
hotToolArray[7] = hotcleanhoehead;
|
||||
|
||||
ItemStack hotwootzpickaxehead = new ItemStack(ModItems.wootzpickaxehead, 1);
|
||||
hotwootzpickaxehead.setTagCompound(setHot);
|
||||
ItemStack hotwootzaxehead = new ItemStack(ModItems.wootzaxehead, 1);
|
||||
hotwootzaxehead.setTagCompound(setHot);
|
||||
ItemStack hotwootzshovelhead = new ItemStack(ModItems.wootzshovelhead, 1);
|
||||
hotwootzshovelhead.setTagCompound(setHot);
|
||||
ItemStack hotwootzhoehead = new ItemStack(ModItems.wootzhoehead, 1);
|
||||
hotwootzhoehead.setTagCompound(setHot);
|
||||
ItemStack hotsteelpickaxehead = steelpickaxehead.copy();
|
||||
hotToolArray[8] = hotsteelpickaxehead;
|
||||
ItemStack hotsteelaxehead = steelaxehead.copy();
|
||||
hotToolArray[9] = hotsteelaxehead;
|
||||
ItemStack hotsteelshovelhead = steelshovelhead.copy();
|
||||
hotToolArray[10] = hotsteelshovelhead;
|
||||
ItemStack hotsteelhoehead = steelhoehead.copy();
|
||||
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));
|
||||
|
||||
@@ -131,9 +269,21 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(Blocks.IRON_ORE, 1),
|
||||
new ItemStack(ModItems.ironingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1400,
|
||||
1200,
|
||||
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(
|
||||
new OreIngredient("dustIron"),
|
||||
@@ -143,9 +293,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.IRON_DUST, 1),
|
||||
new ItemStack(ModItems.ironcleaningotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1550,
|
||||
1200,
|
||||
800);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
Ingredient.fromStacks(new ItemStack(ModItems.ironcleaningotball, 1)),
|
||||
@@ -155,8 +305,8 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(ModItems.ironcleaningotball, 1),
|
||||
new ItemStack(ModItems.steelingotball, 1),
|
||||
100,
|
||||
100,
|
||||
2100,
|
||||
1500,
|
||||
1000);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
@@ -167,9 +317,9 @@ public class ModCrafting{
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
|
||||
new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1),
|
||||
new ItemStack(ModItems.wootzingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
2100,
|
||||
1800,
|
||||
1500);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
new OreIngredient("magnetite"),
|
||||
@@ -179,9 +329,9 @@ public class ModCrafting{
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
|
||||
new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1),
|
||||
new ItemStack(ModItems.wootzingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
2100,
|
||||
1800,
|
||||
1500);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
new OreIngredient("dustCopper"),
|
||||
@@ -191,9 +341,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
new ItemStack(ModItems.bronzeingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
NBTTagCompound tagBronzeDefault = new NBTTagCompound();
|
||||
tagBronzeDefault.setString("upgrades", "");
|
||||
@@ -207,9 +357,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
defaultBronze,
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
new OreIngredient("ingotBronze"),
|
||||
@@ -219,9 +369,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
defaultBronze,
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
tag.setString("upgrades", "redstone");
|
||||
@@ -235,9 +385,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
redBronze,
|
||||
100,
|
||||
100,
|
||||
100);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
NBTTagCompound diamondBronzeTag = new NBTTagCompound();
|
||||
tag.setString("upgrades", "diamond");
|
||||
@@ -251,9 +401,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
diamondBronze,
|
||||
100,
|
||||
100,
|
||||
100);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
NBTTagCompound emeraldBronzeTag = new NBTTagCompound();
|
||||
tag.setString("upgrades", "emerald");
|
||||
@@ -267,9 +417,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
emeraldBronze,
|
||||
100,
|
||||
100,
|
||||
100);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
NBTTagCompound tagBronzeLapis = new NBTTagCompound();
|
||||
tagBronzeDefault.setString("upgrades", "lapis");
|
||||
@@ -283,9 +433,9 @@ public class ModCrafting{
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
lapisBronze,
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
new OreIngredient("dustCopper"),
|
||||
@@ -295,9 +445,9 @@ public class ModCrafting{
|
||||
new OreIngredient("dustRedstone"),
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
redBronze,
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
new OreIngredient("dustCopper"),
|
||||
@@ -307,9 +457,9 @@ public class ModCrafting{
|
||||
new OreIngredient("dustDiamond"),
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
diamondBronze,
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
new OreIngredient("dustCopper"),
|
||||
@@ -319,9 +469,9 @@ public class ModCrafting{
|
||||
new OreIngredient("dustEmerald"),
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
emeraldBronze,
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
600);
|
||||
|
||||
CrucibleCrafting.addRecipe(
|
||||
new OreIngredient("dustCopper"),
|
||||
@@ -331,27 +481,10 @@ public class ModCrafting{
|
||||
new OreIngredient("dustLapis"),
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
lapisBronze,
|
||||
100,
|
||||
100,
|
||||
1000);
|
||||
1100,
|
||||
800,
|
||||
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***/
|
||||
RecipeHandler.addShapedOreRecipe(new ItemStack(ModBlocks.castingform, 1),
|
||||
@@ -882,7 +1015,7 @@ public class ModCrafting{
|
||||
empty,muddd,muddd,muddd,empty,
|
||||
muddd,muddd,muddd,muddd,muddd,
|
||||
muddd,muddd,muddd,muddd,muddd },
|
||||
new ItemStack(ModItems.bronzepickaxehead, 1)
|
||||
bronzepickaxehead
|
||||
);
|
||||
|
||||
//Casting Shovel
|
||||
@@ -894,7 +1027,7 @@ public class ModCrafting{
|
||||
muddd,empty,empty,empty,muddd,
|
||||
muddd,empty,empty,empty,muddd,
|
||||
muddd,empty,muddd,empty,muddd },
|
||||
new ItemStack(ModItems.bronzeshovelhead, 1)
|
||||
bronzeshovelhead
|
||||
);
|
||||
|
||||
//Casting Axe
|
||||
@@ -906,7 +1039,7 @@ public class ModCrafting{
|
||||
muddd,empty,empty,empty,muddd,
|
||||
muddd,empty,muddd,muddd,muddd,
|
||||
muddd,muddd,muddd,muddd,muddd },
|
||||
new ItemStack(ModItems.bronzeaxehead, 1)
|
||||
bronzeaxehead
|
||||
);
|
||||
|
||||
//Casting Hoe
|
||||
@@ -918,7 +1051,7 @@ public class ModCrafting{
|
||||
muddd,empty,muddd,muddd,muddd,
|
||||
empty,muddd,muddd,muddd,muddd,
|
||||
muddd,muddd,muddd,muddd,muddd },
|
||||
new ItemStack(ModItems.bronzehoehead, 1)
|
||||
bronzehoehead
|
||||
);
|
||||
|
||||
//Casting Gladius
|
||||
|
||||
@@ -12,7 +12,6 @@ import nmd.primal.core.api.PrimalAPI;
|
||||
import nmd.primal.forgecraft.items.*;
|
||||
import nmd.primal.forgecraft.items.armor.CustomHelmet;
|
||||
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.ToolPart;
|
||||
import nmd.primal.forgecraft.items.tools.*;
|
||||
@@ -47,13 +46,6 @@ public class ModItems {
|
||||
public static Item wootzingotball;
|
||||
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 ironaxehead;
|
||||
public static Item ironshovelhead;
|
||||
@@ -158,16 +150,6 @@ public class ModItems {
|
||||
longbow = new Longbow("longbow");
|
||||
//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
|
||||
**********/
|
||||
@@ -300,15 +282,6 @@ public class ModItems {
|
||||
|
||||
//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
|
||||
**********/
|
||||
@@ -428,15 +401,6 @@ public class ModItems {
|
||||
|
||||
//registerRender(test);
|
||||
|
||||
/**********
|
||||
CASTING PARTS
|
||||
**********/
|
||||
registerRender(cast_axe);
|
||||
registerRender(cast_gladius);
|
||||
registerRender(cast_hoe);
|
||||
registerRender(cast_pickaxe);
|
||||
registerRender(cast_shovel);
|
||||
|
||||
/**********
|
||||
TOOL PARTS
|
||||
**********/
|
||||
|
||||
@@ -16,7 +16,6 @@ public class ModTiles {
|
||||
registerTileEntity(TileAnvil.class, "anvil");
|
||||
registerTileEntity(TileBreaker.class, "breaker");
|
||||
registerTileEntity(TileCastingForm.class, "castingform");
|
||||
registerTileEntity(TileCastingBlock.class, "castingblock");
|
||||
registerTileEntity(TileNBTCrucible.class, "nbtcrucible");
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@ public class ClientProxy implements CommonProxy {
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileAnvil.class, new TileAnvilRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileBreaker.class, new TileBreakerRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileCastingForm.class, new TileCastingformRender());
|
||||
ClientRegistry.bindTileEntitySpecialRenderer(TileCastingBlock.class, new TileCastingBlockRender());
|
||||
}
|
||||
|
||||
public void registerModels(){
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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));
|
||||
//this.setDrops(recipe.getDropsCooked());
|
||||
this.setStatus(true);
|
||||
System.out.println("Ready to harvest: " + this.getDrops());
|
||||
world.setBlockState(pos, state.withProperty(PrimalAPI.States.LAYERS, 6), 2);
|
||||
this.updateBlock();
|
||||
this.markDirty();
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 159 B |
@@ -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" }
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2,7 +2,7 @@
|
||||
"modid": "forgecraft",
|
||||
"name": "Kitsu's Forgecraft",
|
||||
"description": "Forged with sweat and blood",
|
||||
"version": "1.6.02",
|
||||
"version": "1.6.03",
|
||||
"mcversion": "1.12.2",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||
Reference in New Issue
Block a user