• 0

    posted a message on [Tutorial]Multiple Blocks on Same ID
    Quote from JaydenBadBoii

    How would you provide the textures for the blocks then?
    Give me an example? :smile.gif:


    Do you read? YOU USE MODLOADER!!!!! YOU ADD AN OVERRIDE!!!!! Almost every modded on here know that mod loader allows you to override an ID to use a specified image. Each image could be its own file. wow...
    Posted in: Tutorials
  • 0

    posted a message on [Tutorial]Multiple Blocks on Same ID
    Quote from ARavinMadMonkey

    No there is not. Each block can only have a maximum of 15 damage values, for example 35-15, And there is still the block limit as minecraft runs out of sprites, look at my ColourCraft mod, that causes minecraft to crash because of the limit.


    As seeing this is not damage, you can set the blocktype to anywhere between 0 to the limit if the type Integer, meaning a lot mooe than 15. the sprite images you will probably run out of, that's why you'd use mod loader and addOverride().

    Quote from havvy

    The sprite limit can be overcame actually. A couple of nice mods (InfiniteSprites, Extended Blocks, MC Forge) actually do this in 1.7.3.


    Yes, and this doesn't even use damage, it uses something similar to damage, sort of like a custom damage system.
    Posted in: Tutorials
  • 0

    posted a message on [Tutorial]Multiple Blocks on Same ID
    I sort of need the code to know how to help.

    Edit, try to cast your block to IronOre or change the return type of setBlockType() to IronOre instead of Block.
    Posted in: Tutorials
  • 0

    posted a message on [Tutorial]Multiple Blocks on Same ID
    Quote from Lordmau5

    AWESOME ^^

    5 of 5 Diamonds ;D


    Glad you like it. It was a fairly fast tutorial to make surprisingly to me.
    Posted in: Tutorials
  • 0

    posted a message on [Tutorial]Multiple Blocks on Same ID
    Here is the thing. After this you can have like 2 different variables:

    one for type of block (ore, ground, instantmineable, etc)
    and then one for the blocks

    Ores (0) : (0)Emerald - (1)Ruby - (2)Athenium - (3)Dethenium
    Ground (1) : (0)Leaf Pile - (1)Wet Sand - (2)Mulch
    Instant Mineable (2) : (0)Fancy Tile - (1)Glow Dust

    Those are only examples, but imagine what you can do.
    Posted in: Tutorials
  • 0

    posted a message on [Tutorial]Multiple Blocks on Same ID
    Quote from vexx32

    Wow. There goes most item/block conflicts. With this method, each entire mod could just use one single ID for their entire set of blocks or items... With this, there literally is an unlimited number of blockIDs (sorta). Kudos!


    You can thank the person who requested this tutorial. Dusldin(Lordmau5)
    Posted in: Tutorials
  • 6

    posted a message on [Tutorial]Multiple Blocks on Same ID
    Works for items too.

    Someone asked how to make more than one block on the same ID. It is possible, it uses one class that stores a variable. this variable will work similar to damage for wool and etc.

    this tutorial is not made to show you how to make a block or how to install or use MCP.

    To start make a new class the extends Block

    package net.minecraft.src;
    
    public class Blocktester extends Block{
    
    	protected Blocktester(int i, Material material) {
    		if(Block.blocksList[i]!=null){
    			Block.blocksList[i]=null;
    		}
    		super(i, material);
    		blockIndexInTexture = -1;//We will not ever use the texture index
    		
    	}	
    }


    Now that we have a block class we can start adding the content into it.

    package net.minecraft.src;
    
    public class BlockTester extends Block{
    
    	protected BlockTester(int i, Material material) {
    		if(Block.blocksList[i]!=null){
    			Block.blocksList[i]=null;
    		}
    		super(i, material);
    		blockIndexInTexture = -1;//We will not ever use the texture index
    		blocktype = 1;//set it to 1 by default
    	}
    	
    	public BlockTester setBlockType(int i){
    		blocktype = i;
    		return this;
    	}
    
    	public int blocktype;
    }


    What we did, we made a method that sets a variable called blocktype to a number that is input. We will use this number later to choose different actions, consider blocktype to be an alternate block id.

    To add our first method to show how to use the blocktype variable we will get a texture based off of the blocktype.

    package net.minecraft.src;
    
    public class BlockTester extends Block{
    
    	protected BlockTester(int i, Material material) {
    		if(Block.blocksList[i]!=null){
    			Block.blocksList[i]=null;
    		}
    		super(i, material);
    		blockIndexInTexture = -1;//We will not ever use the texture index
    		blocktype = 1;//set it to 1 by default
    	}
    	
    	public BlockTester setBlockType(int i){
    		blocktype = i;
    		return this;
    	}
    	
    	public int getBlockTextureFromSide(int i){
    		
    		//Based on the blocktype, return a different texture index
    		//You decide what number is equal to what block
    		//for example:
    		//
    		// 0 = WetStone
    		// 1 = DeadGrass
    		// 2 = GraniteOre
    		//
    		//We are ignoring the side variable for now, but you can use it
    		//like you normally would.
    		
    		if(blocktype==0){
    			return 110;
    		}
    		if(blocktype==1){
    			return 111;
    		}
    		if(blocktype==2){
    			return 112;
    		}
    		return blocktype;
    	}
    	public int blocktype;
    }


    take a closer look:

    if(blocktype==0){
    	return 110;
    }
    if(blocktype==1){
    	return 111;
    }
    if(blocktype==2){
    	return 112;
    }


    If the blocktype is set to 0, then return a number that is the texture index you want for that block. It is helpful to first decide what number you want each block to be, adding annotations can help you remember.

    Now that we have the idea behind it done we can make more content. Almost everything that is different about the blocks has to be overridden in this class and using if statements.

    package net.minecraft.src;
    
    public class BlockTester extends Block{
    
    	protected BlockTester(int i, Material material) {
    		if(Block.blocksList[i]!=null){
    			Block.blocksList[i]=null;
    		}
    		super(i, material);
    		blockIndexInTexture = -1;//We will not ever use the texture index
    		blocktype = 1;//set it to 1 by default
    		
    	}
    	
    	public BlockTester setBlockType(int i){
    		blocktype = i;
    		return this;
    	}
    	
    	public int getBlockTextureFromSide(int i){
    		
    		//Based on the blocktype, return a different texture index
    		//You decide what number is equal to what block
    		//for example:
    		//
    		// 0 = WetStone
    		// 1 = DeadGrass
    		// 2 = GraniteOre
    		//
    		//We are ignoring the side variable for now, but you can use it
    		//like you normally would.
    		
    		if(blocktype==0){
    			return 110;
    		}
    		if(blocktype==1){
    			return 111;
    		}
    		if(blocktype==2){
    			return 112;
    		}
    		return blocktype;
    	}
    	
    	public int idDropped(int i, Random r){
    		if(blocktype==2){
    			return 375;
    		}
    		return blockID;
    	}
    	public int blocktype;
    	
    }


    now using the same method of if statements we returned different Item IDs, Items can be done the same way. the hard part is integrating a method to get the blocktype so when the block drops it drops the right id, there are several ways you can do it, but I will not go over them. Examples are you can find the method that calls "idDropped()" and have it call another method if the block class is instanceof BlockTest. of you could return a negative or non existent number and have a check for that before dropping, then after making the block item set it's blocktype with setBlocktype(int i);

    The next feature is how much of the item to drop, for example in this, we want wetstone to only drop one, and same with dead grass, however let's make granite ore drop randomly 1, 2 or 3 pieces.

    package net.minecraft.src;
    
    import java.util.Random;
    
    public class BlockTester extends Block{
    
    	protected BlockTester(int i, Material material) {
    		if(Block.blocksList[i]!=null){
    			Block.blocksList[i]=null;
    		}
    		super(i, material);
    		blockIndexInTexture = -1;//We will not ever use the texture index
    		
    	}
    	
    	public BlockTester setBlockType(int i){
    		blocktype = i;
    		return this;
    	}
    	
    	public int getBlockTextureFromSide(int i){
    		
    		//Based on the blocktype, return a different texture index
    		//You decide what number is equal to what block
    		//for example:
    		//
    		// 0 = WetStone
    		// 1 = DeadGrass
    		// 2 = GraniteOre
    		//
    		//We are ignoring the side variable for now, but you can use it
    		//like you normally would.
    		
    		if(blocktype==0){
    			return 110;
    		}
    		if(blocktype==1){
    			return 111;
    		}
    		if(blocktype==2){
    			return 112;
    		}
    		return blocktype;
    	}
    	
    	public int idDropped(int i, Random r){
    		if(blocktype==0){
    			return 110;
    		}
    		if(blocktype==1){
    			return 111;
    		}
    		if(blocktype==2){
    			return 375;
    		}
    		return 1;
    	}
    	
    	public int amountDropped(int i, Random r){
    		if(blocktype==2){
    			return r.nextInt(3)+1;//drop randomly 1, 2 or 3
    		}
    		return 1;
    	}
    	public int blocktype;
    	
    }


    That's better... you can keep adding more methods using the same idea. Just one more idea and then I'll leave creativity up to you.

    package net.minecraft.src;
    
    import java.util.Random;
    
    public class BlockTester extends Block{
    
    	protected BlockTester(int i, Material material) {
    		if(Block.blocksList[i]!=null){
    			Block.blocksList[i]=null;
    		}
    		super(i, material);
    		blockIndexInTexture = -1;//We will not ever use the texture index
    		
    	}
    	
    	public BlockTester setBlockType(int i){
    		blocktype = i;
    		return this;
    	}
    	
    	public int getBlockTextureFromSide(int i){
    		
    		//Based on the blocktype, return a different texture index
    		//You decide what number is equal to what block
    		//for example:
    		//
    		// 0 = WetStone
    		// 1 = DeadGrass
    		// 2 = GraniteOre
    		//
    		//We are ignoring the side variable for now, but you can use it
    		//like you normally would.
    		
    		if(blocktype==0){
    			return 110;
    		}
    		if(blocktype==1){
    			return 111;
    		}
    		if(blocktype==2){
    			return 112;
    		}
    		return blocktype;
    	}
    	
    	public int idDropped(int i, Random r){
    		if(blocktype==0){
    			return 110;
    		}
    		if(blocktype==1){
    			return 111;
    		}
    		if(blocktype==2){
    			return 375;
    		}
    		return 1;
    	}
    	
    	public int amountDropped(int i, Random r){
    		if(blocktype==2){
    			return r.nextInt(3)+1;//drop randomly 1, 2 or 3
    		}
    		return 1;
    	}
    	public String getBlockName(){
    		if(blocktype==0){
    			return "wetstone";
    		}
    		if(blocktype==1){
    			return "deadgrass";
    		}
    		if(blocktype==2){
    			return "graniteore";
    		}
    		return "";
    	}
    	
    	public int blocktype;
    	
    }


    there, now all our blocks have different names.



    Now you can define them.

    public static final BlockTester wetStone = new BlockTester(blah1, blah2).setBlockType(0);
    public static final BlockTester deadGrass = new BlockTester(blah3, blah4).setBlockType(1);
    public static final BlockTester graniteOre = new BlockTester(blah5, blah6).setBlockType(2);


    If you have any problems please tell me.

    This method had been tested and does work.

    This method DOES work for modloader! Just register do like so:

    private BlockTester base = new BlockTester(blah1, blah2);
    ModLoader.registerBlock(base);
    public static final BlockTester wetStone = base.setBlockType(0);
    public static final BlockTester deadGrass = base.setBlockType(1);
    public static final BlockTester graniteOre = base.setBlockType(2);
    Posted in: Tutorials
  • 0

    posted a message on How to make Minecraft Much Faster
    I made my own launcher that makes minecraft run about twice FPS and load everything about 3 times as fast. however, I used less ram. The minecraft launcher launches java with more than 256 MB of ram. Java's default is 256, but minecraft runs it at 768 MB by default(I believe).

    Lowering that down to 256 MB using batch I gained twice as much FPS as increasing the amount of ram, On average.

    The higher ram reached peaks of around 185 FPS on my computer but fluctuated a lot more (PS, I have 6 GB of ram) and it's lowest was somewhere between 1 FPS and 0 FPS, it took like 5 seconds to do one frame at some points.

    The lower ram did not spike as much but with a lower cpu usage it got up to 140 as a peek. however, the minimum it went down to was 105 FPS so it was much more even.

    Fraps Benchmarks:

    Normal (768 MB) Average FPS: 96
    2GB Ram Average FPS: 131 (+35 FPS Gain)
    256 MB Average FPS: 148 (+52 FPS Gain)

    This is only my results, it will act differently for each person and on non-gaming computers probably but... more is not always better.
    Posted in: Tutorials
  • 0

    posted a message on NaughtySly: Tutorials - Combination Lock
    Quote from naughtysly

    im pretty sure there is a way to make a bukkit server for 1.8 you just gotta figure it out


    There is not without extremely extensive modding of bukkit. Bukkit will come out with 1.8 soon hopefully, but there is a reason a team works on it, it's very huge and hard to update everything, and there's a lot to update with 1.8. It is possible, but by the time a single person (or small group) gets it done bukkit will have been out for 1.8 for a week or two.

    Good tutorial, however some criticism, you didn't explain very well why to put the torches where you powered the lever, to most people it should be obvious but if a noob was to watch this they may not understand what the purpose of the torches are.
    Posted in: Tutorials
  • 0

    posted a message on Endermen moving blocks : stupid idea
    Enderman is a little glitchy, it's supposed not to move user placed blocks, but as seeing in previous versions it did not keep track of the blocks you place using an old map all blocks are considered naturally placed. I have 8 maps that I use in 1.8 and absolutely nothing is going wrong with them, none of my houses/towns are destroyed, I don't see many floating trees at all. If you don't like Enderman play on peaceful. If you're so worried about building and making things look cool and not just for the functionality then you probably shouldn't be playing on harder difficulties anyways.

    I personally think it adds more difficulty to the game, something needed because minecraft becomes really easy to build something and not have to really worry about it (minus the occasional creeper problem) and having to keep up to date with structures you build is something that gives the game more challenge.

    I find Enderman easy as h*ll to kill.

    Enderman should hopefully be fixed, but this thread is not going to help. In fact this entire topic could have gone in one of the two discussions in the stickies instead of a new thread.
    Posted in: 1.8 Update Discussion
  • 0

    posted a message on [1.7.3] The Wolfestone Mod! [V1.1] - NETHER UPDATE! CORRUPT WOLFESTONE ORE, TOOLS, ARMOR, WEAPONS, WOLFE TNT, AND NEW BOWS AND
    yeah, but most forums do not allow it because it takes of unneeded room on their server.
    Posted in: Minecraft Mods
  • 0

    posted a message on [1.7.3] The Wolfestone Mod! [V1.1] - NETHER UPDATE! CORRUPT WOLFESTONE ORE, TOOLS, ARMOR, WEAPONS, WOLFE TNT, AND NEW BOWS AND
    Quote from ForkinEh

    Hi, your mod looks great, but I feel like it's teasing me because it's not compatible with 1.8. I see your post about making it soon, I'm wondering how soon? My roommates and I are looking to mod our server tonight and I really want to use yours, but can't if it's not available for a few days because my roommates wont want to be starting the server over again for about the 4th time in 2 weeks.

    In short, do you have an ETA for 1.8 compatibility?


    Making mods requires you to decompile the jar file, since 1.8 is barley officially released today the program used to decompile is still being worked on. It would be extremely hard to make this mod for 1.8 now because the programs are not updated yet.
    Posted in: Minecraft Mods
  • 0

    posted a message on [1.7.3] The Wolfestone Mod! [V1.1] - NETHER UPDATE! CORRUPT WOLFESTONE ORE, TOOLS, ARMOR, WEAPONS, WOLFE TNT, AND NEW BOWS AND
    @jbond98 you really should get into habit of hitting the "multiquote" buttons then hitting the use full editor, why? that was you can put all your quotes on one post instead of having 5 posts to answer 5 people.
    Posted in: Minecraft Mods
  • 0

    posted a message on [1.7.3] The Wolfestone Mod! [V1.1] - NETHER UPDATE! CORRUPT WOLFESTONE ORE, TOOLS, ARMOR, WEAPONS, WOLFE TNT, AND NEW BOWS AND
    Quote from Joshuadaddy

    My idea is to make a wolfe-tnt bow and wolfe-tnt arrow, Idea made by Joshuadaddy02

    I actually already suggested explosive arrows before he released 1.1.
    Posted in: Minecraft Mods
  • To post a comment, please .