• 1

    posted a message on Simply Paths - The Mod That Adds Paths
    Oh and that reminds me. I'm going to add a config option to disable conveyors for you guys who don't want them.
    Posted in: Minecraft Mods
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    That'd be great. I really appreciate all and any help.
    Posted in: Minecraft Mods
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    1.0.5c is out. Very small bugfix. Thanks to Manucraft for his spotlight, otherwise I wouldn't have found it!



    - Fixed Podzol turning into Dirt Path
    Posted in: Minecraft Mods
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    1.0.5b is out! Adds a few features and some bug fixes.

    - Fixed Crash Upon putting a Non-Living Entity on a Conveyor Ramp
    - Improved Visuals of Conveyor Ramp
    - Added Conveyor Wrench for toggling Ramps between going Down and Up
    Posted in: Minecraft Mods
  • 0

    posted a message on Items bounce on Custom Stairs
    I realize this is a vanilla bug, but since items bounce on stairs I can't do this feature I'm wanting to implement. Is there possibly any way to fix this bug in my instances of BlockStairs? Thanks!
    Posted in: Modification Development
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    1.0.5 is out! Lots of goodies for you guys to use!



    - Added Conveyor Ramps [basically Stairs]

    - Added 3 New Asphault Variants for Roads

    - Added Config Option to Enable the Path Chisel [Allows you to make any blocks into available paths]

    - Removed Duplicate Textures and improved Usage of Textures
    Posted in: Minecraft Mods
  • 0

    posted a message on Custom Stairs won't work correctly with onEntityCollidedWithBlock
    My stair block basically is a conveyor and to make the player move I'm using onEntityCollidedWithBlock. While this works on the bottom step it doesn't work on the top step because wherever you want it to work has to be smaller than one block [aka you have to be /inside/ the block]. I've tried setBlockBounds but it only sets the render of the block bounds and not the collision and getCollisionBoundingBoxFromPool to make the collision box 0.01 smaller to where it would work which basically made it act like a full block instead of stairs due to the way collision is set on stairs.

    I'm not entirely sure what to do at this point, and if there are any alternate methods I could use or something [preferably not TileEntity, but if it is required I will do so] I'd be really grateful. Thanks a lot!
    Posted in: Modification Development
  • 0

    posted a message on Custom Slab won't place on top part of block
    I've been working on a mod for a bit and I've made a custom slab but it won't seem to place on the top of a block and only the bottom unlike a normal slab.



    Here is my slab code:





    package com.momnop.simplypaths.blocks;

    import java.util.List;

    import net.minecraft.block.BlockSlab;
    import net.minecraft.block.material.Material;
    import net.minecraft.client.renderer.texture.IIconRegister;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityLivingBase;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemStack;
    import net.minecraft.util.AxisAlignedBB;
    import net.minecraft.util.IIcon;
    import net.minecraft.util.MathHelper;
    import net.minecraft.util.MovingObjectPosition;
    import net.minecraft.world.IBlockAccess;
    import net.minecraft.world.World;

    import com.momnop.simplypaths.SimplyPathsCreativeTab;
    import com.momnop.simplypaths.info.ModInfo;

    import cpw.mods.fml.relauncher.Side;
    import cpw.mods.fml.relauncher.SideOnly;

    public class BlockMovingFastestSlabPath extends BlockSlab {

    @SideOnly(Side.CLIENT)
    private IIcon pathTop0;
    @SideOnly(Side.CLIENT)
    private IIcon pathTop1;
    @SideOnly(Side.CLIENT)
    private IIcon pathTop2;
    @SideOnly(Side.CLIENT)
    private IIcon pathTop3;

    public BlockMovingFastestSlabPath(Material material,
    String unlocalizedName, String soundType, float hardness,
    int harvestLevel, String toolType, boolean doubleSlab) {
    super(doubleSlab, material);
    setCreativeTab(SimplyPathsCreativeTab.INSTANCE);
    setLightOpacity(255);
    setHardness(hardness);
    setHarvestLevel(toolType, harvestLevel);
    setBlockName(unlocalizedName);
    useNeighborBrightness = true;

    if (soundType == "gravel") {
    setStepSound(soundTypeGravel);
    } else if (soundType == "stone") {
    setStepSound(soundTypeStone);
    } else if (soundType == "wool") {
    setStepSound(soundTypeCloth);
    } else if (soundType == "glass") {
    setStepSound(soundTypeGlass);
    } else if (soundType == "grass") {
    setStepSound(soundTypeGrass);
    } else if (soundType == "anvil") {
    setStepSound(soundTypeAnvil);
    } else if (soundType == "ladder") {
    setStepSound(soundTypeLadder);
    } else if (soundType == "metal") {
    setStepSound(soundTypeMetal);
    } else if (soundType == "piston") {
    setStepSound(soundTypePiston);
    } else if (soundType == "wood") {
    setStepSound(soundTypeWood);
    } else if (soundType == "sand") {
    setStepSound(soundTypeSand);
    } else if (soundType == "snow") {
    setStepSound(soundTypeSnow);
    } else {

    }
    }

    @Override
    public boolean isOpaqueCube() {
    return false;
    }

    @SideOnly(Side.CLIENT)
    public Item getItem(World wrld, int x, int y, int z) {
    return Item
    .getItemFromBlock(SimplyPathsBlocks.blockFastestMovingSlabPath);
    }

    /**
    * Gets the block's texture. Args: side, meta
    */
    @SideOnly(Side.CLIENT)
    @Override
    public IIcon getIcon(int side, int meta) {
    if (meta == 0 && side == 1)
    return pathTop0;
    if (meta == 1 && side == 1)
    return pathTop1;
    if (meta == 2 && side == 1)
    return pathTop2;
    if (meta == 3 && side == 1)
    return pathTop3;
    return blockIcon;
    }

    @SideOnly(Side.CLIENT)
    public void registerBlockIcons(IIconRegister register) {
    this.blockIcon = register.registerIcon("diamond_block");
    this.pathTop0 = register.registerIcon(ModInfo.MODID + ":"
    + "conveyorPath" + "_top0");
    this.pathTop1 = register.registerIcon(ModInfo.MODID + ":"
    + "conveyorPath" + "_top1");
    this.pathTop2 = register.registerIcon(ModInfo.MODID + ":"
    + "conveyorPath" + "_top2");
    this.pathTop3 = register.registerIcon(ModInfo.MODID + ":"
    + "conveyorPath" + "_top3");
    }

    @Override
    public void onEntityCollidedWithBlock(World world, int x, int y, int z,
    Entity entity) {
    Entity p = entity;
    if (world.getBlockMetadata(x, y, z) == 0) {
    p.motionZ += -0.65F;
    if (p.motionZ < -0.65F) {
    p.motionZ = -0.65F;
    }
    } else if (world.getBlockMetadata(x, y, z) == 1) {
    p.motionX += 0.65F;
    if (p.motionX > 0.65F) {
    p.motionX = 0.65F;
    }
    } else if (world.getBlockMetadata(x, y, z) == 2) {
    p.motionZ += 0.65F;
    if (p.motionZ > 0.65F) {
    p.motionZ = 0.65F;
    }
    } else if (world.getBlockMetadata(x, y, z) == 3) {
    p.motionX += -0.65F;
    if (p.motionX < -0.65F) {
    p.motionX = -0.65F;
    }
    }
    }

    @Override
    public void onBlockPlacedBy(World par1World, int par2, int par3, int par4,
    EntityLivingBase par5EntityLiving, ItemStack par6ItemStack) {
    int l = MathHelper
    .floor_double((double) (par5EntityLiving.rotationYaw * 4.0F / 360.0F) + 2.5D) & 3;
    par1World.setBlockMetadataWithNotify(par2, par3, par4, l, 2);
    }

    @Override
    public String func_150002_b(int var1) {
    return super.getUnlocalizedName();
    }

    /**
    * Updates the blocks bounds based on its current state. Args: world, x, y,
    * z
    */
    public void setBlockBoundsBasedOnState(IBlockAccess p_149719_1_,
    int p_149719_2_, int p_149719_3_, int p_149719_4_) {
    if (this.field_150004_a) {
    this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
    } else {
    boolean flag = (p_149719_1_.getBlockMetadata(p_149719_2_,
    p_149719_3_, p_149719_4_) & 8) != 0;

    if (flag) {
    this.setBlockBounds(0.0F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F);
    } else {
    this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
    }
    }
    }

    /**
    * Sets the block's bounds for rendering it as an item
    */
    public void setBlockBoundsForItemRender() {
    if (this.field_150004_a) {
    this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
    } else {
    this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 0.5F, 1.0F);
    }
    }

    /**
    * Adds all intersecting collision boxes to a list. (Be sure to only add
    * boxes to the list if they intersect the mask.) Parameters: World, X, Y,
    * Z, mask, list, colliding entity
    */
    public void addCollisionBoxesToList(World p_149743_1_, int p_149743_2_,
    int p_149743_3_, int p_149743_4_, AxisAlignedBB p_149743_5_,
    List p_149743_6_, Entity p_149743_7_) {
    this.setBlockBoundsBasedOnState(p_149743_1_, p_149743_2_, p_149743_3_,
    p_149743_4_);
    super.addCollisionBoxesToList(p_149743_1_, p_149743_2_, p_149743_3_,
    p_149743_4_, p_149743_5_, p_149743_6_, p_149743_7_);
    }
    }




    If any of you happen to have any idea why this is so, please help! Thanks!
    Posted in: Modification Development
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    It's come to my awareness that the conveyor paths animation isn't very well made. If any of you would like to create new textures you can find the texture files at my GitHub at http://github.com/momnop/Simply-Paths/
    Posted in: Minecraft Mods
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    Quote from AlienXtream»
    is there a way to make the paths "favored" by pathfinding? like for example if i had a village the squidwards would prefer to traverse these paths even if there is a shorter route? i doubt there would without some major base edits as i cant think of a reason it would be in forge but would be cool if implemented :)

    I mean I guess it could be done, but it'd require some heavy ASM and work on my part. I'm going to look into replacing village paths with either gravel path or worn path however.
    Posted in: Minecraft Mods
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    Hotfix 1.0.4b is now out! Fixes issue with placement being funky on Conveyer Paths. Go get it!
    Posted in: Minecraft Mods
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths
    1.0.4 is out! Conveyer Paths, Code Cleaning, and... well thats about it. Go check it out!
    Posted in: Minecraft Mods
  • 0

    posted a message on Simply Paths - The Mod That Adds Paths

    could you possibaly add a config for recipes?? instead of the right-click method? i use Ancient Warfare, and i like the idea of my NPCs collecting the resources and then autocrafting the road blocks

    I possibly could but the main point of this mod was to get the paths via a tool of some type. I'll consider this.
    Posted in: Minecraft Mods
  • 1

    posted a message on Simply Paths - The Mod That Adds Paths
    Quote from Sygmarr»
    Really cool, I have to love great small feature mods like these, they really add to the atmosphere in your game. I do see an issue with mod compatibility however, considering that many different mods have a function built into right clicking on something with a tool. Perhaps you could add a config option that adds a tool that specifically does create a path like a tamp




    If you really wanted to take this idea further you could create a tier of the tamp that changes which blocks you can path depending on the material. For instance a wooden/stone tamp can only do natural materials like dirt or sand while an iron tamp can path hard materials like stone brick and metals. Either way a simple item would do a great deal to prevent any future mod compatibility issues with that mechanic.

    I noticed the fact that some mods do have functions on right-click [for instance this basically breaks Shovel of the Earthmover in Thaumcraft which I'll be blacklisting through the Thaumcraft API] and I will most likely add a config option to enable something atone to this. Thanks for the help. Glad you enjoy the mod!

    And for all you other people I'm working on something similar to a conveyer belt for players [it can do basically any entity though].
    Posted in: Minecraft Mods
  • 2

    posted a message on Simply Paths - The Mod That Adds Paths
    does the paths support NPCs and other mobs?

    Yup works on any NPCs, mobs, basically any entities!
    Posted in: Minecraft Mods
  • To post a comment, please .