All users will need to merge their Minecraft Forum account with a new or existing Twitch account starting October 23rd. You can merge your accounts by clicking here. Have questions? Learn more here.
Dismiss
  • 0

    posted a message on [Forge][1.4.7][Tech Mod][Pre Release] XyCraft
    Quote from smokeluvr1971

    I've stayed on the sidelines for quite a while now, but feel I must throw my $0.02 into the convo.

    Yes, Soaryn has stated many times [I guess] that there will be no 1.5.x version of Xycraft. But there will be a 1.6.x version. This seems a bit...odd. I really can't think of a better word to describe the situation here. Actually, I can think of many words more suited, but they are vulgar and I choose not to use them.

    If I'm not mistaken, xycraft is only distributed, in modpack form, through FTB. Soaryn will allow no other modpacks to distribute xycraft. I believe this is stated on the xycraft wiki. So you can use the FTB version of xycraft or install it separately. FTB has progressed in minecraft versions from 1.4.7 to 1.5.2, not 1.4.7 straight to 1.6.x. So if you want to play FTB and have xycraft, you're stuck in 1.4.7 until both FTB and xycraft update to 1.6. Since FTB only recently updated to 1.5.2, I do not expect to see a FTB 1.6.x any time in the immediate future.

    The entire situation just seems...odd from an end-users perspective. Aside from tanks and soil blocks, xycraft brought us the fabricator, which IMO, is the only automated crafting table that actually works in the manner one would expect an ACT to function. If Soaryn doesn't wish to take the time to provide an update of xycraft for FTB 1.5.2, that is his right. But in not providing an update for 1.5.2 when FTB updates to 1.5.2 and declaring an update for 1.6.x with FTB having just updated to 1.5.2...if seems like Soaryn is intentionally trying to alienate his current user-base, again from the perspective of an end-user. If Soaryn doesn't wish to update, then allow someone else to perform the 1.5.2 update. I'm sure there would be plenty of volunteers. And if this thread is any indication, there seems to be a high demand for a 1.5.2 update.

    In closing, I humbly ask Soaryn to either reconsider a 1.5.2 update or allow another modder to perform a 1.5.2 update for xycraft. Either way, it would be a win-win for Soaryn, xycraft and xycraft's current user-base.


    A 1.6.2 version of FTB I have heard is coming sooner than you might think. His reason of course for not updating to 1.5.2 is because honestly there is no reason too. Once a 1.6.2 FTB comes out NOBODY in their right mind will play an older version of minecraft. When was the last time you saw someone play modded 1.2.5? People move on to the most updated version of minecraft. This is how things work, so updating to 1.5.2 is pointless in the long run, and a waste of time.
    Posted in: WIP Mods
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Quote from picklerok

    Try KEY_42 for left shift and KEY_54 for right shift. I'm not an expert at key bindings but I think this should work.

    EDIT: It may also be KEY_LSHIFT or KEY_RSHIFT. In Minecraft the Shift key does not have an ID as a whole, but rather the left and right shift keys have different IDs (if you didn't already figure that out), so simply putting KEY_SHIFT would not work.


    Wow I feel stupid as I was using LCONTROL until I figured out what shift was... hahaha when you get tired you cant think straight. (Its Key.LSHIFT btw)

    Thanks man,
    Brennan
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Hey guys, got another question for yah. Anyone know what the Keyboard.KEY_? command is for the shift key? Its most definitely not KEY_SHIFT.

    Im trying to get an item to do something when its right clicked, and something else when its shift-right clicked.

    Code

    public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer)
        {
    	    if(Keyboard.isKeyDown(Keyboard.KEY_?)){
    		
    	    }else
    	    {
    	 
    	    }
    	    return par1ItemStack;
        }

    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Figured it out... I feel so stupid now...

    All I had to do was put the GenerateSurface method from my main class into the generateSurface method in the WorldGenTemple class
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Quote from wuppy21

    Take a look at my ore generation tutorial, you have to make an Eventhandler to generate anyting with Forge.


    I've looked at tons of ore gen tutorials similar to yours. The problem I run into is my generate method in my WorldGenTemple.class has 3 integer parameters par3, par4, par5 (x,y,z).
    The generate method added by implementing IWorldGenerator only has 2 integer parameters, the x and z coords. I dont know how I can make it input a Y coordinate.
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Im actually having a problem as well, I am in the process of switching my mod from ModLoader to Forge, and have everything done except my World Generation. It throws no errors, just no world generation happens.

    Main Mod Class

    package brennan.greekery;
    import java.util.Map;
    import java.util.Random;
    import net.minecraft.block.Block;
    import net.minecraft.entity.Entity;
    import net.minecraft.entity.EntityEggInfo;
    import net.minecraft.entity.EntityList;
    import net.minecraft.item.EnumArmorMaterial;
    import net.minecraft.item.EnumToolMaterial;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemArmor;
    import net.minecraft.world.World;
    import net.minecraft.world.gen.feature.WorldGenerator;
    import cpw.mods.fml.common.IWorldGenerator;
    import cpw.mods.fml.common.Mod;
    import cpw.mods.fml.common.Mod.EventHandler;
    import cpw.mods.fml.common.Mod.Instance;
    import cpw.mods.fml.common.SidedProxy;
    import cpw.mods.fml.common.event.FMLInitializationEvent;
    import cpw.mods.fml.common.event.FMLPostInitializationEvent;
    import cpw.mods.fml.common.event.FMLPreInitializationEvent;
    import cpw.mods.fml.common.network.NetworkMod;
    import cpw.mods.fml.common.registry.EntityRegistry;
    import cpw.mods.fml.common.registry.GameRegistry;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    @Mod(modid="Greekery", name="Greekery", version="0.1")
    @NetworkMod(clientSideRequired=true, serverSideRequired=false)
    public class Greekery {
    private static int startEntityID = 300;
    public static String TEXTURE_DOMAIN = "greekery";
    
    protected final static Item ItemZeusBolt = new ItemZeusBolt(12300).func_111206_d("greekery:ItemZeusBolt");
    protected final static Item ItemAresSword = new ItemAresSword(12301, EnumToolMaterial.EMERALD).func_111206_d("greekery:ItemAresSword");
    protected final static Item ItemApolloBow = new ItemApolloBow(12302).func_111206_d("greekery:ItemApolloBow_standby");
    protected final static Item ItemHadesHelm = new ItemHadesHelm(12303, EnumArmorMaterial.DIAMOND, 3, 0).func_111206_d("greekery:ItemHadesHelm");
    
    	 // The instance of your mod that Forge uses.
    	 @Instance("Greekery")
    	 public static Greekery instance;
    	
    	 // Says where the client and server 'proxy' code is loaded.
    	 @SidedProxy(clientSide="brennan.greekery.client.ClientProxy", serverSide="brennan.greekery.CommonProxy")
    	 public static CommonProxy proxy;
    	
    	 @EventHandler
    	 public void preInit(FMLPreInitializationEvent event) {
    			 // Stub Method
    		
    	
    	 }
    	
    	 @EventHandler
    	 public void load(FMLInitializationEvent event) {
    			 proxy.registerRenderers();
    			
    			 LanguageRegistry.addName(ItemZeusBolt, "Zeus' Lightning Bolt");
    			 LanguageRegistry.addName(ItemAresSword, "Ares' Sword");
    			 LanguageRegistry.addName(ItemApolloBow, "Apollo's Bow");
    			 LanguageRegistry.addName(ItemHadesHelm, "Hades' Helm of Darkess");
    			
    			 EntityRegistry.registerModEntity(EntityZeus.class, "Zeus", 1, this, 80, 3, true);
    			 registerEntityEgg(EntityZeus.class, 0x12562, 0x76543);
    			 LanguageRegistry.instance().addStringLocalization("entity.Greekery.Zeus.name", "Zeus");
    	
    	 }
    	
    	 @EventHandler
    	 public void postInit(FMLPostInitializationEvent event) {
    			 // Stub Method
    	 }
    	
    	 public static int getUniqueEntityId()
    	 {
    		
    		 do
    		 {
    		 startEntityID++;
    		 }
    		 while(EntityList.getStringFromID(startEntityID) != null);		
    		 return startEntityID;		
    	 }
    	
    	 public static void registerEntityEgg(Class <? extends Entity> entity, int primaryColor, int secondaryColor){
    		 int id = getUniqueEntityId();
    		 EntityList.IDtoClassMapping.put(id,entity);
    		 EntityList.entityEggs.put(id, new EntityEggInfo(id,primaryColor,secondaryColor));
    		
    	 }
    	
    	 public void generateSurface(World par1World, Random par2Random, int x, int z){
    	 if (par2Random.nextInt(100)==0){
    	 int y = 255;
    	 while(true){
    	 y--;
    	 if(par1World.getBlockId(x, y, z) != 0){
    	 break;
    	 }
    	 }
    	 if (par1World.getBlockId(x, y, z)!=Block.waterStill.blockID){
    	 (new WorldGenTemple()).generate(par1World, par2Random, x, y, z);
    	 }
    	 }
    	
    	 }
    	
    	
    	
    }


    World Gen Class

    package brennan.greekery;
    import java.util.Random;
    import cpw.mods.fml.common.IWorldGenerator;
    import net.minecraft.block.Block;
    import net.minecraft.world.World;
    import net.minecraft.world.chunk.IChunkProvider;
    import net.minecraft.world.gen.feature.WorldGenerator;
    public class WorldGenTemple extends WorldGenerator
    {
    @Override
    public boolean generate(World par1World, Random par2Random, int par3, int par4, int par5)
    {
    System.out.println("worked");
    while (par1World.isAirBlock(par3, par4, par5) && par4 > 2)
    {
    --par4;
    }
    int var6 = par1World.getBlockId(par3, par4, par5);
    int var7;
    int var8;
    for (var7 = -2; var7 <= 2; ++var7)
    {
    for (var8 = -2; var8 <= 2; ++var8)
    {
    if (par1World.isAirBlock(par3 + var7, par4 - 1, par5 + var8) && par1World.isAirBlock(par3 + var7, par4 - 2, par5 + var8))
    {
    	 return false;
    }
    }
    }
    for(int x = -1;x < 29;x++){
    for(int z = -2;z < 33;z++){
    for(int y = 0;y < 20; y++){
    	 par1World.setBlock(par3 + x, par4 + y, par5 + z, 0, 1, 2);
    }
    }
    }
    for(int z = 0;z < 32;z++)
    {
    par1World.setBlock(par3, par4, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    }
    for(int x = 0; x < 28;x++){
    par1World.setBlock(par3 + x, par4, par5 + 32, Block.stoneSingleSlab.blockID, 1, 2);
    }
    for(int z = 0;z < 32;z++)
    {
    par1World.setBlock(par3 + 27, par4, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    }
    for(int x = 0; x < 10;x++){
    par1World.setBlock(par3 + x, par4, par5, Block.stoneSingleSlab.blockID, 1, 2);
    }
    //Front Stairs
    for(int x = 10; x < 18;x++){
    par1World.setBlock(par3 + x, par4, par5, Block.blockNetherQuartz.blockID, 0, 2);
    }
    for(int x = 10; x < 18;x++){
    par1World.setBlock(par3 + x, par4, par5 - 1, Block.stoneSingleSlab.blockID, 7, 2);
    }
    for(int x = 10; x < 18;x++){
    par1World.setBlock(par3 + x, par4 + 1, par5 + 1, Block.stoneSingleSlab.blockID, 7, 2);
    }
    
    
    for(int x = 18; x < 28;x++){
    par1World.setBlock(par3 + x, par4, par5, Block.stoneSingleSlab.blockID, 1, 2);
    }
    
    // Bottom Filler
    for(int x = 1;x < 27;x++){
    for(int z = 1;z < 32;z++){
    par1World.setBlock(par3 + x, par4, par5 + z, Block.sandStone.blockID, 0, 2);
    }
    }
    
    //Columns
    for(int i = 4; i < 34;i = i + 5)
    {
    for(int j = 3; j < 11; j = j + 4)
    {
    makeColumn(par1World, par3 + j, par4, par5 + i);
    }
    
    for(int j = 20; j < 25; j = j + 4)
    {
    makeColumn(par1World, par3 + j, par4, par5 + i);
    }
    }
    makeColumn(par1World, par3 + 11, par4, par5 + 29);
    makeColumn(par1World, par3 + 16, par4, par5 + 29);
    
    //WalkWay
    
    for(int x = 10;x < 18;x++){
    for(int z = 2;z < 27;z++){
    par1World.setBlock(par3 + x, par4 + 1, par5 + z, Block.blockNetherQuartz.blockID, 0, 2);
    }
    }
    
    //Ceiling
    for(int x = 2;x < 26;x++){
    for(int z = 3;z < 32;z++){
    par1World.setBlock(par3 + x, par4 + 6, par5 + z, Block.sandStone.blockID, 0, 2);
    }
    }
    
    for(int x = 3;x < 25;x++){
    for(int z = 4;z < 31;z++){
    par1World.setBlock(par3 + x, par4 + 7, par5 + z, Block.cobblestone.blockID, 0, 2);
    }
    }
    for(int x = 2;x < 26;x++){
    for(int z = 3;z < 32;z++){
    par1World.setBlock(par3 + x, par4 + 8, par5 + z, Block.sandStone.blockID, 0, 2);
    }
    }
    
    //Lights
    for(int z = 6;z < 32; z = z + 5){
    par1World.setBlock(par3 + 5, par4 + 6, par5 + z, Block.glowStone.blockID, 0, 2);
    par1World.setBlock(par3 + 5, par4 + 6, par5 + z + 1, Block.glowStone.blockID, 0, 2);
    par1World.setBlock(par3 + 22, par4 + 6, par5 + z, Block.glowStone.blockID, 0, 2);
    par1World.setBlock(par3 + 22, par4 + 6, par5 + z + 1, Block.glowStone.blockID, 0, 2);
    }
    //Fire
    for(int z = 4; z < 20;z = z + 5){
    par1World.setBlock(par3 + 11, par4 + 2, par5 + z, Block.fire.blockID, 0, 2);
    par1World.setBlock(par3 + 11, par4 + 1, par5 + z, Block.netherrack.blockID, 0, 2);
    par1World.setBlock(par3 + 16, par4 + 2, par5 + z, Block.fire.blockID, 0, 2);
    par1World.setBlock(par3 + 16, par4 + 1, par5 + z, Block.netherrack.blockID, 0, 2);
    }
    
    //Roofing
    for(int z = 3;z < 32;z++){
    par1World.setBlock(par3 + 3, par4 + 9, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 4, par4 + 9, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 5, par4 + 10, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 6, par4 + 10, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 7, par4 + 11, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 8, par4 + 11, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 9, par4 + 12, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 10, par4 + 12, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 11, par4 + 13, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 12, par4 + 13, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 13, par4 + 14, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 14, par4 + 14, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 15, par4 + 13, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 16, par4 + 13, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 17, par4 + 12, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 18, par4 + 12, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 19, par4 + 11, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 20, par4 + 11, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 21, par4 + 10, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 22, par4 + 10, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    par1World.setBlock(par3 + 23, par4 + 9, par5 + z, Block.sandStone.blockID, 0, 2);
    par1World.setBlock(par3 + 24, par4 + 9, par5 + z, Block.stoneSingleSlab.blockID, 1, 2);
    }
    
    for(int z = 4;z<31;z++){
    par1World.setBlock(par3 + 5, par4 + 9, par5 + z, Block.sandStone.blockID, 0, 2);
    }
    
    //Altar
    par1World.setBlock(par3 + 12, par4 + 2, par5 + 25, Block.netherrack.blockID, 0, 2);
    par1World.setBlock(par3 + 13, par4 + 2, par5 + 25, Block.netherrack.blockID, 0, 2);
    par1World.setBlock(par3 + 14, par4 + 2, par5 + 25, Block.netherrack.blockID, 0, 2);
    par1World.setBlock(par3 + 15, par4 + 2, par5 + 25, Block.netherrack.blockID, 0, 2);
    par1World.setBlock(par3 + 12, par4 + 2, par5 + 24, Block.blockNetherQuartz.blockID, 0, 2);
    par1World.setBlock(par3 + 13, par4 + 2, par5 + 24, Block.blockNetherQuartz.blockID, 0, 2);
    par1World.setBlock(par3 + 14, par4 + 2, par5 + 24, Block.blockNetherQuartz.blockID, 0, 2);
    par1World.setBlock(par3 + 15, par4 + 2, par5 + 24, Block.blockNetherQuartz.blockID, 0, 2);
    par1World.setBlock(par3 + 12, par4 + 3, par5 + 24, Block.stoneSingleSlab.blockID, 7, 2);
    par1World.setBlock(par3 + 13, par4 + 3, par5 + 24, Block.stoneSingleSlab.blockID, 7, 2);
    par1World.setBlock(par3 + 14, par4 + 3, par5 + 24, Block.stoneSingleSlab.blockID, 7, 2);
    par1World.setBlock(par3 + 15, par4 + 3, par5 + 24, Block.stoneSingleSlab.blockID, 7, 2);
    par1World.setBlock(par3 + 12, par4 + 3, par5 + 25, Block.fire.blockID, 0, 2);
    par1World.setBlock(par3 + 13, par4 + 3, par5 + 25, Block.fire.blockID, 0, 2);
    par1World.setBlock(par3 + 14, par4 + 3, par5 + 25, Block.fire.blockID, 0, 2);
    par1World.setBlock(par3 + 15, par4 + 3, par5 + 25, Block.fire.blockID, 0, 2);
    
    //Hard Codes
    
    par1World.setBlock(par3 + 13, par4 + 6, par5 + 29, Block.glowStone.blockID, 0, 2);
    par1World.setBlock(par3 + 14, par4 + 6, par5 + 29, Block.glowStone.blockID, 0, 2);
    
    return true;
    }
    public void makeColumn(World world, int x, int y, int z)
    {
    
    for(int y1 = 0; y1 < 6; y1++){
    //Pillar itself
    world.setBlock(x, y + y1 + 1, z, Block.blockNetherQuartz.blockID, 2, 2);
    }
    
    //Base of the pillar
    world.setBlock(x - 1, y + 1, z, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x + 1, y + 1, z, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x, y + 1, z - 1, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x, y + 1, z + 1, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x - 1, y + 1, z - 1, Block.stoneSingleSlab.blockID, 7, 2);
    world.setBlock(x - 1, y + 1, z + 1, Block.stoneSingleSlab.blockID, 7, 2);
    world.setBlock(x + 1, y + 1, z - 1, Block.stoneSingleSlab.blockID, 7, 2);
    world.setBlock(x + 1, y + 1, z + 1, Block.stoneSingleSlab.blockID, 7, 2);
    
    //Top of Pillar
    
    world.setBlock(x - 1, y + 5, z, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x + 1, y + 5, z, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x, y + 5, z - 1, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x, y + 5, z + 1, Block.blockNetherQuartz.blockID, 1, 2);
    world.setBlock(x - 1, y + 5, z - 1, Block.stoneSingleSlab.blockID, 7, 2);
    world.setBlock(x - 1, y + 5, z + 1, Block.stoneSingleSlab.blockID, 7, 2);
    world.setBlock(x + 1, y + 5, z - 1, Block.stoneSingleSlab.blockID, 7, 2);
    world.setBlock(x + 1, y + 5, z + 1, Block.stoneSingleSlab.blockID, 7, 2);
    
    }
    
    }


    I think the problem is I never call the generateSurface() method in my main mod file. Not sure where or how I would call this method. Any Ideas?
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Quote from XEqualsPenguin

    I am trying to make a helmet (well, Mask, since I'm making a Bionicle mod) that gives nightvision as long as the U button is pushed. the problem is, that the helmet is supposed to be damaged by doing that, and it will just cycle through its damage and repair itself once its reached maximum damage. here is the code from the files:

    ItemMask (just a placeholder in case necessary)
    package xequalspenguin.bionicle.mask;
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.EnumArmorMaterial;
    import net.minecraft.item.ItemArmor;
    public class ItemMask extends ItemArmor{
    public ItemMask(int par1, EnumArmorMaterial par2EnumArmorMaterial,
    int par3, int par4) {
    super(par1, par2EnumArmorMaterial, par3, par4);
    this.setCreativeTab(CreativeTabs.tabMisc);
    }
    }


    ItemGreatMask

    package xequalspenguin.bionicle.mask.great;
    
    import net.minecraft.item.EnumArmorMaterial;
    import xequalspenguin.bionicle.mask.ItemMask;
    
    public class ItemGreatMask extends ItemMask{
    
    public ItemGreatMask(int par1, EnumArmorMaterial par2EnumArmorMaterial,
    int par3, int par4) {
    super(par1, par2EnumArmorMaterial, par3, par4);
    // TODO Auto-generated constructor stub
    }
    
    }


    ItemKanohiRuru(The important file)

    package xequalspenguin.bionicle.mask.great;
    
    import java.util.Iterator;
    import java.util.List;
    
    import org.lwjgl.input.Keyboard;
    
    import net.minecraft.entity.player.EntityPlayer;
    import net.minecraft.item.EnumArmorMaterial;
    import net.minecraft.item.ItemStack;
    import net.minecraft.potion.Potion;
    import net.minecraft.potion.PotionEffect;
    import net.minecraft.world.World;
    import xequalspenguin.bionicle.mask.great.ItemGreatMask;
    
    public class ItemKanohiRuru extends ItemGreatMask {
    
    public ItemKanohiRuru(int par1, EnumArmorMaterial par2EnumArmorMaterial,
    int par3, int par4){
    super(par1, par2EnumArmorMaterial, par3, par4);
    this.setUnlocalizedName("Ruru");
    }
    
    @Override
    public void onArmorTickUpdate(World world, EntityPlayer player,
    ItemStack itemStack){
    if (Keyboard.isKeyDown(Keyboard.KEY_U))
    {
    player.addPotionEffect((new PotionEffect(Potion.nightVision.getId(), 20, 1)));
    itemStack.damageItem(20, player);
    }
    }
    }


    I also want there to be a cooldown for the length that the effect is active, so that if someone holds down U i won't break the mask instantly


    I think the problem is you never set the durability of the item in your constructor. Try adding
    this.setMaxDamage(10000);
    To the constructor of your item class
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Quote from picklerok

    The texture is now put in the render file. I advise looking at the Galacticraft code for help. It may be hard to understand so let me know if you have questions.


    Thanks man, i got it figured out. I was missing the first parameter in this line of code.


    private static final ResourceLocation field_110833_a = new ResourceLocation(Greekery.TEXTURE_DOMAIN, "textures/entity/Zeus.png");



    Not quite sure what the first param is needed for. It threw no errors like this.


    private static final ResourceLocation field_110833_a = new ResourceLocation("textures/entity/Zeus.png");


    Greekery.TEXTURE_DOMAIN is a string in my main mod class who's value is "greekery"
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.8] MinecraftForge Video & Text Modding Tutorials [Updated May 2] Now in English and German
    Wuppy, thanks for making these awesome tutorials.
    Although we are now in 1.6.2, I used your Entity tutorials to make a new entity. It works perfectly except for 1 detail.

    In the EntityTutorial class, you can no longer do in the constructor
    this.texture = "file path".

    So where do we put the texture file path for our Entity?

    Thanks,
    Brennan

    Edit: Not sure what src code I should post if any at all. Don't know if the file path for the mob's texture goes in the Entity Class, the RenderEntity Class, or the Main Mod Class.
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.6.X] Portal Gun - Reconstructed [v1] - Rewritten... again.
    Hello,

    I own a mac computer and when installing the mod, it automatically decompresses the file into a folder. As you should know with the new installation, this crashes Minecraft, but when I compress the folder into a .zip or .jar file. The mod does not install correctly, with Forge not recognizing the mod or something. Can anyone help me with this issue?

    Thanks,
    Brennan
    Posted in: Minecraft Mods
  • 0

    posted a message on FTB - The Mod Pack
    Quote from Eltaka

    Super excited for a decent legal modpack. Can't wait for release :)

    Is there a link to greg's lighting mod? I can't find anything on it, save for hardware store ads.


    Gregs Lighting is a mod that adds one item as far as I know, It is a spotlight that lights up a 3 by 3 area for an infinite distance forward (feel free to correct any small errors in this explanation)
    Posted in: WIP Mods
  • 0

    posted a message on [1.4.5][Forge 6.x] Minecraft Modding Tutorials
    Do you know how to spawn lightning?

    Thanks,
    Brennan
    Posted in: Tutorials
  • 0

    posted a message on [1.5.x] Darkhax's Forge Mod Tutorials [30/03/2013]
    I hope I will see some more tutorials soon!
    Posted in: Tutorials
  • 0

    posted a message on HoBoS_TaCo's Ultimate Forge 4.x Guide
    I hope you continue on!, i wouldnt mind an "ultimate" Forge tutorial. I have one modding question. Do you know how to make lightning spawn? If you do could you add it to your coming soon list for tutorials?

    Thanks,
    Brennan
    Posted in: Tutorials
  • 0

    posted a message on [1.4.7] Better Login - Insures you login to a server
    Wow Alex, your mod is really getting out there. Congrats!#1st Beta Tester
    Posted in: Minecraft Mods
  • To post a comment, please or register a new account.