finizhed chisel and sledgehammer feature plus fixed some bugs
This commit is contained in:
@@ -8,13 +8,14 @@
|
||||
|
||||
## Current Feature
|
||||
- [x] SledgeHammer and Chisel item and blocks
|
||||
- [ ] Chisel Bounding Box changes
|
||||
- [ ] SledgeHammer Supid Damage Modifier
|
||||
- [x] ToolTip rawLongbow
|
||||
- [x] Update Recipes with oreDict for slackLime
|
||||
- [x] Chisel Bounding Box changes
|
||||
- [x] SledgeHammer Supid Damage Modifier
|
||||
- [x] SledgeHammer and Chisel crafting
|
||||
- [x] SledgeHammer and Chisel assets
|
||||
- [ ] SoftCrucible Color Issues
|
||||
- [ ] Play a sound when bloomery or forge finishes
|
||||
- [ ] Hardness and Resistance calculation for durability damage
|
||||
- [x] SoftCrucible Color Issues
|
||||
- [ ] Add heat version of sledgehammer
|
||||
- [ ] Craft Tweaker Support
|
||||
- [ ] Config to map only wrought iron to vanilla iron or wrought iron to another iron
|
||||
- [ ] Copper Gladius
|
||||
@@ -33,6 +34,8 @@
|
||||
- [ ] Create lock assembly item
|
||||
|
||||
## Backlog
|
||||
- [ ] Play a sound when bloomery or forge finishes
|
||||
- [ ] Hardness and Resistance calculation for durability damage
|
||||
- [ ] Hardened Leather Helmet Inventory Model
|
||||
- [ ] Add Achievements
|
||||
- [ ] Bloomery Print out
|
||||
|
||||
@@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G
|
||||
mod_group=nmd.primal.forgecraft
|
||||
mod_name=ForgeCraft
|
||||
|
||||
mod_version=1.6.20
|
||||
mod_version=1.6.21
|
||||
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.20";
|
||||
public static final String MOD_VERSION = "1.6.21";
|
||||
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,);";
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import nmd.primal.core.common.items.tools.Gallagher;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.items.SledgeHammer;
|
||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||
|
||||
/**
|
||||
@@ -34,7 +35,6 @@ public class AnvilStone extends AnvilBase {
|
||||
ItemStack stack12 = tile.getSlotStack(12).copy();
|
||||
if (!world.isRemote) {
|
||||
if (hand.equals(hand.MAIN_HAND)) {
|
||||
|
||||
if (!stack12.isEmpty()) {
|
||||
if (tile != null) {
|
||||
if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) {
|
||||
@@ -113,15 +113,16 @@ public class AnvilStone extends AnvilBase {
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) {
|
||||
ItemStack[] tempArray = new ItemStack[25];
|
||||
for (int i = 0; i < 25; i++) {
|
||||
tempArray[i] = tile.getSlotStack(i);
|
||||
//if(! (pItem.getItem() instanceof SledgeHammer) ) {
|
||||
if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) {
|
||||
ItemStack[] tempArray = new ItemStack[25];
|
||||
for (int i = 0; i < 25; i++) {
|
||||
tempArray[i] = tile.getSlotStack(i);
|
||||
}
|
||||
doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player);
|
||||
return true;
|
||||
}
|
||||
doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player);
|
||||
return true;
|
||||
}
|
||||
|
||||
//}
|
||||
|
||||
doAnvilInventoryManager(pItem, world, tile, pos, hitx, hity, hitz, state, player);
|
||||
return true;
|
||||
|
||||
@@ -50,11 +50,23 @@ public class Chisel extends CustomFacing {
|
||||
0.625D, 0.4375D, 0.4375D,
|
||||
1.0D, 0.5625D, 0.5625D);
|
||||
private AxisAlignedBB boundBoxWest = new AxisAlignedBB(
|
||||
0.0D, 0.4375D, 0.0D,
|
||||
1.0D, 0.5625D, 1.0D);
|
||||
0.0D, 0.4375D, 0.4375D,
|
||||
0.875D, 0.5625D, 0.5625D);
|
||||
private AxisAlignedBB boundBoxWestActive = new AxisAlignedBB(
|
||||
0.0D, 0.4375D, 0.0D,
|
||||
1.0D, 0.5625D, 1.0D);
|
||||
0.0D, 0.4375D, 0.4375D,
|
||||
0.375D, 0.5625D, 0.5625D);
|
||||
private AxisAlignedBB boundBoxNorth = new AxisAlignedBB(
|
||||
0.4375D, 0.4375D, 0.0D,
|
||||
0.5625D, 0.5625D, 0.875D);
|
||||
private AxisAlignedBB boundBoxNorthActive = new AxisAlignedBB(
|
||||
0.4375D, 0.4375D, 0.0D,
|
||||
0.5625D, 0.5625D, 0.375D);
|
||||
private AxisAlignedBB boundBoxSouth = new AxisAlignedBB(
|
||||
0.4375D, 0.4375D, 0.125D,
|
||||
0.5625D, 0.5625D, 1.0D);
|
||||
private AxisAlignedBB boundBoxSouthActive = new AxisAlignedBB(
|
||||
0.4375D, 0.4375D, 0.625D,
|
||||
0.5625D, 0.5625D, 1.0D);
|
||||
|
||||
private Item.ToolMaterial realMaterial;
|
||||
|
||||
@@ -93,6 +105,18 @@ public class Chisel extends CustomFacing {
|
||||
if(state.getValue(FACING)==EnumFacing.WEST && state.getValue(PrimalAPI.States.ACTIVE)){
|
||||
return boundBoxWestActive;
|
||||
}
|
||||
if(state.getValue(FACING)==EnumFacing.NORTH && !state.getValue(PrimalAPI.States.ACTIVE)){
|
||||
return boundBoxNorth;
|
||||
}
|
||||
if(state.getValue(FACING)==EnumFacing.NORTH && state.getValue(PrimalAPI.States.ACTIVE)){
|
||||
return boundBoxNorthActive;
|
||||
}
|
||||
if(state.getValue(FACING)==EnumFacing.SOUTH && !state.getValue(PrimalAPI.States.ACTIVE)){
|
||||
return boundBoxSouth;
|
||||
}
|
||||
if(state.getValue(FACING)==EnumFacing.SOUTH && state.getValue(PrimalAPI.States.ACTIVE)){
|
||||
return boundBoxSouthActive;
|
||||
}
|
||||
return boundBoxDown;
|
||||
}
|
||||
|
||||
@@ -372,7 +396,10 @@ public class Chisel extends CustomFacing {
|
||||
private void doBreaking(World world, BlockPos movePos, IBlockState state, EntityPlayer player){
|
||||
if (!(state.getBlock().equals(Blocks.AIR))) {
|
||||
if(world.getBlockState(movePos).getBlock().getBlockHardness(state, world, movePos)>0) {
|
||||
world.destroyBlock(movePos, player.canHarvestBlock(state));
|
||||
|
||||
ItemStack playerStack = player.inventory.getCurrentItem();
|
||||
int toolHarvestLevel = playerStack.getItem().getHarvestLevel(playerStack, "pickaxe", player, state);
|
||||
world.destroyBlock(movePos, compareHarvestLevel(toolHarvestLevel, state.getBlock().getHarvestLevel(state)));
|
||||
world.sendBlockBreakProgress(player.getEntityId()+PrimalAPI.getRandom().nextInt(100), movePos, 0);
|
||||
}
|
||||
}
|
||||
@@ -386,6 +413,12 @@ public class Chisel extends CustomFacing {
|
||||
}
|
||||
}
|
||||
|
||||
private boolean compareHarvestLevel(int inputLevel, int compareHarvest){
|
||||
if(inputLevel >= compareHarvest){
|
||||
return true;
|
||||
} else return false;
|
||||
}
|
||||
|
||||
private void makeParticles(World world, BlockPos pos, EnumParticleTypes particle, EnumFacing facing){
|
||||
|
||||
double d0 = (double)pos.getX() + 0.5D;
|
||||
|
||||
@@ -100,5 +100,7 @@ public class ModJEI implements IModPlugin
|
||||
//registry.addIngredientInfo(new OreIngredient("oreIron"), OreIngredient.class, "jei.info.forgecraft.oreiron");
|
||||
registry.addIngredientInfo(new ItemStack(ModBlocks.castingform, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.casting");
|
||||
registry.addIngredientInfo(new ItemStack(ModBlocks.stoneanvil, 1, OreDictionary.WILDCARD_VALUE), ItemStack.class, "jei.info.forgecraft.anvil");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -306,7 +306,7 @@ public final class RecipesCrucible {
|
||||
|
||||
recipes.register (new CrucibleCrafting(
|
||||
new OreIngredient("dustIron"),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
||||
new OreIngredient("slackLime"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
@@ -533,7 +533,7 @@ public final class RecipesCrucible {
|
||||
|
||||
recipes.register (new CrucibleCrafting(
|
||||
new OreIngredient("oreCopper"),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
||||
new OreIngredient("slackLime"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
@@ -613,7 +613,7 @@ public final class RecipesCrucible {
|
||||
|
||||
recipes.register (new CrucibleCrafting(
|
||||
new OreIngredient("oreCopper"),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
||||
new OreIngredient("slackLime"),
|
||||
new OreIngredient("dustRedstone"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
@@ -625,7 +625,7 @@ public final class RecipesCrucible {
|
||||
|
||||
recipes.register (new CrucibleCrafting(
|
||||
new OreIngredient("oreCopper"),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
||||
new OreIngredient("slackLime"),
|
||||
new OreIngredient("flakeDiamond"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
@@ -637,7 +637,7 @@ public final class RecipesCrucible {
|
||||
|
||||
recipes.register (new CrucibleCrafting(
|
||||
new OreIngredient("oreCopper"),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
||||
new OreIngredient("slackLime"),
|
||||
new OreIngredient("flakeEmerald"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
@@ -649,7 +649,7 @@ public final class RecipesCrucible {
|
||||
|
||||
recipes.register (new CrucibleCrafting(
|
||||
new OreIngredient("oreCopper"),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
||||
new OreIngredient("slackLime"),
|
||||
new OreIngredient("gemLapis"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
|
||||
@@ -75,7 +75,7 @@ public class ModBlocks {
|
||||
pistonbellowsacacia = new PistonBellows(Material.WOOD, "pistonbellowsacacia");
|
||||
|
||||
stoneanvil = new AnvilStone(Material.ANVIL, "stoneanvil", 5.0f, true);
|
||||
ironanvil = new AnvilIron(Material.ANVIL, "ironanvil", 6.0f, true);
|
||||
//ironanvil = new AnvilIron(Material.ANVIL, "ironanvil", 6.0f, true);
|
||||
|
||||
yewstave = new YewStave(Material.WOOD, "yewstave", 3.0F);
|
||||
|
||||
@@ -106,7 +106,7 @@ public class ModBlocks {
|
||||
registerBlockWithItem(pistonbellowsacacia);
|
||||
|
||||
registerBlockWithItem(stoneanvil);
|
||||
registerBlockWithItem(ironanvil);
|
||||
//registerBlockWithItem(ironanvil);
|
||||
|
||||
registerBlockWithItem(yewstave);
|
||||
}
|
||||
@@ -137,7 +137,7 @@ public class ModBlocks {
|
||||
registerRender(bloomery_adobe);
|
||||
|
||||
registerRender(stoneanvil);
|
||||
registerRender(ironanvil);
|
||||
//registerRender(ironanvil);
|
||||
|
||||
registerRender(yewstave);
|
||||
|
||||
|
||||
@@ -228,6 +228,12 @@ public class ModCrafting{
|
||||
coppershovelhead = toolArray[22];
|
||||
copperhoehead = toolArray[23];
|
||||
|
||||
ItemStack ironsledgehammer = new ItemStack(ModItems.ironsledgehammer, 1);
|
||||
ItemStack cleanironsledgehammer = new ItemStack(ModItems.cleanironsledgehammer, 1);
|
||||
ItemStack steelsledgehammer = new ItemStack(ModItems.steelsledgehammer, 1);
|
||||
ItemStack wootzsledgehammer = new ItemStack(ModItems.wootzsledgehammer, 1);
|
||||
|
||||
|
||||
for(ItemStack temp : hotToolArray) {
|
||||
//NBTTagCompound newTag = new NBTTagCompound();
|
||||
NBTTagCompound tags = new NBTTagCompound();
|
||||
|
||||
@@ -20,10 +20,7 @@ import nmd.primal.forgecraft.items.tools.CustomAxe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomHoe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomPickaxe;
|
||||
import nmd.primal.forgecraft.items.tools.CustomShovel;
|
||||
import nmd.primal.forgecraft.items.weapons.CustomShield;
|
||||
import nmd.primal.forgecraft.items.weapons.CustomSword;
|
||||
import nmd.primal.forgecraft.items.weapons.Longbow;
|
||||
import nmd.primal.forgecraft.items.weapons.SlayerSword;
|
||||
import nmd.primal.forgecraft.items.weapons.*;
|
||||
|
||||
/**
|
||||
* Created by kitsu on 11/26/2016.
|
||||
@@ -172,7 +169,7 @@ public class ModItems {
|
||||
forgehammer = new ForgeHammer("forgehammer");
|
||||
castingmud = new BaseItem("castingmud");
|
||||
|
||||
rawlongbow = new BaseItem("rawlongbow");
|
||||
rawlongbow = new RawLongbow("rawlongbow");
|
||||
unstrunglongbow = new BaseItem("unstrunglongbow");
|
||||
longbow = new Longbow("longbow");
|
||||
//matchlockmusket = new Musket("matchlock_musket");
|
||||
@@ -217,37 +214,37 @@ public class ModItems {
|
||||
copperaxe = new CustomAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F);
|
||||
coppershovel = new CustomShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
|
||||
copperhoe = new CustomHoe("copperhoe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
|
||||
coppersledgehammer = new SledgeHammer("coppersledgehammer", PrimalAPI.ToolMaterials.TOOL_COPPER);
|
||||
coppersledgehammer = new SledgeHammer("coppersledgehammer", PrimalAPI.ToolMaterials.TOOL_COPPER, 12, -3.7D);
|
||||
|
||||
bronzepickaxe = new CustomPickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead);
|
||||
bronzeaxe = new CustomAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f);
|
||||
bronzeshovel = new CustomShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead);
|
||||
bronzehoe = new CustomHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead);
|
||||
bronzesledgehammer = new SledgeHammer("bronzesledgehammer", PrimalAPI.ToolMaterials.TOOL_BRONZE);
|
||||
bronzesledgehammer = new SledgeHammer("bronzesledgehammer", PrimalAPI.ToolMaterials.TOOL_BRONZE, 12, -3.7D);
|
||||
|
||||
ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead);
|
||||
ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f);
|
||||
ironshovel = new CustomShovel("ironshovel", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironshovelhead);
|
||||
ironhoe = new CustomHoe("ironhoe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironhoehead);
|
||||
ironsledgehammer = new SledgeHammer("ironsledgehammer", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON);
|
||||
ironsledgehammer = new SledgeHammer("ironsledgehammer", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, 12, -3.7D);
|
||||
|
||||
cleanironpickaxe = new CustomPickaxe("cleanironpickaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironpickaxehead);
|
||||
cleanironaxe = new CustomAxe("cleanironaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironaxehead, 6, -3.2f);
|
||||
cleanironshovel = new CustomShovel("cleanironshovel", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironshovelhead);
|
||||
cleanironhoe = new CustomHoe("cleanironhoe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironhoehead);
|
||||
cleanironsledgehammer = new SledgeHammer("cleanironsledgehammer", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON);
|
||||
cleanironsledgehammer = new SledgeHammer("cleanironsledgehammer", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, 12, -3.7D);
|
||||
|
||||
steelpickaxe = new CustomPickaxe("steelpickaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelpickaxehead);
|
||||
steelaxe = new CustomAxe("steelaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelaxehead, 7, -2.8f);
|
||||
steelshovel = new CustomShovel("steelshovel", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelshovelhead);
|
||||
steelhoe = new CustomHoe("steelhoe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelhoehead);
|
||||
steelsledgehammer = new SledgeHammer("steelsledgehammer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL);
|
||||
steelsledgehammer = new SledgeHammer("steelsledgehammer", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, 12, -3.5D);
|
||||
|
||||
wootzpickaxe = new CustomPickaxe("wootzpickaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzpickaxehead);
|
||||
wootzaxe = new CustomAxe("wootzaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzaxehead, 8, -2.4f);
|
||||
wootzshovel = new CustomShovel("wootzshovel", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzshovelhead);
|
||||
wootzhoe = new CustomHoe("wootzhoe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzhoehead);
|
||||
wootzsledgehammer = new SledgeHammer("wootzsledgehammer", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL);
|
||||
wootzsledgehammer = new SledgeHammer("wootzsledgehammer", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, 12, -3.4D);
|
||||
|
||||
/**********
|
||||
WEAPONS
|
||||
|
||||
@@ -1,186 +0,0 @@
|
||||
package nmd.primal.forgecraft.init.recipes;
|
||||
|
||||
/**
|
||||
* Created by mminaie on 9/15/18.
|
||||
*/
|
||||
/*
|
||||
@GameRegistry.ObjectHolder(ModInfo.MOD_ID)
|
||||
@Mod.EventBusSubscriber
|
||||
public final class CrucibleRecipes {
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerRecipes(RegistryEvent.Register<CrucibleCrafting> event)
|
||||
{
|
||||
final IForgeRegistry<CrucibleCrafting> registry = event.getRegistry();
|
||||
|
||||
/***Default Recipe***/
|
||||
/**
|
||||
registry.register(new CrucibleCrafting(
|
||||
|
||||
).setRecipeName(""));
|
||||
***/
|
||||
|
||||
/*
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("oreIron"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(Blocks.IRON_ORE, 1),
|
||||
new ItemStack(ModItems.ironingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000).setRecipeName("wroughtiron"));
|
||||
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("dustIron"),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.IRON_DUST, 1),
|
||||
new ItemStack(ModItems.ironcleaningotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000).setRecipeName("cleaniron"));
|
||||
|
||||
registry.register(new CrucibleCrafting(
|
||||
Ingredient.fromStacks(new ItemStack(ModItems.ironcleaningotball, 1)),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_HIGH, 1)),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(ModItems.ironcleaningotball, 1),
|
||||
new ItemStack(ModItems.steelingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000
|
||||
).setRecipeName("steel"));
|
||||
|
||||
registry.register(new CrucibleCrafting(
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
|
||||
Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
|
||||
Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)),
|
||||
new OreIngredient("dustMagnetite"),
|
||||
new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1),
|
||||
new ItemStack(ModItems.wootzingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000
|
||||
).setRecipeName("damascus"));
|
||||
|
||||
registry.register(new CrucibleCrafting(
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
|
||||
Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)),
|
||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CHARCOAL_PURE, 1)),
|
||||
Ingredient.fromStacks(new ItemStack(Blocks.LEAVES, 1, 15)),
|
||||
new OreIngredient("magnetite"),
|
||||
new ItemStack(PrimalAPI.Blocks.ORE_MAGNETITE, 1),
|
||||
new ItemStack(ModItems.wootzingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000
|
||||
).setRecipeName("damascus"));
|
||||
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("dustCopper"),
|
||||
new OreIngredient("dustCopper"),
|
||||
new OreIngredient("dustCopper"),
|
||||
new OreIngredient("dustTin"),
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
new ItemStack(ModItems.bronzeingotball, 1),
|
||||
100,
|
||||
100,
|
||||
1000
|
||||
).setRecipeName("bronzebasic"));
|
||||
|
||||
NBTTagCompound tagBronzeDefault = new NBTTagCompound();
|
||||
tagBronzeDefault.setString("upgrades", "");
|
||||
ItemStack defaultBronze = new ItemStack(ModItems.bronzeingotball, 1);
|
||||
defaultBronze.setTagCompound(tagBronzeDefault.copy());
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("oreBronze"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
defaultBronze,
|
||||
100,
|
||||
100,
|
||||
1000
|
||||
).setRecipeName("defaultbronze"));
|
||||
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
tag.setString("upgrades", "redstone");
|
||||
ItemStack redBronze = new ItemStack(ModItems.bronzeingotball, 1);
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("ingotBronze"),
|
||||
new OreIngredient("dustRedstone"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
redBronze,
|
||||
100,
|
||||
100,
|
||||
100
|
||||
).setRecipeName("redbronze"));
|
||||
|
||||
NBTTagCompound diamondBronzeTag = new NBTTagCompound();
|
||||
tag.setString("upgrades", "diamond");
|
||||
ItemStack diamondBronze = new ItemStack(ModItems.bronzeingotball, 1);
|
||||
diamondBronze.setTagCompound(diamondBronzeTag.copy());
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("ingotBronze"),
|
||||
new OreIngredient("dustDiamond"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
diamondBronze,
|
||||
100,
|
||||
100,
|
||||
100
|
||||
).setRecipeName("diamondbronze"));
|
||||
|
||||
NBTTagCompound emeraldBronzeTag = new NBTTagCompound();
|
||||
tag.setString("upgrades", "emerald");
|
||||
ItemStack emeraldBronze = new ItemStack(ModItems.bronzeingotball, 1);
|
||||
emeraldBronze.setTagCompound(emeraldBronzeTag.copy());
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("ingotBronze"),
|
||||
new OreIngredient("dustEmerald"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
diamondBronze,
|
||||
100,
|
||||
100,
|
||||
100
|
||||
).setRecipeName("emeraldbronze"));
|
||||
|
||||
NBTTagCompound tagBronzeLapis = new NBTTagCompound();
|
||||
tagBronzeDefault.setString("upgrades", "lapis");
|
||||
ItemStack lapisBronze = new ItemStack(ModItems.bronzeingotball, 1);
|
||||
lapisBronze.setTagCompound(tagBronzeLapis.copy());
|
||||
registry.register(new CrucibleCrafting(
|
||||
new OreIngredient("oreBronze"),
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
Ingredient.EMPTY,
|
||||
new ItemStack(PrimalAPI.Items.SLAG, 1),
|
||||
lapisBronze,
|
||||
100,
|
||||
100,
|
||||
1000
|
||||
).setRecipeName("lapisbronze"));
|
||||
|
||||
}
|
||||
}
|
||||
*/
|
||||
@@ -1,42 +1,62 @@
|
||||
package nmd.primal.forgecraft.items;
|
||||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.init.MobEffects;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.potion.PotionEffect;
|
||||
import net.minecraft.util.ActionResult;
|
||||
import net.minecraft.util.EnumActionResult;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.core.api.PrimalAPI;
|
||||
import nmd.primal.core.common.items.tools.Gallagher;
|
||||
import nmd.primal.core.common.recipes.irecipe.ToolCraftingRecipe;
|
||||
import nmd.primal.forgecraft.ModInfo;
|
||||
import nmd.primal.forgecraft.blocks.Anvil.AnvilBase;
|
||||
import nmd.primal.forgecraft.blocks.Chisel;
|
||||
import nmd.primal.forgecraft.util.ToolMaterialMap;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
public class SledgeHammer extends BaseItem implements ToolMaterialMap {
|
||||
|
||||
|
||||
public class SledgeHammer extends Gallagher implements ToolMaterialMap {
|
||||
|
||||
private int attack;
|
||||
private double speed;
|
||||
private ToolMaterial material;
|
||||
|
||||
public SledgeHammer(String registryName, Item.ToolMaterial material) {
|
||||
super(registryName);
|
||||
public SledgeHammer(String name, Item.ToolMaterial material, Integer attack, Double speed) {
|
||||
super(material, ToolCraftingRecipe.EnumToolType.MALLET_METAL);
|
||||
this.setUnlocalizedName(name);
|
||||
this.setRegistryName(name);
|
||||
this.setMaxDamage(material.getMaxUses()*3);
|
||||
this.setHarvestLevel("pickaxe", material.getHarvestLevel());
|
||||
this.setHarvestLevel("pickaxe" , material.getHarvestLevel());
|
||||
this.material=material;
|
||||
this.attack = attack;
|
||||
this.speed = speed;
|
||||
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected) {
|
||||
if(!world.isRemote){
|
||||
EntityPlayer player = (EntityPlayer) entity;
|
||||
|
||||
if(player.inventory.getCurrentItem().getItem().equals(stack.getItem())) {
|
||||
if(player.isPotionActive(MobEffects.MINING_FATIGUE)) {
|
||||
if (!player.isSwingInProgress) {
|
||||
@@ -51,17 +71,21 @@ public class SledgeHammer extends BaseItem implements ToolMaterialMap {
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResult<ItemStack> onItemRightClick(World world, EntityPlayer player, EnumHand hand)
|
||||
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing face, float hitx, float hity, float hitz)
|
||||
{
|
||||
if(!world.isRemote) {
|
||||
if (!player.isSwingInProgress) {
|
||||
int tempInt = 0;
|
||||
player.addPotionEffect(new PotionEffect(MobEffects.MINING_FATIGUE, (100/(materialModifiers.get(this.getMaterial())+tempInt)), 100));
|
||||
player.swingArm(hand);
|
||||
return new ActionResult<ItemStack>(EnumActionResult.PASS, player.getHeldItem(hand));
|
||||
IBlockState state = world.getBlockState(pos);
|
||||
Block block = world.getBlockState(pos).getBlock();
|
||||
if(!(block instanceof AnvilBase)) {
|
||||
if (!player.isSwingInProgress) {
|
||||
int tempInt = 0;
|
||||
player.addPotionEffect(new PotionEffect(MobEffects.MINING_FATIGUE, (100 - ((materialModifiers.get(this.getMaterial()) * 13) + tempInt)), 100));
|
||||
player.swingArm(hand);
|
||||
return EnumActionResult.PASS;
|
||||
}
|
||||
}
|
||||
}
|
||||
return new ActionResult<ItemStack>(EnumActionResult.FAIL, player.getHeldItem(hand));
|
||||
return EnumActionResult.PASS;
|
||||
}
|
||||
|
||||
public ToolMaterial getMaterial() {
|
||||
@@ -75,4 +99,36 @@ public class SledgeHammer extends BaseItem implements ToolMaterialMap {
|
||||
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public boolean hasEffect(ItemStack stack)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isRepairable()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getItemEnchantability(ItemStack stack)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Multimap<String, AttributeModifier> getItemAttributeModifiers(EntityEquipmentSlot equipmentSlot)
|
||||
{
|
||||
Multimap<String, AttributeModifier> multimap = HashMultimap.<String, AttributeModifier>create();
|
||||
|
||||
if (equipmentSlot == EntityEquipmentSlot.MAINHAND)
|
||||
{
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_DAMAGE.getName(), new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", this.attack, 0));
|
||||
multimap.put(SharedMonsterAttributes.ATTACK_SPEED.getName(), new AttributeModifier(ATTACK_SPEED_MODIFIER, "Weapon modifier", this.speed, 0));
|
||||
}
|
||||
|
||||
return multimap;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package nmd.primal.forgecraft.items.weapons;
|
||||
|
||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import nmd.primal.forgecraft.items.BaseItem;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
public class RawLongbow extends BaseItem {
|
||||
|
||||
public RawLongbow(String registryName) {
|
||||
super(registryName);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) {
|
||||
|
||||
tooltip.add(ChatFormatting.GRAY + "Stack two Yew Staves in-world and Sneak right-click the bottom Yew Stave with a Work Blade");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -18,6 +18,7 @@ import nmd.primal.forgecraft.crafting.AnvilCrafting;
|
||||
import nmd.primal.forgecraft.init.ModItems;
|
||||
import nmd.primal.forgecraft.items.BaseMultiItem;
|
||||
import nmd.primal.forgecraft.items.ForgeHammer;
|
||||
import nmd.primal.forgecraft.items.SledgeHammer;
|
||||
import nmd.primal.forgecraft.items.SlottedTongs;
|
||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||
@@ -273,128 +274,127 @@ public interface AnvilHandler extends ToolMaterialMap {
|
||||
|
||||
static boolean doWork(ItemStack pItem, Integer counter, TileAnvil tile, World world, BlockPos pos, EntityPlayer player) {
|
||||
|
||||
if (pItem.getItem().equals(ModItems.slottedtongs)) {
|
||||
|
||||
if (pItem.getItem().equals(ModItems.slottedtongs)) {
|
||||
IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null);
|
||||
ItemStack tongStack = inventory.getStackInSlot(0).copy();
|
||||
SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem();
|
||||
|
||||
IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null);
|
||||
ItemStack tongStack = inventory.getStackInSlot(0).copy();
|
||||
SlottedTongs itemstackItem = (SlottedTongs) pItem.getItem();
|
||||
|
||||
if (tongStack.isEmpty()) {
|
||||
if (!tile.getSlotStack(counter).isEmpty()) {
|
||||
ItemStack tempStack = tile.getSlotStack(counter).copy();
|
||||
inventory.insertItem(0,tempStack, false);
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
itemstackItem.markDirty(pItem);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!tongStack.isEmpty()) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, inventory.extractItem(0, 1, false));
|
||||
itemstackItem.markDirty(pItem);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) {
|
||||
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (tile.getSlotStack(counter).getItem() instanceof BaseMultiItem) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(tile.getSlotStack(counter).getItem() instanceof ToolPart){
|
||||
if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
if (tongStack.isEmpty()) {
|
||||
if (!tile.getSlotStack(counter).isEmpty()) {
|
||||
ItemStack tempStack = tile.getSlotStack(counter).copy();
|
||||
inventory.insertItem(0,tempStack, false);
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
itemstackItem.markDirty(pItem);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(Items.DIAMOND)) {
|
||||
if (!tongStack.isEmpty()) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
tile.setSlotStack(counter, inventory.extractItem(0, 1, false));
|
||||
itemstackItem.markDirty(pItem);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (pItem.getItem().equals(Items.AIR) && player.isSneaking()) {
|
||||
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.DIAMOND)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.EMERALD)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.REDSTONE)) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(Items.EMERALD)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem().equals(Items.DYE) && tile.getSlotStack(counter).getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
if (tile.getSlotStack(counter).getItem() instanceof BaseMultiItem) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(tile.getSlotStack(counter).getItem() instanceof ToolPart){
|
||||
if (tile.getSlotStack(counter).getSubCompound("tags").getBoolean("hot") == false) {
|
||||
CommonUtils.spawnItemEntityFromWorld(world, pos, tile.getSlotStack(counter));
|
||||
tile.setSlotStack(counter, ItemStack.EMPTY);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
if (pItem.getItem().equals(Items.DIAMOND)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(Items.REDSTONE)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
if (pItem.getItem().equals(Items.EMERALD)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage()));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
if (pItem.getItem().equals(PrimalAPI.Items.EMERALD_KNAPP)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(PrimalAPI.Items.DIAMOND_KNAPP)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(Items.REDSTONE)) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (pItem.getItem().equals(Items.DYE) && pItem.getItemDamage() == EnumDyeColor.BLUE.getDyeDamage()) {
|
||||
if (tile.getSlotStack(counter).isEmpty()) {
|
||||
tile.setSlotStack(counter, new ItemStack(pItem.getItem(), 1, pItem.getItemDamage()));
|
||||
pItem.shrink(1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
@@ -409,7 +409,6 @@ public interface AnvilHandler extends ToolMaterialMap {
|
||||
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;
|
||||
System.out.println(stack);
|
||||
EntityItem itemDrop = new EntityItem(world, pos.getX() + offsetX, pos.getY() + offsetY, pos.getZ() + offsetZ, stack);
|
||||
itemDrop.setDefaultPickupDelay();
|
||||
world.spawnEntity(itemDrop);
|
||||
|
||||
@@ -20,11 +20,12 @@ tile.pistonbellowsspruce.name=Spruce Piston Bellows
|
||||
tile.pistonbellowsdarkoak.name=Dark Oak Piston Bellows
|
||||
tile.pistonbellowsacacia.name=Acacia Piston Bellows
|
||||
|
||||
tile.emptycruciblehot.name=Empty Hot Crucible
|
||||
tile.emptycrucible.name=Empty Crucible
|
||||
tile.emptycruciblehit.name=Hot Empty Crucible
|
||||
tile.emptycruciblecracked.name= Cracked Empty Crucible
|
||||
tile.emptycruciblecrackedhot.name=Cracked Hot Empty Crucible
|
||||
tile.steelchisel.name=Steel Chisel
|
||||
tile.wootzchisel.name= Damascus Chisel
|
||||
tile.cleanironchisel.name=Clean Iron Chisel
|
||||
tile.ironchisel.name=Wrought Iron Chisel
|
||||
tile.copperchisel.name=Copper Chisel
|
||||
tile.bronzechisel.name=Bronze Chisel
|
||||
|
||||
item.bronzeingotball.name=Bronze Ingot
|
||||
item.bronzechunk.name=Bronze Chunk
|
||||
@@ -134,6 +135,13 @@ item.coppergladius.name=Copper Gladius
|
||||
|
||||
item.leatherhelmet.name=Hardened Leather Helmet
|
||||
|
||||
item.wootzsledgehammer.name=Damascus SledgeHammer
|
||||
item.steelsledgehammer.name=Steel SledgeHammer
|
||||
item.cleanironsledgehammer.name=Clean Iron SledgeHammer
|
||||
item.ironsledgehammer.name=Wrough Iron SledgeHammer
|
||||
item.bronzesledgehammer.name=Bronze SledgeHammer
|
||||
item.coppersledgehammer.name=Copper SledgeHammer
|
||||
|
||||
# -- configuration -- #
|
||||
forgecraft.config.title=ForgeCraft Config
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"modid": "forgecraft",
|
||||
"name": "Kitsu's Forgecraft",
|
||||
"description": "Forged with sweat and blood",
|
||||
"version": "1.6.20",
|
||||
"version": "1.6.21",
|
||||
"mcversion": "1.12.2",
|
||||
"url": "",
|
||||
"updateUrl": "",
|
||||
|
||||
Reference in New Issue
Block a user