
DarkKami101
Members-
Posts
13 -
Joined
-
Last visited
Converted
-
Gender
Undisclosed
-
Personal Text
I am new!
DarkKami101's Achievements

Tree Puncher (2/8)
0
Reputation
-
i did try to copy and paste the grass block code and rename things. but i keep getting this error.. package com.kami.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.IGrowable; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.util.IIcon; import net.minecraft.world.ColorizerGrass; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.kami.creativetabs.MCreativeTabs; public class Rgrass extends Block implements IGrowable { private static final Logger logger = LogManager.getLogger(); @SideOnly(Side.CLIENT) private IIcon field_149991_b; @SideOnly(Side.CLIENT) private IIcon field_149993_M; @SideOnly(Side.CLIENT) private IIcon field_149994_N; private static final String __OBFID = "CL_00000251"; protected Rgrass() { super(Material.grass); this.setTickRandomly(true); this.setCreativeTab(MCreativeTabs.tabBlock); } /** * Gets the block's texture. Args: side, meta */ @SideOnly(Side.CLIENT) public IIcon getIcon(int p_149691_1_, int p_149691_2_) { return p_149691_1_ == 1 ? this.field_149991_b : (p_149691_1_ == 0 ? MBlocks.Rdirt.getBlockTextureFromSide(p_149691_1_) : this.blockIcon); } /** * Ticks the block if it's been scheduled */ public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) { if (!p_149674_1_.isRemote) { if (p_149674_1_.getBlockLightValue(p_149674_2_, p_149674_3_ + 1, p_149674_4_) < 4 && p_149674_1_.getBlockLightOpacity(p_149674_2_, p_149674_3_ + 1, p_149674_4_) > 2) { p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, MBlocks.Rdirt); } else if (p_149674_1_.getBlockLightValue(p_149674_2_, p_149674_3_ + 1, p_149674_4_) >= 9) { for (int l = 0; l < 4; ++l) { int i1 = p_149674_2_ + p_149674_5_.nextInt(3) - 1; int j1 = p_149674_3_ + p_149674_5_.nextInt(5) - 3; int k1 = p_149674_4_ + p_149674_5_.nextInt(3) - 1; Block block = p_149674_1_.getBlock(i1, j1 + 1, k1); if (p_149674_1_.getBlock(i1, j1, k1) == MBlocks.Rdirt && p_149674_1_.getBlockMetadata(i1, j1, k1) == 0 && p_149674_1_.getBlockLightValue(i1, j1 + 1, k1) >= 4 && p_149674_1_.getBlockLightOpacity(i1, j1 + 1, k1) <= 2) { p_149674_1_.setBlock(i1, j1, k1, MBlocks.Rgrass); } } } } } public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return MBlocks.Rdirt.getItemDropped(0, p_149650_2_, p_149650_3_); } public boolean func_149851_a(World p_149851_1_, int p_149851_2_, int p_149851_3_, int p_149851_4_, boolean p_149851_5_) { return true; } public boolean func_149852_a(World p_149852_1_, Random p_149852_2_, int p_149852_3_, int p_149852_4_, int p_149852_5_) { return true; } @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess p_149673_1_, int p_149673_2_, int p_149673_3_, int p_149673_4_, int p_149673_5_) { if (p_149673_5_ == 1) { return this.field_149991_b; } else if (p_149673_5_ == 0) { return MBlocks.Rdirt.getBlockTextureFromSide(p_149673_5_); } else { Material material = p_149673_1_.getBlock(p_149673_2_, p_149673_3_ + 1, p_149673_4_).getMaterial(); return material != Material.snow && material != Material.craftedSnow ? this.blockIcon : this.field_149993_M; } } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister p_149651_1_) { this.blockIcon = p_149651_1_.registerIcon(this.getTextureName() + "_side"); this.field_149991_b = p_149651_1_.registerIcon(this.getTextureName() + "_top"); this.field_149993_M = p_149651_1_.registerIcon(this.getTextureName() + "_side_snowed"); this.field_149994_N = p_149651_1_.registerIcon(this.getTextureName() + "_side_overlay"); } @SideOnly(Side.CLIENT) public int getBlockColor() { double d0 = 0.5D; double d1 = 1.0D; return ColorizerGrass.getGrassColor(d0, d1); } /** * Returns the color this block should be rendered. Used by leaves. */ @SideOnly(Side.CLIENT) public int getRenderColor(int p_149741_1_) { return this.getBlockColor(); } /** * Returns a integer with hex for 0xrrggbb with this color multiplied against the blocks color. Note only called * when first determining what to render. */ @SideOnly(Side.CLIENT) public int colorMultiplier(IBlockAccess p_149720_1_, int p_149720_2_, int p_149720_3_, int p_149720_4_) { int l = 0; int i1 = 0; int j1 = 0; for (int k1 = -1; k1 <= 1; ++k1) { for (int l1 = -1; l1 <= 1; ++l1) { int i2 = p_149720_1_.getBiomeGenForCoords(p_149720_2_ + l1, p_149720_4_ + k1).getBiomeGrassColor(p_149720_2_ + l1, p_149720_3_, p_149720_4_ + k1); l += (i2 & 16711680) >> 16; i1 += (i2 & 65280) >> 8; j1 += i2 & 255; } } return (l / 9 & 255) << 16 | (i1 / 9 & 255) << 8 | j1 / 9 & 255; } @SideOnly(Side.CLIENT) public static IIcon getIconSideOverlay() return MBlocks.Rgrass.field_149994_N;[color=blue][ <------error. cannot be resolved or is not a field.] } public void func_149853_b(World p_149853_1_, Random p_149853_2_, int p_149853_3_, int p_149853_4_, int p_149853_5_) { int l = 0; while (l < 128) { int i1 = p_149853_3_; int j1 = p_149853_4_ + 1; int k1 = p_149853_5_; int l1 = 0; while (true) { if (l1 < l / 16) { i1 += p_149853_2_.nextInt(3) - 1; j1 += (p_149853_2_.nextInt(3) - 1) * p_149853_2_.nextInt(3) / 2; k1 += p_149853_2_.nextInt(3) - 1; if (p_149853_1_.getBlock(i1, j1 - 1, k1) == MBlocks.Rgrass && !p_149853_1_.getBlock(i1, j1, k1).isNormalCube()) { ++l1; continue; } } else if (p_149853_1_.getBlock(i1, j1, k1).getMaterial() == Material.air) { if (p_149853_2_.nextInt( != 0) { if (Blocks.tallgrass.canBlockStay(p_149853_1_, i1, j1, k1)) { p_149853_1_.setBlock(i1, j1, k1, Blocks.tallgrass, 1, 3); } } else { p_149853_1_.getBiomeGenForCoords(i1, k1).plantFlower(p_149853_1_, p_149853_2_, i1, j1, k1); } } ++l; break; } } } } sorry if i made any formating errors in this forum post. i'm new to forge forums.
-
tried that. getting this error: this cannot be used in static context
-
um. here's the thing.. i actually don't really know that much about java. (minimal understanding) i learned how to code specific blocks and items from youtube. so i have no idea what you mean by that. on a side note: i tried loading the game. it did not crashed. i placed the Reverse Grass block and for some odd reason it begun to transform into Reverse Dirt blocks.
-
Huh. it works! thanks!
-
i tried setting it to public. Still getting the same error.
-
are you sure? i tried that. it was only craftable in the location i programmed it to be in.
-
[quote name="LordMastodon" post="175093" timestamp="1440918552"] Perhaps try looking at how the grass block works... [/quote] i did try to copy and paste the grass block code and rename things. but i keep getting this error.. package com.kami.blocks; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.IGrowable; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.util.IIcon; import net.minecraft.world.ColorizerGrass; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.kami.creativetabs.MCreativeTabs; public class Rgrass extends Block implements IGrowable { private static final Logger logger = LogManager.getLogger(); @SideOnly(Side.CLIENT) private IIcon field_149991_b; @SideOnly(Side.CLIENT) private IIcon field_149993_M; @SideOnly(Side.CLIENT) private IIcon field_149994_N; private static final String __OBFID = "CL_00000251"; protected Rgrass() { super(Material.grass); this.setTickRandomly(true); this.setCreativeTab(MCreativeTabs.tabBlock); } /** * Gets the block's texture. Args: side, meta */ @SideOnly(Side.CLIENT) public IIcon getIcon(int p_149691_1_, int p_149691_2_) { return p_149691_1_ == 1 ? this.field_149991_b : (p_149691_1_ == 0 ? MBlocks.Rdirt.getBlockTextureFromSide(p_149691_1_) : this.blockIcon); } /** * Ticks the block if it's been scheduled */ public void updateTick(World p_149674_1_, int p_149674_2_, int p_149674_3_, int p_149674_4_, Random p_149674_5_) { if (!p_149674_1_.isRemote) { if (p_149674_1_.getBlockLightValue(p_149674_2_, p_149674_3_ + 1, p_149674_4_) < 4 && p_149674_1_.getBlockLightOpacity(p_149674_2_, p_149674_3_ + 1, p_149674_4_) > 2) { p_149674_1_.setBlock(p_149674_2_, p_149674_3_, p_149674_4_, MBlocks.Rdirt); } else if (p_149674_1_.getBlockLightValue(p_149674_2_, p_149674_3_ + 1, p_149674_4_) >= 9) { for (int l = 0; l < 4; ++l) { int i1 = p_149674_2_ + p_149674_5_.nextInt(3) - 1; int j1 = p_149674_3_ + p_149674_5_.nextInt(5) - 3; int k1 = p_149674_4_ + p_149674_5_.nextInt(3) - 1; Block block = p_149674_1_.getBlock(i1, j1 + 1, k1); if (p_149674_1_.getBlock(i1, j1, k1) == MBlocks.Rdirt && p_149674_1_.getBlockMetadata(i1, j1, k1) == 0 && p_149674_1_.getBlockLightValue(i1, j1 + 1, k1) >= 4 && p_149674_1_.getBlockLightOpacity(i1, j1 + 1, k1) <= 2) { p_149674_1_.setBlock(i1, j1, k1, MBlocks.Rgrass); } } } } } public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { return MBlocks.Rdirt.getItemDropped(0, p_149650_2_, p_149650_3_); } public boolean func_149851_a(World p_149851_1_, int p_149851_2_, int p_149851_3_, int p_149851_4_, boolean p_149851_5_) { return true; } public boolean func_149852_a(World p_149852_1_, Random p_149852_2_, int p_149852_3_, int p_149852_4_, int p_149852_5_) { return true; } @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess p_149673_1_, int p_149673_2_, int p_149673_3_, int p_149673_4_, int p_149673_5_) { if (p_149673_5_ == 1) { return this.field_149991_b; } else if (p_149673_5_ == 0) { return MBlocks.Rdirt.getBlockTextureFromSide(p_149673_5_); } else { Material material = p_149673_1_.getBlock(p_149673_2_, p_149673_3_ + 1, p_149673_4_).getMaterial(); return material != Material.snow && material != Material.craftedSnow ? this.blockIcon : this.field_149993_M; } } @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister p_149651_1_) { this.blockIcon = p_149651_1_.registerIcon(this.getTextureName() + "_side"); this.field_149991_b = p_149651_1_.registerIcon(this.getTextureName() + "_top"); this.field_149993_M = p_149651_1_.registerIcon(this.getTextureName() + "_side_snowed"); this.field_149994_N = p_149651_1_.registerIcon(this.getTextureName() + "_side_overlay"); } @SideOnly(Side.CLIENT) public int getBlockColor() { double d0 = 0.5D; double d1 = 1.0D; return ColorizerGrass.getGrassColor(d0, d1); } /** * Returns the color this block should be rendered. Used by leaves. */ @SideOnly(Side.CLIENT) public int getRenderColor(int p_149741_1_) { return this.getBlockColor(); } /** * Returns a integer with hex for 0xrrggbb with this color multiplied against the blocks color. Note only called * when first determining what to render. */ @SideOnly(Side.CLIENT) public int colorMultiplier(IBlockAccess p_149720_1_, int p_149720_2_, int p_149720_3_, int p_149720_4_) { int l = 0; int i1 = 0; int j1 = 0; for (int k1 = -1; k1 <= 1; ++k1) { for (int l1 = -1; l1 <= 1; ++l1) { int i2 = p_149720_1_.getBiomeGenForCoords(p_149720_2_ + l1, p_149720_4_ + k1).getBiomeGrassColor(p_149720_2_ + l1, p_149720_3_, p_149720_4_ + k1); l += (i2 & 16711680) >> 16; i1 += (i2 & 65280) >> 8; j1 += i2 & 255; } } return (l / 9 & 255) << 16 | (i1 / 9 & 255) << 8 | j1 / 9 & 255; } @SideOnly(Side.CLIENT) public static IIcon getIconSideOverlay() return MBlocks.Rgrass.field_149994_N;[color=blue][ <------error. cannot be resolved or is not a field.] } public void func_149853_b(World p_149853_1_, Random p_149853_2_, int p_149853_3_, int p_149853_4_, int p_149853_5_) { int l = 0; while (l < 128) { int i1 = p_149853_3_; int j1 = p_149853_4_ + 1; int k1 = p_149853_5_; int l1 = 0; while (true) { if (l1 < l / 16) { i1 += p_149853_2_.nextInt(3) - 1; j1 += (p_149853_2_.nextInt(3) - 1) * p_149853_2_.nextInt(3) / 2; k1 += p_149853_2_.nextInt(3) - 1; if (p_149853_1_.getBlock(i1, j1 - 1, k1) == MBlocks.Rgrass && !p_149853_1_.getBlock(i1, j1, k1).isNormalCube()) { ++l1; continue; } } else if (p_149853_1_.getBlock(i1, j1, k1).getMaterial() == Material.air) { if (p_149853_2_.nextInt( != 0) { if (Blocks.tallgrass.canBlockStay(p_149853_1_, i1, j1, k1)) { p_149853_1_.setBlock(i1, j1, k1, Blocks.tallgrass, 1, 3); } } else { p_149853_1_.getBiomeGenForCoords(i1, k1).plantFlower(p_149853_1_, p_149853_2_, i1, j1, k1); } } ++l; break; } } } } sorry if i made any formating errors in this forum post. i'm new to forge forums.
-
Kind of. i want it to be the like the sticks recipe without having to code in every possible location for the materials (top left bottom left etc.)
-
Yeah, that's it.
-
This is not a crafting recipe. oops. Wrong code here's the right one GameRegistry.addShapelessRecipe(new ItemStack (MItems.obRod, 4), new Object []{Blocks.obsidian,Blocks.obsidian} ); sorry!
-
i'm a newbie at modding. So far, i have made simple blocks and items. I have not even coded in a single mob (i am trying to create a biome though). I want to make a biome in the end. But i don't know how to make a grass block for said biome. Does anyone know how to code in a custom Grass Block?
-
is there a way to craft a recipe like the sticks. without having to code each and every possible location for the materials? i tried this code: obRod = new obRod().setUnlocalizedName("obRod").setCreativeTab(MCreativeTabs.tabmaterials).setTextureName(RefStrings.MODID + ":obRod"); for a "obsidian rod" recipe. but i want it so that it can only made if the 2 obsidian are placed vertically. (right now. it can be made regardless of the location of the obsidian)
-
i've tried setting the ore harvest level. but it's still instantly breakable by anything. here's the code for the blocks. package com.kami.blocks; import com.kami.creativetabs.MCreativeTabs; import com.kami.lib.RefStrings; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.common.MinecraftForge; import scala.collection.immutable.Set; public class MBlocks { public static void mainRegistry() { initializeBlock(); registerItem(); } public static Block WickOre; public static Block Wickblock; public static Block negative; public static void initializeBlock(){ WickOre = new WickOre (Material.ground).setBlockName("WickOre").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":Wickore");WickOre.setHarvestLevel("pickaxe", 2); Wickblock = new wickblock (Material.ground).setBlockName("wickblock").setCreativeTab(MCreativeTabs.tabBlock).setBlockTextureName(RefStrings.MODID + ":Wickblock");Wickblock.setHarvestLevel("pickaxe", 2); negative = new negative (Material.ground).setBlockName("negative").setCreativeTab(MCreativeTabs.tabBlock); } public static void registerItem(){ GameRegistry.registerBlock(WickOre, WickOre.getUnlocalizedName()); GameRegistry.registerBlock(Wickblock, Wickblock.getUnlocalizedName()); GameRegistry.registerBlock(negative, negative.getUnlocalizedName()); } } i'm not really a "coder". all i did was watch mchewy tutorials. i have a very small understanding of coding.