finizhed chisel and sledgehammer feature plus fixed some bugs
This commit is contained in:
@@ -8,13 +8,14 @@
|
|||||||
|
|
||||||
## Current Feature
|
## Current Feature
|
||||||
- [x] SledgeHammer and Chisel item and blocks
|
- [x] SledgeHammer and Chisel item and blocks
|
||||||
- [ ] Chisel Bounding Box changes
|
- [x] ToolTip rawLongbow
|
||||||
- [ ] SledgeHammer Supid Damage Modifier
|
- [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 crafting
|
||||||
- [x] SledgeHammer and Chisel assets
|
- [x] SledgeHammer and Chisel assets
|
||||||
- [ ] SoftCrucible Color Issues
|
- [x] SoftCrucible Color Issues
|
||||||
- [ ] Play a sound when bloomery or forge finishes
|
- [ ] Add heat version of sledgehammer
|
||||||
- [ ] Hardness and Resistance calculation for durability damage
|
|
||||||
- [ ] Craft Tweaker Support
|
- [ ] Craft Tweaker Support
|
||||||
- [ ] Config to map only wrought iron to vanilla iron or wrought iron to another iron
|
- [ ] Config to map only wrought iron to vanilla iron or wrought iron to another iron
|
||||||
- [ ] Copper Gladius
|
- [ ] Copper Gladius
|
||||||
@@ -33,6 +34,8 @@
|
|||||||
- [ ] Create lock assembly item
|
- [ ] Create lock assembly item
|
||||||
|
|
||||||
## Backlog
|
## Backlog
|
||||||
|
- [ ] Play a sound when bloomery or forge finishes
|
||||||
|
- [ ] Hardness and Resistance calculation for durability damage
|
||||||
- [ ] Hardened Leather Helmet Inventory Model
|
- [ ] Hardened Leather Helmet Inventory Model
|
||||||
- [ ] Add Achievements
|
- [ ] Add Achievements
|
||||||
- [ ] Bloomery Print out
|
- [ ] Bloomery Print out
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G
|
|||||||
mod_group=nmd.primal.forgecraft
|
mod_group=nmd.primal.forgecraft
|
||||||
mod_name=ForgeCraft
|
mod_name=ForgeCraft
|
||||||
|
|
||||||
mod_version=1.6.20
|
mod_version=1.6.21
|
||||||
forge_version=14.23.4.2744
|
forge_version=14.23.4.2744
|
||||||
mcp_mappings=snapshot_20171003
|
mcp_mappings=snapshot_20171003
|
||||||
mc_version=1.12.2
|
mc_version=1.12.2
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class ModInfo {
|
|||||||
//public static final String MOD_PREFIX = MOD_ID + ":";
|
//public static final String MOD_PREFIX = MOD_ID + ":";
|
||||||
public static final String MOD_CHANNEL = MOD_ID;
|
public static final String MOD_CHANNEL = MOD_ID;
|
||||||
|
|
||||||
public static final String MOD_VERSION = "1.6.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 MC_VERSIONS = "[1.12.0, 1.13.0)";
|
||||||
public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);";
|
public static final String DEPENDENCIES = "required-after:forge@[14.21.1.2400,);" + "required-after:primal@[0.6.69,);";
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import net.minecraft.util.math.BlockPos;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import nmd.primal.core.common.items.tools.Gallagher;
|
import nmd.primal.core.common.items.tools.Gallagher;
|
||||||
import nmd.primal.forgecraft.init.ModItems;
|
import nmd.primal.forgecraft.init.ModItems;
|
||||||
|
import nmd.primal.forgecraft.items.SledgeHammer;
|
||||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -34,7 +35,6 @@ public class AnvilStone extends AnvilBase {
|
|||||||
ItemStack stack12 = tile.getSlotStack(12).copy();
|
ItemStack stack12 = tile.getSlotStack(12).copy();
|
||||||
if (!world.isRemote) {
|
if (!world.isRemote) {
|
||||||
if (hand.equals(hand.MAIN_HAND)) {
|
if (hand.equals(hand.MAIN_HAND)) {
|
||||||
|
|
||||||
if (!stack12.isEmpty()) {
|
if (!stack12.isEmpty()) {
|
||||||
if (tile != null) {
|
if (tile != null) {
|
||||||
if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) {
|
if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) {
|
||||||
@@ -113,6 +113,7 @@ public class AnvilStone extends AnvilBase {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//if(! (pItem.getItem() instanceof SledgeHammer) ) {
|
||||||
if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) {
|
if ((pItem.getItem() instanceof Gallagher) || (pItem.getItem() == ModItems.forgehammer)) {
|
||||||
ItemStack[] tempArray = new ItemStack[25];
|
ItemStack[] tempArray = new ItemStack[25];
|
||||||
for (int i = 0; i < 25; i++) {
|
for (int i = 0; i < 25; i++) {
|
||||||
@@ -121,7 +122,7 @@ public class AnvilStone extends AnvilBase {
|
|||||||
doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player);
|
doAnvilRecipe(pItem, stack12, tempArray, world, tile, pos, player);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
//}
|
||||||
|
|
||||||
doAnvilInventoryManager(pItem, world, tile, pos, hitx, hity, hitz, state, player);
|
doAnvilInventoryManager(pItem, world, tile, pos, hitx, hity, hitz, state, player);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -50,11 +50,23 @@ public class Chisel extends CustomFacing {
|
|||||||
0.625D, 0.4375D, 0.4375D,
|
0.625D, 0.4375D, 0.4375D,
|
||||||
1.0D, 0.5625D, 0.5625D);
|
1.0D, 0.5625D, 0.5625D);
|
||||||
private AxisAlignedBB boundBoxWest = new AxisAlignedBB(
|
private AxisAlignedBB boundBoxWest = new AxisAlignedBB(
|
||||||
0.0D, 0.4375D, 0.0D,
|
0.0D, 0.4375D, 0.4375D,
|
||||||
1.0D, 0.5625D, 1.0D);
|
0.875D, 0.5625D, 0.5625D);
|
||||||
private AxisAlignedBB boundBoxWestActive = new AxisAlignedBB(
|
private AxisAlignedBB boundBoxWestActive = new AxisAlignedBB(
|
||||||
0.0D, 0.4375D, 0.0D,
|
0.0D, 0.4375D, 0.4375D,
|
||||||
1.0D, 0.5625D, 1.0D);
|
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;
|
private Item.ToolMaterial realMaterial;
|
||||||
|
|
||||||
@@ -93,6 +105,18 @@ public class Chisel extends CustomFacing {
|
|||||||
if(state.getValue(FACING)==EnumFacing.WEST && state.getValue(PrimalAPI.States.ACTIVE)){
|
if(state.getValue(FACING)==EnumFacing.WEST && state.getValue(PrimalAPI.States.ACTIVE)){
|
||||||
return boundBoxWestActive;
|
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;
|
return boundBoxDown;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -372,7 +396,10 @@ public class Chisel extends CustomFacing {
|
|||||||
private void doBreaking(World world, BlockPos movePos, IBlockState state, EntityPlayer player){
|
private void doBreaking(World world, BlockPos movePos, IBlockState state, EntityPlayer player){
|
||||||
if (!(state.getBlock().equals(Blocks.AIR))) {
|
if (!(state.getBlock().equals(Blocks.AIR))) {
|
||||||
if(world.getBlockState(movePos).getBlock().getBlockHardness(state, world, movePos)>0) {
|
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);
|
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){
|
private void makeParticles(World world, BlockPos pos, EnumParticleTypes particle, EnumFacing facing){
|
||||||
|
|
||||||
double d0 = (double)pos.getX() + 0.5D;
|
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 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.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");
|
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(
|
recipes.register (new CrucibleCrafting(
|
||||||
new OreIngredient("dustIron"),
|
new OreIngredient("dustIron"),
|
||||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
new OreIngredient("slackLime"),
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
@@ -533,7 +533,7 @@ public final class RecipesCrucible {
|
|||||||
|
|
||||||
recipes.register (new CrucibleCrafting(
|
recipes.register (new CrucibleCrafting(
|
||||||
new OreIngredient("oreCopper"),
|
new OreIngredient("oreCopper"),
|
||||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
new OreIngredient("slackLime"),
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
@@ -613,7 +613,7 @@ public final class RecipesCrucible {
|
|||||||
|
|
||||||
recipes.register (new CrucibleCrafting(
|
recipes.register (new CrucibleCrafting(
|
||||||
new OreIngredient("oreCopper"),
|
new OreIngredient("oreCopper"),
|
||||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
new OreIngredient("slackLime"),
|
||||||
new OreIngredient("dustRedstone"),
|
new OreIngredient("dustRedstone"),
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
@@ -625,7 +625,7 @@ public final class RecipesCrucible {
|
|||||||
|
|
||||||
recipes.register (new CrucibleCrafting(
|
recipes.register (new CrucibleCrafting(
|
||||||
new OreIngredient("oreCopper"),
|
new OreIngredient("oreCopper"),
|
||||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
new OreIngredient("slackLime"),
|
||||||
new OreIngredient("flakeDiamond"),
|
new OreIngredient("flakeDiamond"),
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
@@ -637,7 +637,7 @@ public final class RecipesCrucible {
|
|||||||
|
|
||||||
recipes.register (new CrucibleCrafting(
|
recipes.register (new CrucibleCrafting(
|
||||||
new OreIngredient("oreCopper"),
|
new OreIngredient("oreCopper"),
|
||||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
new OreIngredient("slackLime"),
|
||||||
new OreIngredient("flakeEmerald"),
|
new OreIngredient("flakeEmerald"),
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
@@ -649,7 +649,7 @@ public final class RecipesCrucible {
|
|||||||
|
|
||||||
recipes.register (new CrucibleCrafting(
|
recipes.register (new CrucibleCrafting(
|
||||||
new OreIngredient("oreCopper"),
|
new OreIngredient("oreCopper"),
|
||||||
Ingredient.fromStacks(new ItemStack(PrimalAPI.Items.CARBONATE_SLACK, 1)),
|
new OreIngredient("slackLime"),
|
||||||
new OreIngredient("gemLapis"),
|
new OreIngredient("gemLapis"),
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
Ingredient.EMPTY,
|
Ingredient.EMPTY,
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ public class ModBlocks {
|
|||||||
pistonbellowsacacia = new PistonBellows(Material.WOOD, "pistonbellowsacacia");
|
pistonbellowsacacia = new PistonBellows(Material.WOOD, "pistonbellowsacacia");
|
||||||
|
|
||||||
stoneanvil = new AnvilStone(Material.ANVIL, "stoneanvil", 5.0f, true);
|
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);
|
yewstave = new YewStave(Material.WOOD, "yewstave", 3.0F);
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ public class ModBlocks {
|
|||||||
registerBlockWithItem(pistonbellowsacacia);
|
registerBlockWithItem(pistonbellowsacacia);
|
||||||
|
|
||||||
registerBlockWithItem(stoneanvil);
|
registerBlockWithItem(stoneanvil);
|
||||||
registerBlockWithItem(ironanvil);
|
//registerBlockWithItem(ironanvil);
|
||||||
|
|
||||||
registerBlockWithItem(yewstave);
|
registerBlockWithItem(yewstave);
|
||||||
}
|
}
|
||||||
@@ -137,7 +137,7 @@ public class ModBlocks {
|
|||||||
registerRender(bloomery_adobe);
|
registerRender(bloomery_adobe);
|
||||||
|
|
||||||
registerRender(stoneanvil);
|
registerRender(stoneanvil);
|
||||||
registerRender(ironanvil);
|
//registerRender(ironanvil);
|
||||||
|
|
||||||
registerRender(yewstave);
|
registerRender(yewstave);
|
||||||
|
|
||||||
|
|||||||
@@ -228,6 +228,12 @@ public class ModCrafting{
|
|||||||
coppershovelhead = toolArray[22];
|
coppershovelhead = toolArray[22];
|
||||||
copperhoehead = toolArray[23];
|
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) {
|
for(ItemStack temp : hotToolArray) {
|
||||||
//NBTTagCompound newTag = new NBTTagCompound();
|
//NBTTagCompound newTag = new NBTTagCompound();
|
||||||
NBTTagCompound tags = 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.CustomHoe;
|
||||||
import nmd.primal.forgecraft.items.tools.CustomPickaxe;
|
import nmd.primal.forgecraft.items.tools.CustomPickaxe;
|
||||||
import nmd.primal.forgecraft.items.tools.CustomShovel;
|
import nmd.primal.forgecraft.items.tools.CustomShovel;
|
||||||
import nmd.primal.forgecraft.items.weapons.CustomShield;
|
import nmd.primal.forgecraft.items.weapons.*;
|
||||||
import nmd.primal.forgecraft.items.weapons.CustomSword;
|
|
||||||
import nmd.primal.forgecraft.items.weapons.Longbow;
|
|
||||||
import nmd.primal.forgecraft.items.weapons.SlayerSword;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by kitsu on 11/26/2016.
|
* Created by kitsu on 11/26/2016.
|
||||||
@@ -172,7 +169,7 @@ public class ModItems {
|
|||||||
forgehammer = new ForgeHammer("forgehammer");
|
forgehammer = new ForgeHammer("forgehammer");
|
||||||
castingmud = new BaseItem("castingmud");
|
castingmud = new BaseItem("castingmud");
|
||||||
|
|
||||||
rawlongbow = new BaseItem("rawlongbow");
|
rawlongbow = new RawLongbow("rawlongbow");
|
||||||
unstrunglongbow = new BaseItem("unstrunglongbow");
|
unstrunglongbow = new BaseItem("unstrunglongbow");
|
||||||
longbow = new Longbow("longbow");
|
longbow = new Longbow("longbow");
|
||||||
//matchlockmusket = new Musket("matchlock_musket");
|
//matchlockmusket = new Musket("matchlock_musket");
|
||||||
@@ -217,37 +214,37 @@ public class ModItems {
|
|||||||
copperaxe = new CustomAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F);
|
copperaxe = new CustomAxe("copperaxe", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool, 4, -2.6F);
|
||||||
coppershovel = new CustomShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
|
coppershovel = new CustomShovel("coppershovel", PrimalAPI.ToolMaterials.TOOL_COPPER, brokencoppertool);
|
||||||
copperhoe = new CustomHoe("copperhoe", 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);
|
bronzepickaxe = new CustomPickaxe("bronzepickaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzepickaxehead);
|
||||||
bronzeaxe = new CustomAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f);
|
bronzeaxe = new CustomAxe("bronzeaxe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeaxehead, 5, -2.4f);
|
||||||
bronzeshovel = new CustomShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead);
|
bronzeshovel = new CustomShovel("bronzeshovel", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzeshovelhead);
|
||||||
bronzehoe = new CustomHoe("bronzehoe", PrimalAPI.ToolMaterials.TOOL_BRONZE, bronzehoehead);
|
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);
|
ironpickaxe = new CustomPickaxe("ironpickaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, pickaxehead);
|
||||||
ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f);
|
ironaxe = new CustomAxe("ironaxe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironaxehead, 5, -3.6f);
|
||||||
ironshovel = new CustomShovel("ironshovel", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironshovelhead);
|
ironshovel = new CustomShovel("ironshovel", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironshovelhead);
|
||||||
ironhoe = new CustomHoe("ironhoe", PrimalAPI.ToolMaterials.TOOL_WROUGHT_IRON, ironhoehead);
|
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);
|
cleanironpickaxe = new CustomPickaxe("cleanironpickaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironpickaxehead);
|
||||||
cleanironaxe = new CustomAxe("cleanironaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironaxehead, 6, -3.2f);
|
cleanironaxe = new CustomAxe("cleanironaxe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironaxehead, 6, -3.2f);
|
||||||
cleanironshovel = new CustomShovel("cleanironshovel", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironshovelhead);
|
cleanironshovel = new CustomShovel("cleanironshovel", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironshovelhead);
|
||||||
cleanironhoe = new CustomHoe("cleanironhoe", PrimalAPI.ToolMaterials.TOOL_CLEAN_IRON, cleanironhoehead);
|
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);
|
steelpickaxe = new CustomPickaxe("steelpickaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelpickaxehead);
|
||||||
steelaxe = new CustomAxe("steelaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelaxehead, 7, -2.8f);
|
steelaxe = new CustomAxe("steelaxe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelaxehead, 7, -2.8f);
|
||||||
steelshovel = new CustomShovel("steelshovel", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelshovelhead);
|
steelshovel = new CustomShovel("steelshovel", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelshovelhead);
|
||||||
steelhoe = new CustomHoe("steelhoe", PrimalAPI.ToolMaterials.TOOL_BASIC_STEEL, steelhoehead);
|
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);
|
wootzpickaxe = new CustomPickaxe("wootzpickaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzpickaxehead);
|
||||||
wootzaxe = new CustomAxe("wootzaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzaxehead, 8, -2.4f);
|
wootzaxe = new CustomAxe("wootzaxe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzaxehead, 8, -2.4f);
|
||||||
wootzshovel = new CustomShovel("wootzshovel", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzshovelhead);
|
wootzshovel = new CustomShovel("wootzshovel", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzshovelhead);
|
||||||
wootzhoe = new CustomHoe("wootzhoe", PrimalAPI.ToolMaterials.TOOL_WOOTZ_STEEL, wootzhoehead);
|
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
|
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;
|
package nmd.primal.forgecraft.items;
|
||||||
|
|
||||||
|
import com.google.common.collect.HashMultimap;
|
||||||
|
import com.google.common.collect.Multimap;
|
||||||
import com.mojang.realmsclient.gui.ChatFormatting;
|
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.client.util.ITooltipFlag;
|
||||||
import net.minecraft.entity.Entity;
|
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.entity.player.EntityPlayer;
|
||||||
import net.minecraft.init.MobEffects;
|
import net.minecraft.init.MobEffects;
|
||||||
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.potion.PotionEffect;
|
import net.minecraft.potion.PotionEffect;
|
||||||
import net.minecraft.util.ActionResult;
|
import net.minecraft.util.ActionResult;
|
||||||
import net.minecraft.util.EnumActionResult;
|
import net.minecraft.util.EnumActionResult;
|
||||||
|
import net.minecraft.util.EnumFacing;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import nmd.primal.core.api.PrimalAPI;
|
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 nmd.primal.forgecraft.util.ToolMaterialMap;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.List;
|
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;
|
private ToolMaterial material;
|
||||||
|
|
||||||
public SledgeHammer(String registryName, Item.ToolMaterial material) {
|
public SledgeHammer(String name, Item.ToolMaterial material, Integer attack, Double speed) {
|
||||||
super(registryName);
|
super(material, ToolCraftingRecipe.EnumToolType.MALLET_METAL);
|
||||||
|
this.setUnlocalizedName(name);
|
||||||
|
this.setRegistryName(name);
|
||||||
this.setMaxDamage(material.getMaxUses()*3);
|
this.setMaxDamage(material.getMaxUses()*3);
|
||||||
this.setHarvestLevel("pickaxe" , material.getHarvestLevel());
|
this.setHarvestLevel("pickaxe" , material.getHarvestLevel());
|
||||||
this.material=material;
|
this.material=material;
|
||||||
|
this.attack = attack;
|
||||||
|
this.speed = speed;
|
||||||
|
this.setCreativeTab(ModInfo.TAB_FORGECRAFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected) {
|
public void onUpdate(ItemStack stack, World world, Entity entity, int itemSlot, boolean isSelected) {
|
||||||
if(!world.isRemote){
|
if(!world.isRemote){
|
||||||
EntityPlayer player = (EntityPlayer) entity;
|
EntityPlayer player = (EntityPlayer) entity;
|
||||||
|
|
||||||
if(player.inventory.getCurrentItem().getItem().equals(stack.getItem())) {
|
if(player.inventory.getCurrentItem().getItem().equals(stack.getItem())) {
|
||||||
if(player.isPotionActive(MobEffects.MINING_FATIGUE)) {
|
if(player.isPotionActive(MobEffects.MINING_FATIGUE)) {
|
||||||
if (!player.isSwingInProgress) {
|
if (!player.isSwingInProgress) {
|
||||||
@@ -51,17 +71,21 @@ public class SledgeHammer extends BaseItem implements ToolMaterialMap {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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(!world.isRemote) {
|
||||||
|
IBlockState state = world.getBlockState(pos);
|
||||||
|
Block block = world.getBlockState(pos).getBlock();
|
||||||
|
if(!(block instanceof AnvilBase)) {
|
||||||
if (!player.isSwingInProgress) {
|
if (!player.isSwingInProgress) {
|
||||||
int tempInt = 0;
|
int tempInt = 0;
|
||||||
player.addPotionEffect(new PotionEffect(MobEffects.MINING_FATIGUE, (100/(materialModifiers.get(this.getMaterial())+tempInt)), 100));
|
player.addPotionEffect(new PotionEffect(MobEffects.MINING_FATIGUE, (100 - ((materialModifiers.get(this.getMaterial()) * 13) + tempInt)), 100));
|
||||||
player.swingArm(hand);
|
player.swingArm(hand);
|
||||||
return new ActionResult<ItemStack>(EnumActionResult.PASS, player.getHeldItem(hand));
|
return EnumActionResult.PASS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new ActionResult<ItemStack>(EnumActionResult.FAIL, player.getHeldItem(hand));
|
}
|
||||||
|
return EnumActionResult.PASS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ToolMaterial getMaterial() {
|
public ToolMaterial getMaterial() {
|
||||||
@@ -75,4 +99,36 @@ public class SledgeHammer extends BaseItem implements ToolMaterialMap {
|
|||||||
tooltip.add(ChatFormatting.LIGHT_PURPLE + "Damage: " + item.getItemDamage() );
|
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.init.ModItems;
|
||||||
import nmd.primal.forgecraft.items.BaseMultiItem;
|
import nmd.primal.forgecraft.items.BaseMultiItem;
|
||||||
import nmd.primal.forgecraft.items.ForgeHammer;
|
import nmd.primal.forgecraft.items.ForgeHammer;
|
||||||
|
import nmd.primal.forgecraft.items.SledgeHammer;
|
||||||
import nmd.primal.forgecraft.items.SlottedTongs;
|
import nmd.primal.forgecraft.items.SlottedTongs;
|
||||||
import nmd.primal.forgecraft.items.parts.ToolPart;
|
import nmd.primal.forgecraft.items.parts.ToolPart;
|
||||||
import nmd.primal.forgecraft.tiles.TileAnvil;
|
import nmd.primal.forgecraft.tiles.TileAnvil;
|
||||||
@@ -273,7 +274,6 @@ public interface AnvilHandler extends ToolMaterialMap {
|
|||||||
|
|
||||||
static boolean doWork(ItemStack pItem, Integer counter, TileAnvil tile, World world, BlockPos pos, EntityPlayer player) {
|
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);
|
IItemHandler inventory = pItem.getCapability(ITEM_HANDLER, null);
|
||||||
@@ -409,7 +409,6 @@ public interface AnvilHandler extends ToolMaterialMap {
|
|||||||
double offsetX = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
|
double offsetX = world.rand.nextFloat() * offset + (1.0F - offset) * 0.5D;
|
||||||
double offsetY = 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;
|
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);
|
EntityItem itemDrop = new EntityItem(world, pos.getX() + offsetX, pos.getY() + offsetY, pos.getZ() + offsetZ, stack);
|
||||||
itemDrop.setDefaultPickupDelay();
|
itemDrop.setDefaultPickupDelay();
|
||||||
world.spawnEntity(itemDrop);
|
world.spawnEntity(itemDrop);
|
||||||
|
|||||||
@@ -20,11 +20,12 @@ tile.pistonbellowsspruce.name=Spruce Piston Bellows
|
|||||||
tile.pistonbellowsdarkoak.name=Dark Oak Piston Bellows
|
tile.pistonbellowsdarkoak.name=Dark Oak Piston Bellows
|
||||||
tile.pistonbellowsacacia.name=Acacia Piston Bellows
|
tile.pistonbellowsacacia.name=Acacia Piston Bellows
|
||||||
|
|
||||||
tile.emptycruciblehot.name=Empty Hot Crucible
|
tile.steelchisel.name=Steel Chisel
|
||||||
tile.emptycrucible.name=Empty Crucible
|
tile.wootzchisel.name= Damascus Chisel
|
||||||
tile.emptycruciblehit.name=Hot Empty Crucible
|
tile.cleanironchisel.name=Clean Iron Chisel
|
||||||
tile.emptycruciblecracked.name= Cracked Empty Crucible
|
tile.ironchisel.name=Wrought Iron Chisel
|
||||||
tile.emptycruciblecrackedhot.name=Cracked Hot Empty Crucible
|
tile.copperchisel.name=Copper Chisel
|
||||||
|
tile.bronzechisel.name=Bronze Chisel
|
||||||
|
|
||||||
item.bronzeingotball.name=Bronze Ingot
|
item.bronzeingotball.name=Bronze Ingot
|
||||||
item.bronzechunk.name=Bronze Chunk
|
item.bronzechunk.name=Bronze Chunk
|
||||||
@@ -134,6 +135,13 @@ item.coppergladius.name=Copper Gladius
|
|||||||
|
|
||||||
item.leatherhelmet.name=Hardened Leather Helmet
|
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 -- #
|
# -- configuration -- #
|
||||||
forgecraft.config.title=ForgeCraft Config
|
forgecraft.config.title=ForgeCraft Config
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"modid": "forgecraft",
|
"modid": "forgecraft",
|
||||||
"name": "Kitsu's Forgecraft",
|
"name": "Kitsu's Forgecraft",
|
||||||
"description": "Forged with sweat and blood",
|
"description": "Forged with sweat and blood",
|
||||||
"version": "1.6.20",
|
"version": "1.6.21",
|
||||||
"mcversion": "1.12.2",
|
"mcversion": "1.12.2",
|
||||||
"url": "",
|
"url": "",
|
||||||
"updateUrl": "",
|
"updateUrl": "",
|
||||||
|
|||||||
Reference in New Issue
Block a user