From b7f3d0492930b79fe7eece3decc56e02cccae007 Mon Sep 17 00:00:00 2001 From: Mohammad-Ali Minaie Date: Thu, 18 Oct 2018 18:39:11 -0400 Subject: [PATCH] need saw and blade recipes to make weapon hilts and guards --- .../nmd/primal/forgecraft/blocks/Chisel.java | 2 +- .../blocks/fluids/BasicFluidBlockKFC.java | 27 ++ .../nmd/primal/forgecraft/init/ModFluids.java | 71 +++- .../init/recipes/CauldronRecipes.java | 12 +- .../renders/blocks/TileWorkbenchRender.java | 32 +- .../forgecraft/models/block/e_particle.png | Bin 0 -> 159 bytes .../forgecraft/models/block/e_texture.png | Bin 0 -> 141 bytes .../models/block/model_archery_stand.json | 165 ++++++++++ .../forgecraft/models/block/workbench.json | 86 +---- .../forgecraft/models/block/workbench2.json | 308 ++++++++++++++++++ .../models/item/rawcleanirongladius.json | 8 + .../models/item/rawcoppergladius.json | 8 + .../models/item/rawsteelgladius.json | 8 + .../models/item/rawwootzgladius.json | 8 + .../models/item/rawwroughtirongladius.json | 8 + 15 files changed, 623 insertions(+), 120 deletions(-) create mode 100644 kfc/src/main/java/nmd/primal/forgecraft/blocks/fluids/BasicFluidBlockKFC.java create mode 100644 kfc/src/main/resources/assets/forgecraft/models/block/e_particle.png create mode 100644 kfc/src/main/resources/assets/forgecraft/models/block/e_texture.png create mode 100644 kfc/src/main/resources/assets/forgecraft/models/block/model_archery_stand.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/block/workbench2.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/rawcleanirongladius.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/rawcoppergladius.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/rawsteelgladius.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/rawwootzgladius.json create mode 100644 kfc/src/main/resources/assets/forgecraft/models/item/rawwroughtirongladius.json 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 7908da40..2c3f9ce7 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/Chisel.java @@ -429,7 +429,7 @@ public class Chisel extends CustomFacing implements ToolMaterialMap { private void doDamaging(World world, BlockPos movePos, IBlockState state, EntityPlayer player){ if (!(state.getBlock().equals(Blocks.AIR))) { if(world.getBlockState(movePos).getBlock().blockHardness>0) { - world.sendBlockBreakProgress(player.getEntityId() + PrimalAPI.getRandom().nextInt(100), movePos, PrimalAPI.getRandom().nextInt(3,10)); + world.sendBlockBreakProgress(player.getEntityId() - PrimalAPI.getRandom().nextInt(100), movePos, PrimalAPI.getRandom().nextInt(3,10)); } } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/blocks/fluids/BasicFluidBlockKFC.java b/kfc/src/main/java/nmd/primal/forgecraft/blocks/fluids/BasicFluidBlockKFC.java new file mode 100644 index 00000000..79769d8e --- /dev/null +++ b/kfc/src/main/java/nmd/primal/forgecraft/blocks/fluids/BasicFluidBlockKFC.java @@ -0,0 +1,27 @@ +package nmd.primal.forgecraft.blocks.fluids; + +import net.minecraft.block.material.Material; +import net.minecraftforge.fluids.Fluid; +import nmd.primal.core.common.fluids.AbstractFluidBlock; +import nmd.primal.forgecraft.ModInfo; + +public class BasicFluidBlockKFC extends AbstractFluidBlock { + + + private boolean isSolidTexture; + private boolean isBurning; + + public BasicFluidBlockKFC(Fluid fluid, Material material, boolean isSolidTexture, boolean isBurning) + { + super(fluid, material); + this.isSolidTexture = isSolidTexture; + this.isBurning = isBurning; + } + + public BasicFluidBlockKFC(Fluid fluid, Material material) + { + this(fluid, material, false, false); + this.setCreativeTab(ModInfo.TAB_FORGECRAFT); + } + +} diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/ModFluids.java b/kfc/src/main/java/nmd/primal/forgecraft/init/ModFluids.java index 31742a63..4f6480de 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/ModFluids.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/ModFluids.java @@ -1,22 +1,77 @@ package nmd.primal.forgecraft.init; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; import net.minecraftforge.event.RegistryEvent; import net.minecraftforge.fluids.Fluid; +import net.minecraftforge.fluids.IFluidBlock; +import net.minecraftforge.fml.common.Mod; +import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.registries.IForgeRegistry; -import nmd.primal.core.api.PrimalAPI; -import nmd.primal.core.common.helper.RegistryHelper; +import nmd.primal.forgecraft.ModInfo; +import nmd.primal.forgecraft.blocks.fluids.BasicFluidBlockKFC; + +import java.util.HashSet; +import java.util.Set; +import java.util.function.Consumer; +import java.util.function.Function; + +import static nmd.primal.core.common.helper.RegistryHelper.registerFluidBlock; +import static nmd.primal.core.common.helper.RegistryHelper.registerFluidItems; public class ModFluids { - public static Fluid SILVER_WATER; + public static Fluid HOLY_WATER; - @SubscribeEvent - public static void registryFluidBlocks(final RegistryEvent.Register event){ - final IForgeRegistry registry = event.getRegistry(); - //RegistryHelper.registerFluidBlock(registry, - // ); + public static final Set FLUID_BLOCKS = new HashSet<>(); + + // ***************************************************************************** // + // Fluid Registration + // ***************************************************************************** // + @Mod.EventBusSubscriber(modid= ModInfo.MOD_ID) + public static class RegistrationHandler + { + /** + * Register this mod's fluid {@link Block}s. + * @param event The event + */ + @SubscribeEvent + public static void registryFluidBlocks(final RegistryEvent.Register event) + { + final IForgeRegistry registry = event.getRegistry(); + + registerFluidBlock(registry, + HOLY_WATER = createFluid("holy_water", 0xFFEDF1F5, true, + fluid -> fluid.setDensity(1000).setViscosity(1000).setTemperature(100).setLuminosity(5).setGaseous(false), + fluid -> new BasicFluidBlockKFC(fluid, Material.WATER))); + + } + + /** + * Register this mod's fluid {@link ItemBlock}s. + * @param event The event + */ + // Use EventPriority.LOWEST so this is called after the RegistryEvent.Register handler in ModBlocks where + // the ItemBlock for ModBlocks.FLUID_TANK is registered. + @SubscribeEvent(priority = EventPriority.LOWEST) + public static void registryFluidItems(final RegistryEvent.Register event) + { + final IForgeRegistry registry = event.getRegistry(); + + registerFluidItems(registry, FLUID_BLOCKS); + } + } + + + // ***************************************************************************** // + // Registry Overrides + // ***************************************************************************** // + private static Fluid createFluid(String name, int color, boolean hasFlowIcon, Consumer fluidPropertyApplier, Function blockFactory) + { + return nmd.primal.core.common.helper.RegistryHelper.createFluid(name, ModInfo.MOD_ID, FLUID_BLOCKS, color, hasFlowIcon, fluidPropertyApplier, blockFactory); } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java index 1a64fee1..95aa4e99 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/init/recipes/CauldronRecipes.java @@ -103,7 +103,7 @@ public class CauldronRecipes ItemStack.EMPTY).setRecipeName(ModInfo.MOD_ID, stack.getUnlocalizedName().toString().concat("fortune")); } - static CauldronRecipe genLeechRecipe(ItemStack stack) { + /*static CauldronRecipe genLeechRecipe(ItemStack stack) { return new CauldronRecipe( 5, new FluidStack(FluidRegistry.WATER, 1000), @@ -112,14 +112,7 @@ public class CauldronRecipes RecipeHelper.buildList(stack), stack, ItemStack.EMPTY).setRecipeName(ModInfo.MOD_ID, stack.getUnlocalizedName().toString().concat("leech")); - } - static void genRecipesForStack(ItemStack stack){ - genSmiteRecipe(stack); - genBaneRecipe(stack); - genFireRecipe(stack); - genFortuneRecipe(stack); - genLeechRecipe(stack); - } + }*/ static void genRecipesForList(List list, IForgeRegistry recipes){ for(ItemStack s : list){ @@ -127,7 +120,6 @@ public class CauldronRecipes recipes.register(genBaneRecipe(s)); recipes.register(genFireRecipe(s)); recipes.register(genFortuneRecipe(s)); - recipes.register(genLeechRecipe(s)); } } diff --git a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java index cdd99d51..24c51c91 100644 --- a/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java +++ b/kfc/src/main/java/nmd/primal/forgecraft/renders/blocks/TileWorkbenchRender.java @@ -86,7 +86,7 @@ public class TileWorkbenchRender extends TileEntitySpecialRenderer