Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

So many tutorials everywhere! Many of those videos are totally out dated and just don't fully work. Even what I'm finding on the Forge wiki has deprecated and non-existing lines of code for the current version (10.13.0.1180). I've been using ModLoader for 3 years and it was easy all the way. I didn't edit base classes and was able to do things that Forge did.

 

I never went over to Forge because I hated it, and still do hate it some bit now. It's a frustrating API and it's making me tempted to crush my indestructible mouse.

 

As of now I'm just browsing for my solutions, but if you'd like to answer them then here is the list:

  • What up to date Forge tutorials can you recommend me? I am following ScratchForFun his tutorials right now.
  • I have the mcmod.info file with in src/main/resources but still I get it where it ask for the author to include it.
  • Where do I put my assets, such as items and blocks? I have it as src/main/resources/assets/shipcraft which works with lang related stuff but can't do it for textures.

The directory to put the textures for your blocks is /src/main/resources/assets/[modname]/textures/blocks

Put your item's textures in /src/main/resources/assets/[modname]/textures/items

 

If you don't have the assets, textures, blocks or items folders then create them :)

 

Also, your en_US.lang file (and all other lang files) should go into /src/main/resources/assets/[modname]/lang rather than the resources folder.

 

You can find an up-to-date tutorial for some of the basic things you might want to do here: http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/1571558-1-7-2-forge-add-new-block-item-entity-ai-creative

 

Hope that helps :)

  • Author

I already knew where to put the lang stuff, but images I wasn't sure about. So according to what you're saying I have everything in the correct directories. I checked my spelling a few gazillion times and all that gets thrown at me is:

[Client thread/ERROR]: Using missing texture, unable to load minecraft:textures/items/MISSING_ICON_ITEM_4096_bigboat.png
java.io.FileNotFoundException: minecraft:textures/items/MISSING_ICON_ITEM_4096_bigboat.png
at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:65) ~[FallbackResourceManager.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:67) ~[simpleReloadableResourceManager.class:?]
at net.minecraft.client.renderer.texture.TextureMap.loadTextureAtlas(TextureMap.java:126) [TextureMap.class:?]
at net.minecraft.client.renderer.texture.TextureMap.loadTexture(TextureMap.java:91) [TextureMap.class:?]
at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89) [TextureManager.class:?]
at net.minecraft.client.renderer.texture.TextureManager.loadTickableTexture(TextureManager.java:71) [TextureManager.class:?]
at net.minecraft.client.renderer.texture.TextureManager.loadTextureMap(TextureManager.java:58) [TextureManager.class:?]
at net.minecraft.client.Minecraft.startGame(Minecraft.java:593) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:941) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_60]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_60]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_60]
at GradleStart.bounce(GradleStart.java:95) [start/:?]
at GradleStart.startClient(GradleStart.java:88) [start/:?]
at GradleStart.main(GradleStart.java:56) [start/:?]

 

What I have in the main class is:

package net.advmccoder.shipcraft;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
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.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid = "shipcraft" , version = "3.0")
public class ShipCraftMod {
    @Instance(value="shipcraftmod")
    public static ShipCraftMod instance;
    
public static Block shipworkbench;

public static Item bigBoat;

    @EventHandler
    public void preInit(FMLPreInitializationEvent event) {
    	shipworkbench = new BlockShipWorkbench(Material.iron).setHardness(3.5F).setResistance(3.5F);
    	
    	GameRegistry.registerBlock(shipworkbench, "shipworkbench");
    	
    	bigBoat = new ItemBigBoat(2000).setUnlocalizedName("bigboat");
    	
    	
    	GameRegistry.registerItem(bigBoat, "bigboat");
    }
    
    @EventHandler
    public void init(FMLInitializationEvent event) {
    	
    }

    @EventHandler
    public void postInit(FMLPostInitializationEvent event) {
    	
    }
}

 

In the item that I've created, I've got:

package net.advmccoder.shipcraft;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;

public class ItemBigBoat extends Item {

public ItemBigBoat(int i) {
	super();
	setMaxStackSize(1);
	setCreativeTab(CreativeTabs.tabTransport);
}
}

 

I'm not sure if using preInit is the right one to use, but that's why I see them doing on the Forge wiki

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.