diff --git a/src/main/java/vazkii/botania/common/block/ModBlocks.java b/src/main/java/vazkii/botania/common/block/ModBlocks.java index 3dc05081a..539361c68 100644 --- a/src/main/java/vazkii/botania/common/block/ModBlocks.java +++ b/src/main/java/vazkii/botania/common/block/ModBlocks.java @@ -22,6 +22,7 @@ import vazkii.botania.api.BotaniaAPI; import vazkii.botania.client.lib.LibResources; import vazkii.botania.common.block.decor.BlockBuriedPetals; import vazkii.botania.common.block.decor.BlockCustomBrick; +import vazkii.botania.common.block.decor.BlockDirtPath; import vazkii.botania.common.block.decor.BlockElfGlass; import vazkii.botania.common.block.decor.BlockFloatingFlower; import vazkii.botania.common.block.decor.BlockManaBeacon; @@ -220,6 +221,7 @@ public final class ModBlocks { public static Block floatingSpecialFlower; public static Block manaFlame; public static Block prism; + public static Block dirtPath; public static Block livingwoodStairs; public static Block livingwoodSlab; @@ -350,6 +352,7 @@ public final class ModBlocks { floatingSpecialFlower = new BlockFloatingSpecialFlower(); manaFlame = new BlockManaFlame(); prism = new BlockPrism(); + dirtPath = new BlockDirtPath(); livingwoodStairs = new BlockLivingwoodStairs(); livingwoodSlab = new BlockLivingwoodSlab(false); diff --git a/src/main/java/vazkii/botania/common/block/decor/BlockDirtPath.java b/src/main/java/vazkii/botania/common/block/decor/BlockDirtPath.java new file mode 100644 index 000000000..f89dfbbca --- /dev/null +++ b/src/main/java/vazkii/botania/common/block/decor/BlockDirtPath.java @@ -0,0 +1,70 @@ +/** + * This class was created by . It's distributed as + * part of the Botania Mod. Get the Source Code in github: + * https://github.com/Vazkii/Botania + * + * Botania is Open Source and distributed under a + * Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License + * (http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en_GB) + * + * File Created @ [Jan 18, 2015, 1:47:03 AM (GMT)] + */ +package vazkii.botania.common.block.decor; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.EnumPlantType; +import net.minecraftforge.common.IPlantable; +import net.minecraftforge.common.util.ForgeDirection; +import vazkii.botania.common.block.BlockMod; +import vazkii.botania.common.lib.LibBlockNames; + +public class BlockDirtPath extends BlockMod { + + public BlockDirtPath() { + super(Material.ground); + setBlockBounds(0F, 0F, 0F, 1F, 15F / 16F, 1F); + setLightOpacity(255); + setHardness(0.6F); + setStepSound(soundTypeGravel); + setBlockName(LibBlockNames.DIRT_PATH); + useNeighborBrightness = true; + } + + @Override + public void onEntityWalking(World world, int x, int y, int z, Entity entity) { + float speed = 2F; + float max = 0.4F; + + double motionX = Math.abs(entity.motionX); + double motionZ = Math.abs(entity.motionZ); + if(motionX < max) + entity.motionX *= speed; + if(motionZ < max) + entity.motionZ *= speed; + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return AxisAlignedBB.getBoundingBox(x, y, z, x + 1, y + 1, z + 1); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @Override + public boolean canSustainPlant(IBlockAccess world, int x, int y, int z, ForgeDirection direction, IPlantable plantable) { + return plantable.getPlantType(world, x, y - 1, z) == EnumPlantType.Plains; + } + +} diff --git a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java index f58642ef8..66f51eab5 100644 --- a/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java +++ b/src/main/java/vazkii/botania/common/core/BotaniaCreativeTab.java @@ -129,10 +129,12 @@ public final class BotaniaCreativeTab extends CreativeTabs { addBlock(ModBlocks.manaBeacon); addItem(ModItems.signalFlare); + addBlock(ModBlocks.dirtPath); + addBlock(ModBlocks.dreamwood); addBlock(ModBlocks.manaGlass); addBlock(ModBlocks.elfGlass); - + addBlock(ModBlocks.prismarine); addBlock(ModBlocks.seaLamp); addBlock(ModBlocks.prismarineStairs); diff --git a/src/main/java/vazkii/botania/common/lib/LibBlockNames.java b/src/main/java/vazkii/botania/common/lib/LibBlockNames.java index 62cf32226..977af506b 100644 --- a/src/main/java/vazkii/botania/common/lib/LibBlockNames.java +++ b/src/main/java/vazkii/botania/common/lib/LibBlockNames.java @@ -11,7 +11,6 @@ */ package vazkii.botania.common.lib; - public final class LibBlockNames { public static final String FLOWER = "flower"; @@ -69,6 +68,7 @@ public final class LibBlockNames { public static final String FLOATING_SPECIAL_FLOWER = "floatingSpecialFlower"; public static final String MANA_FLAME = "manaFlame"; public static final String PRISM = "prism"; + public static final String DIRT_PATH = "dirtPath"; public static final String SUBTILE_PUREDAISY = "puredaisy"; public static final String SUBTILE_MANASTAR = "manastar"; diff --git a/src/main/resources/assets/botania/lang/en_US.lang b/src/main/resources/assets/botania/lang/en_US.lang index 37e5156ae..5d714ac55 100644 --- a/src/main/resources/assets/botania/lang/en_US.lang +++ b/src/main/resources/assets/botania/lang/en_US.lang @@ -507,6 +507,7 @@ tile.botania:redStringComparator.name=Red Stringed Comparator tile.botania:redStringRelay.name=Red Stringed Spoofer tile.botania:manaFlame.name=Mana Flash tile.botania:prism.name=Mana Prism +tile.botania:dirtPath.name=Trodden Dirt # FLOWER NAMES tile.botania:flower..name=Botania Flower diff --git a/src/main/resources/assets/botania/textures/blocks/dirtPath.png b/src/main/resources/assets/botania/textures/blocks/dirtPath.png new file mode 100644 index 000000000..374a3fff6 Binary files /dev/null and b/src/main/resources/assets/botania/textures/blocks/dirtPath.png differ