diff --git a/kfc/gradle.properties b/kfc/gradle.properties index a6f9570e..685e7a80 100644 --- a/kfc/gradle.properties +++ b/kfc/gradle.properties @@ -6,7 +6,7 @@ org.gradle.jvmargs=-Xmx3G mod_group=nmd.primal.forgecraft mod_name=ForgeCraft -mod_version=1.6.29 +mod_version=1.6.30 forge_version=14.23.4.2765 mcp_mappings=snapshot_20171003 mc_version=1.12.2 diff --git a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java index 50a62617..317b560d 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/ModInfo.java @@ -22,7 +22,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.29"; + public static final String MOD_VERSION = "1.6.30"; 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,);"; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java index 9ec3e6fd..bcc33250 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java @@ -122,10 +122,10 @@ public class Chisel extends CustomFacing implements ToolMaterialMap { } @Override - public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) + public void onBlockPlacedBy(World world, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) { - if(!worldIn.isRemote) { - worldIn.setBlockState(pos, state.withProperty(FACING, reverseFacing(EnumFacing.getDirectionFromEntityLiving(pos, placer))).withProperty(PrimalAPI.States.ACTIVE, Boolean.valueOf(false)), 2); + if(!world.isRemote) { + world.setBlockState(pos, state.withProperty(FACING, EnumFacing.getFacingFromVector((float)placer.getLookVec().x, (float)placer.getLookVec().y, (float)placer.getLookVec().z)).withProperty(PrimalAPI.States.ACTIVE, Boolean.valueOf(false)), 2); } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/NBTCrucible.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/NBTCrucible.java index 3784ae34..a94a9be9 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/NBTCrucible.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/NBTCrucible.java @@ -114,7 +114,7 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider { } } } - /**CLEARS THE INVENTORY**/ + /**CLEARS THE INVENTORY**/ if(hand.equals(MAIN_HAND)) { if (player.isSneaking()) { ItemStack pItem = player.inventory.getCurrentItem().copy(); @@ -138,7 +138,7 @@ public class NBTCrucible extends BlockContainer implements ITileEntityProvider { } } } - /**REMOVE COOKED ITEM**/ +/**REMOVE COOKED ITEM**/ if (player.isSneaking() == true) { if (hand.equals(MAIN_HAND)) { ItemStack pItem = player.inventory.getCurrentItem().copy(); diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java index 4f52bff4..28df46a2 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/machine/Forge.java @@ -29,6 +29,7 @@ import nmd.primal.forgecraft.ModInfo; import nmd.primal.forgecraft.blocks.CustomContainerFacing; import nmd.primal.forgecraft.tiles.TileForge; import nmd.primal.forgecraft.util.ForgeHandler; +import nmd.primal.forgecraft.util.SlotHelper; import javax.annotation.Nullable; import java.util.Random; @@ -42,7 +43,7 @@ import static nmd.primal.core.common.helper.FireHelper.makeSmoke; /** * Created by kitsu on 11/26/2016. */ -public class Forge extends CustomContainerFacing implements ITileEntityProvider, ForgeHandler{ +public class Forge extends CustomContainerFacing implements ITileEntityProvider, ForgeHandler, SlotHelper { private int maxHeat; //public static final PropertyBool PrimalAPI.States.ACTIVE = PropertyBool.create("PrimalAPI.States.ACTIVE"); @@ -97,7 +98,7 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider, ItemStack fuelItem = tile.getSlotStack(0); /*********************** - FUEL SLOT CODE + FUEL SLOT REMOVAL CODE ***********************/ if (!tile.getSlotStack(0).isEmpty()) { if (player.inventory.getCurrentItem().getItem() instanceof ItemSpade) { @@ -107,6 +108,10 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider, return true; } } + + /*********************** + TEMP PRINT OUT CODE + ***********************/ if (pItem.isEmpty()) { if (!player.isSneaking()) { if (world.getBlockState(pos).getValue(PrimalAPI.States.ACTIVE) == true) { @@ -119,6 +124,9 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider, } } } + /*********************** + Forge Activation Code + ***********************/ if ((FireSource.useSource(world, pos, facing, player, hand, pItem, hitX, hitY, hitZ))) { world.setBlockState(pos, state.withProperty(PrimalAPI.States.ACTIVE, true), 2); tile.setHeat(100); @@ -126,34 +134,49 @@ public class Forge extends CustomContainerFacing implements ITileEntityProvider, tile.updateBlock(); return true; } - if ((!pItem.isEmpty()) && tile.isItemValidForSlot(0, pItem)) { - if (!fuelItem.isEmpty()) { - if (pItem.getItem() == fuelItem.getItem()) { - if (fuelItem.getCount() < 64) { - if (fuelItem.getCount() + pItem.getCount() <= 64) { - fuelItem.grow(pItem.getCount()); - player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); - tile.markDirty(); - tile.updateBlock(); - return true; - } - if (fuelItem.getCount() + pItem.getCount() > 64) { - pItem.setCount(64 - pItem.getCount()); - fuelItem.setCount(64); - tile.markDirty(); - tile.updateBlock(); - return true; - } - } - } - } - if (fuelItem.isEmpty()) { - tile.setSlotStack(0, pItem); + + /*********************** + FUEL SLOT MANAGEMENT Code + ***********************/ + + /*********************** + FUEL SLOT IS EMPTYT + ***********************/ + if (tile.getSlotStack(0).isEmpty()) { + if(tile.isItemValidForSlot(0, player.inventory.getCurrentItem())) { + tile.setSlotStack(0, player.inventory.getCurrentItem()); player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); + tile.markDirty(); + tile.updateBlock(); return true; } } + /*********************** + FUEL SLOT HAS STUFF + ***********************/ + if(ItemStack.areItemsEqual(player.inventory.getCurrentItem(), tile.getSlotStack(0)) && !tile.getSlotStack(0).isEmpty()) { + if (tile.getSlotStack(0).getCount() < 64) { + if (tile.getSlotStack(0).getCount() + player.inventory.getCurrentItem().getCount() <= 64) { + tile.getSlotStack(0).grow(pItem.getCount()); + player.inventory.setInventorySlotContents(player.inventory.currentItem, ItemStack.EMPTY); + tile.markDirty(); + tile.updateBlock(); + return true; + } + if (tile.getSlotStack(0).getCount() + player.inventory.getCurrentItem().getCount() > 64) { + int count = 64 - tile.getSlotStack(0).getCount(); + tile.getSlotStack(0).grow(count); + pItem.shrink(count); + tile.markDirty(); + tile.updateBlock(); + return true; + } + } + } + + + if (facing == EnumFacing.UP) { doForgeInventoryManager(pItem, world, tile, pos, hitX, hitY, hitZ, state, player); return true; diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/WeaponGuard.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/WeaponGuard.java new file mode 100644 index 00000000..f3f1d11c --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/WeaponGuard.java @@ -0,0 +1,10 @@ +package nmd.primal.forgecraft.items.parts; + +import nmd.primal.forgecraft.items.BaseItem; + +public class WeaponGuard extends BaseItem { + + public WeaponGuard(String registryName) { + super(registryName); + } +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/items/parts/WeaponHandle.java b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/WeaponHandle.java new file mode 100644 index 00000000..077029cc --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/items/parts/WeaponHandle.java @@ -0,0 +1,10 @@ +package nmd.primal.forgecraft.items.parts; + +import nmd.primal.forgecraft.items.BaseItem; + +public class WeaponHandle extends BaseItem { + + public WeaponHandle(String registryName) { + super(registryName); + } +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/util/SlotHelper.java b/kfc/src/main/java/nmd/primal/forgecraft/util/SlotHelper.java new file mode 100644 index 00000000..4bfff90a --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/util/SlotHelper.java @@ -0,0 +1,27 @@ +package nmd.primal.forgecraft.util; + +import net.minecraft.item.ItemStack; + +public interface SlotHelper { + + default void doFuelSlotManagement(ItemStack tileSlot, ItemStack playerSlot){ + + + + /*** + * + * if fuelSlot is empty and playeritem is valid, set fuelSlot playerItem and clear player item + * + * if fuelSlot isn't empty and player item matches + * if fuelSLot + playerItem <= 64 set Fuelslot to fuelSlot.count plus playerItem.count and clear playerItem + * if fuelSlot + playeritem > 64 + * do 64 - fuelSlot + * add that to fuel slot + * decrment that from playerItem + * + * + */ + + } + +} diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/boneguard.json b/kfc/src/main/resources/assets/forgecraft/models/item/boneguard.json new file mode 100644 index 00000000..73319547 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/boneguard.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "forgecraft:items/boneguard" + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/models/item/bonehandle.json b/kfc/src/main/resources/assets/forgecraft/models/item/bonehandle.json new file mode 100644 index 00000000..2d9f8033 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/models/item/bonehandle.json @@ -0,0 +1,6 @@ +{ + "parent": "item/handheld", + "textures": { + "layer0": "forgecraft:items/bonehandle" + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/recipes/boneguard.json b/kfc/src/main/resources/assets/forgecraft/recipes/boneguard.json new file mode 100644 index 00000000..ea793736 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/recipes/boneguard.json @@ -0,0 +1,13 @@ +{ + "type": "forge:ore_shaped", + "group": "forgecraft.bonehandle", + "result": { "item": "forgecraft.bonehandle", "count": 2 }, + "pattern": [ + "T", + "B" + ], + "key": { + "T": { "type": "forge:ore_dict", "ore": "toolWorkBlade" }, + "B": { "type": "forge:ore_dict", "ore": "bone" } + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/recipes/bonehandle.json b/kfc/src/main/resources/assets/forgecraft/recipes/bonehandle.json new file mode 100644 index 00000000..ff147013 --- /dev/null +++ b/kfc/src/main/resources/assets/forgecraft/recipes/bonehandle.json @@ -0,0 +1,13 @@ +{ + "type": "forge:ore_shaped", + "group": "forgecraft.bonehandle", + "result": { "item": "forgecraft.bonehandle", "count": 2 }, + "pattern": [ + "T", + "B" + ], + "key": { + "T": { "type": "forge:ore_dict", "ore": "toolSaw" }, + "B": { "type": "forge:ore_dict", "ore": "bone" } + } +} \ No newline at end of file diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/boneguard.png b/kfc/src/main/resources/assets/forgecraft/textures/items/boneguard.png new file mode 100644 index 00000000..644d5878 Binary files /dev/null and b/kfc/src/main/resources/assets/forgecraft/textures/items/boneguard.png differ diff --git a/kfc/src/main/resources/assets/forgecraft/textures/items/bonehandle.png b/kfc/src/main/resources/assets/forgecraft/textures/items/bonehandle.png new file mode 100644 index 00000000..be199db1 Binary files /dev/null and b/kfc/src/main/resources/assets/forgecraft/textures/items/bonehandle.png differ diff --git a/kfc/src/main/resources/mcmod.info b/kfc/src/main/resources/mcmod.info index c7cb570d..f9f8747f 100644 --- a/kfc/src/main/resources/mcmod.info +++ b/kfc/src/main/resources/mcmod.info @@ -2,7 +2,7 @@ "modid": "forgecraft", "name": "Kitsu's Forgecraft", "description": "Forged with sweat and blood", - "version": "1.6.29", + "version": "1.6.30", "mcversion": "1.12.2", "url": "", "updateUrl": "",