Jump to content

FlordiaDucky

Members
  • Posts

    16
  • Joined

  • Last visited

Posts posted by FlordiaDucky

  1. Make sure you include the things like:

    1.Name?

    -----------------------------------------------------------------

    2.I need to find out if the

        pickaxe is as strong as wood, iron , gold, diamond, or stone?

    ------------------------------------------------------------------

    3.What pickaxe is needed to harvest the gem?

    ------------------------------------------------------------------

    4.How many times can i use the tools before

        it breaks?

    ------------------------------------------------------------------

    5.How efficent is it when you use it?

        (Diamond Efficiency - 8.0F, Iron Efficiency - 6.0F, Gold Efficiency - 12.0F, Stone Efficiency - 4.0F, Wood Efficiency - 2.0F)

    ------------------------------------------------------------------

    6.How many hearts of damage does the sword do?

    Ore Info-------------------------------------------------------

    7.What are the chances of finding it in your world?

    ------------------------------------------------------------------

    8.What is the MinY?

    9.What is the MaxY?

  2. I can't find my mod when i run client and click mods. Can someone help me?

    //src/main/java
     //Main
       package com.flordiaducky.duckyswordmod;
    
    import com.flordiaducky.duckyswordmod.proxy.CommonProxy;
    import com.flordiaducky.duckyswordmod.util.Reference;
    
    import net.minecraftforge.fml.common.Mod;
    import net.minecraftforge.fml.common.Mod.EventHandler;
    import net.minecraftforge.fml.common.Mod.Instance;
    import net.minecraftforge.fml.common.SidedProxy;
    import net.minecraftforge.fml.common.event.FMLInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
    
    @Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION)
    public class Main 
    {
    
    	@Instance
    	public static Main instance;
    	
    	@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS)
    	public static CommonProxy proxy;
    	
    	@EventHandler
    	public static void PreInit(FMLPreInitializationEvent event)
    	{
    		
    	}
    	
    	@EventHandler
    	public static void init(FMLInitializationEvent event)
    	{
    		
    	}
    	
    	@EventHandler
    	public static void Postinit(FMLPostInitializationEvent event)
    	{
    		
    	}
    	
    }
      //Util
       //Reference
        package com.flordiaducky.duckyswordmod.util;
    
    public class Reference 
    {
    
    	public final static String MOD_ID = "DSM";
    	public final static String NAME = "Ducky's Swords Mod";
    	public final static String VERSION = "1.0";
    	public final static String ACCEPTED_VERSIONS = "[1.12.2]";
    	public final static String CLIENT_PROXY_CLASS = "com.flordiaducky.duckyswordmod.proxy.ClientProxy";
    	public final static String COMMON_PROXY_CLASS = "com.flordiaducky.duckyswordmod.proxy.CommonProxy";
    	
    }
      //Proxy
       //ClientProxy
    package com.flordiaducky.duckyswordmod.proxy;
    
    public class ClientProxy extends CommonProxy {
    
    }
      //CommonProxy
    package com.flordiaducky.duckyswordmod.proxy;
    
    public class CommonProxy {
    
    }
    //src/main/resources
      //mcmod.info
       [
    {
      "modid": "DSM",
      "name": "Ducky's Swords Mod",
      "description": "Adds a bunch of cool new swords to your minecraft world!!!",
      "version": "1.0",
      "mcversion": "1.12.2",
      "url": "",
      "updateUrl": "",
      "authorList": ["FlordiaDucky"],
      "credits": "LoreMaster for teaching me how to make a mod.",
      "logoFile": "",
      "screenshots": [],
      "dependencies": []
    }
    ]

     

  3. I keep crashing each time a load a new world

    when a i run the client!!! Do you know how to fix it?

     

    Code:

    //src.main.java
    //com.flordiaducky.DuckyUtilMod
      //Main.java
        package com.flordiaducky.duckyutilmod;
    
    import com.flordiaducky.duckyutilmod.proxy.CommonProxy;
    import com.flordiaducky.duckyutilmod.tabs.DuckyUtilModTab;
    import com.flordiaducky.duckyutilmod.util.Reference;
    import com.flordiaducky.duckyutilmod.world.ModWorldGen;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraftforge.fml.common.Mod;
    import net.minecraftforge.fml.common.Mod.EventHandler;
    import net.minecraftforge.fml.common.Mod.Instance;
    import net.minecraftforge.fml.common.SidedProxy;
    import net.minecraftforge.fml.common.event.FMLInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
    import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
    import net.minecraftforge.fml.common.registry.GameRegistry;
    
    @Mod(modid = Reference.MOD_ID, name = Reference.NAME, version = Reference.VERSION)
    public class Main 
    {
    
    	//Tab
    	public static final CreativeTabs duckyutilmodtab = new DuckyUtilModTab("duckyutilmodtab");
    	
    	//Instance
    	@Instance
    	public static Main instance;
    	
    	//Proxy
    	@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS)
    	public static CommonProxy proxy;
    	
    	//Event Handlers
    	@EventHandler
    	public static void PreInit(FMLPreInitializationEvent event)
    	{
    		GameRegistry.registerWorldGenerator(new ModWorldGen(), 3);
    	}
    	
    	@EventHandler
    	public static void init(FMLInitializationEvent event)
    	{
    		
    	}
    	
    	@EventHandler
    	public static void Postinit(FMLPostInitializationEvent event)
    	{
    		
    	}
    }
       //Util Package
         //Reference.java
          package com.flordiaducky.duckyutilmod.util;
    
    public class Reference 
    {
    
    	public static final String MOD_ID = "dum";
    	public static final String NAME = "Ducky's Util Mod";
    	public static final String VERSION = "1.0";
    	public static final String ACCEPTED_VERSIONS = "[1.12.2]";
    	public static final String CLIENT_PROXY_CLASS = "com.flordiaducky.duckyutilmod.proxy.ClientProxy";
    	public static final String COMMON_PROXY_CLASS = "com.flordiaducky.duckyutilmod.proxy.CommonProxy";
    	
    }
       //IHasModel 
         package com.flordiaducky.duckyutilmod.util;
    
    public interface IHasModel 
    {
    	public void registerModels();
    }
      //Handlers Package
       //RegistryHandler
        package com.flordiaducky.duckyutilmod.util.handlers;
    
    import com.flordiaducky.duckyutilmod.init.ModBlocks;
    import com.flordiaducky.duckyutilmod.init.ModItems;
    import com.flordiaducky.duckyutilmod.util.IHasModel;
    
    import net.minecraft.block.Block;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.event.ModelRegistryEvent;
    import net.minecraftforge.event.RegistryEvent;
    import net.minecraftforge.fml.common.Mod;
    import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
    import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
    
    @Mod.EventBusSubscriber
    public class RegistryHandler 
    {
    
    	@SubscribeEvent
    	public static void onItemRegister(RegistryEvent.Register<Item> event)
    	{
    		event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0]));
    	}
    	
    	@SubscribeEvent
    	public static void onBlockRegister(RegistryEvent.Register<Block> event)
    	{
    		event.getRegistry().registerAll(ModBlocks.BLOCKS.toArray(new Block[0]));
    	}
    	
    	@SubscribeEvent
    	public static void onModelRegister(ModelRegistryEvent event)
    	{
    		for(Item item : ModItems.ITEMS)
    		{
    			if(item instanceof IHasModel)
    			{
    				((IHasModel)item).registerModels();
    			}
    		}
    		
    		for(Block block : ModBlocks.BLOCKS)
    		{
    			if(block instanceof IHasModel)
    			{
    				((IHasModel)block).registerModels();
    			}
    		}
    		
    	}
    	
    
    }
    //world package
       //ModWorldGen.java
          package com.flordiaducky.duckyutilmod.world;
    
    import java.util.Random;
    
    import com.flordiaducky.duckyutilmod.init.ModBlocks;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.state.IBlockState;
    import net.minecraft.util.math.BlockPos;
    import net.minecraft.world.World;
    import net.minecraft.world.chunk.IChunkProvider;
    import net.minecraft.world.gen.IChunkGenerator;
    import net.minecraft.world.gen.feature.WorldGenMinable;
    import net.minecraftforge.fml.common.IWorldGenerator;
    
    public class ModWorldGen implements IWorldGenerator
    {
    
    	@Override
    	public void generate(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
    	{
    		if (world.provider.getDimension() == 0)
    		{
    			generateOverworld(random, chunkX, chunkZ, world, chunkGenerator, chunkProvider);
    		}
    	}
    	
    	private void generateOverworld(Random random, int chunkX, int chunkZ, World world, IChunkGenerator chunkGenerator, IChunkProvider chunkProvider)
    	{
    		generateOre(ModBlocks.PLATINUM_ORE.getDefaultState(), world, random, chunkX * 16, chunkZ * 16, 16, 64, random.nextInt(7) + 4, 5);
    	}
    	  private void generateOre(IBlockState ore, World world, Random random, int x, int z, int minY, int maxY, int size, int chances)
    	{
    	   int deltaY = minY - maxY;
    		
    		for (int i = 0; i < chances; i++)
    		{
    			BlockPos pos = new BlockPos(x + random.nextInt(16), minY + random.nextInt(deltaY), z + random.nextInt(16));
    			
    	        WorldGenMinable generator = new WorldGenMinable(ore, size);
    	        generator.generate(world, random, pos);
    		}
    	}
    }
     //Init
       //ModBlocks.java
         package com.flordiaducky.duckyutilmod.init;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import com.flordiaducky.duckyutilmod.blocks.BlockBase;
    import com.flordiaducky.duckyutilmod.blocks.PlatinumOre;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    
    public class ModBlocks 
    {
    
    	public static final List<Block> BLOCKS = new ArrayList<Block>();
    	
    	//Blocks
    	public static final Block PLATINUM_BLOCK = new BlockBase("platinum_block", Material.IRON);
    	public static final Block PLATINUM_ORE = new PlatinumOre("platinum_ore", Material.ROCK);
    	
    }
        //ModItems.java
          package com.flordiaducky.duckyutilmod.init;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import com.flordiaducky.duckyutilmod.items.ItemBase;
    
    import net.minecraft.item.Item;
    
    public class ModItems 
    {
    
    	public static final List<Item> ITEMS = new ArrayList<Item>();
    	
    	//Items
    	public static final Item RUBBER_DUCKY = new ItemBase("rubber_ducky");
        public static final Item PLATINUM_INGOT = new ItemBase("platinum_ingot");
    
    }
     //Proxy
       //ClientProxy.java
         package com.flordiaducky.duckyutilmod.proxy;
    
    import net.minecraft.client.renderer.block.model.ModelResourceLocation;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.model.ModelLoader;
    
    public class ClientProxy extends CommonProxy
    {
    
    	public void registerItemRenderer(Item item, int meta, String id)
    	{
    		ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
    	}
    	
    }
       //CommonProxy.java
         package com.flordiaducky.duckyutilmod.proxy;
    
    import net.minecraft.item.Item;
    
    public class CommonProxy 
    {
    
    	public void registerItemRenderer(Item item, int meta, String id){}
    	
    }
    //items
      //ItemBase.java
        package com.flordiaducky.duckyutilmod.items;
    
    import com.flordiaducky.duckyutilmod.Main;
    import com.flordiaducky.duckyutilmod.init.ModItems;
    import com.flordiaducky.duckyutilmod.util.IHasModel;
    
    import net.minecraft.creativetab.CreativeTabs;
    import net.minecraft.item.Item;
    
    public class ItemBase extends Item implements IHasModel
    {
    
    	public ItemBase(String name)
    	{
    		setUnlocalizedName(name);
    		setRegistryName(name);
    		setCreativeTab(Main.duckyutilmodtab);
    		
    		ModItems.ITEMS.add(this);
    	}
    	
    	@Override
    	public void registerModels() 
    	{
    		Main.proxy.registerItemRenderer(this, 0, "inventory");
    	}
    
    }
    //blocks
      //BlockBase.java
        ackage com.flordiaducky.duckyutilmod.blocks;
    
    import com.flordiaducky.duckyutilmod.Main;
    import com.flordiaducky.duckyutilmod.init.ModBlocks;
    import com.flordiaducky.duckyutilmod.init.ModItems;
    import com.flordiaducky.duckyutilmod.util.IHasModel;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.material.Material;
    import net.minecraft.item.Item;
    import net.minecraft.item.ItemBlock;
    
    public class BlockBase extends Block implements IHasModel
    {
    
    	public BlockBase(String name, Material material)
    	{
    		super(material);
    		setUnlocalizedName(name);
    		setRegistryName(name);
    		setCreativeTab(Main.duckyutilmodtab);
    		
    		ModBlocks.BLOCKS.add(this);
    		ModItems.ITEMS.add(new ItemBlock(this).setRegistryName(this.getRegistryName()));
    	}
    
    	@Override
    	public void registerModels() 
    	{
    		Main.proxy.registerItemRenderer(Item.getItemFromBlock(this), 0, "inventory");
    	}
    	
    }
       //PlatinumOre.java
         package com.flordiaducky.duckyutilmod.blocks;
    
    import java.util.Random;
    
    import com.flordiaducky.duckyutilmod.init.ModBlocks;
    
    import net.minecraft.block.Block;
    import net.minecraft.block.SoundType;
    import net.minecraft.block.material.Material;
    import net.minecraft.block.state.IBlockState;
    
    public class PlatinumOre extends BlockBase
    {
    
    	public PlatinumOre(String name, Material material)
    	{
    		super(name, material);
    		
    		setSoundType(SoundType.METAL);
    		setHardness(5.0F);
    		setResistance(30.0F);
    		setHarvestLevel("pickaxe", 2);
    	}
    	
         @Override
         public int quantityDropped(Random rand)
         {
        	 int max = 3;
             int min = 1;
             return rand.nextInt(max) + min;
         }
    }
    //src.main.resources
      //assets
         //dum 
           //blockstates   
             //platinum_ore.json
                {
        "variants": {
            "normal": { "model": "dum:platinum_ore" }
        }
    }
             //platinum_block.json
             {
        "variants": {
            "normal": { "model": "dum:platinum_block" }
        }
    }
          //lang
            //en_us.lang
    //Items
    item.rubber_ducky.name=Rubber Ducky
    item.platinum_ingot.name=Platinum Ingot
    //Blocks
    tile.platinum_block.name=Platinum Block
    tile.platinum_ore.name=Platinum Ore
    //Tabs
    itemGroup.duckyutilmodtab=Ducky's Util Mod
        //models
          //item
           //platinum_ore.json
             {
       "parent": "dum:block/platinum_ore"
             }
           //platinum_block.json
             {
       "parent": "dum:block/platinum_block"
             }
           //rubber_ducky.json
             {
       "parent": "item/generated",
       "textures": {
           "layer0": "dum:items/rubber_ducky"
                   }
              }
           //platinum_ingot.json
             {
       "parent": "item/generated",
       "textures": {
           "layer0": "dum:items/platinum_ingot"
                   }
             }
         //block
           //platinum_ore.json
             {
       "parent": "block/cube_all",
       "textures": {
           "all": "dum:blocks/platinum_ore"
                   }
             }
          //platinum_block.json
            {
       "parent": "block/cube_all",
       "textures": {
           "all": "dum:blocks/platinum_ore"
                   }
             }

      

    Crash Report:

    Time: 11/8/18 2:39 PM
    Description: Exception in server tick loop
    
    java.lang.IllegalArgumentException: bound must be positive
    	at java.util.Random.nextInt(Unknown Source)
    	at com.flordiaducky.duckyutilmod.world.ModWorldGen.generateOre(ModWorldGen.java:38)
    	at com.flordiaducky.duckyutilmod.world.ModWorldGen.generateOverworld(ModWorldGen.java:30)
    	at com.flordiaducky.duckyutilmod.world.ModWorldGen.generate(ModWorldGen.java:24)
    	at net.minecraftforge.fml.common.registry.GameRegistry.generateWorld(GameRegistry.java:167)
    	at net.minecraft.world.chunk.Chunk.populate(Chunk.java:1095)
    	at net.minecraft.world.chunk.Chunk.populate(Chunk.java:1074)
    	at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:169)
    	at net.minecraft.server.MinecraftServer.initialWorldChunkLoad(MinecraftServer.java:383)
    	at net.minecraft.server.integrated.IntegratedServer.loadAllWorlds(IntegratedServer.java:143)
    	at net.minecraft.server.integrated.IntegratedServer.init(IntegratedServer.java:160)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:552)
    	at java.lang.Thread.run(Unknown Source)
    
    
    A detailed walkthrough of the error, its code path and all known details is as follows:
    ---------------------------------------------------------------------------------------
    
    -- System Details --
    Details:
    	Minecraft Version: 1.12.2
    	Operating System: Windows 10 (amd64) version 10.0
    	Java Version: 1.8.0_171, Oracle Corporation
    	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    	Memory: 862620056 bytes (822 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    	IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
    	FML: MCP 9.42 Powered by Forge 14.23.5.2772 5 mods loaded, 5 mods active
    	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    
    	| State   | ID        | Version      | Source                           | Signature |
    	|:------- |:--------- |:------------ |:-------------------------------- |:--------- |
    	| UCHIJAA | minecraft | 1.12.2       | minecraft.jar                    | None      |
    	| UCHIJAA | mcp       | 9.42         | minecraft.jar                    | None      |
    	| UCHIJAA | FML       | 8.0.99.99    | forgeSrc-1.12.2-14.23.5.2772.jar | None      |
    	| UCHIJAA | forge     | 14.23.5.2772 | forgeSrc-1.12.2-14.23.5.2772.jar | None      |
    	| UCHIJAA | dum       | 1.0          | bin                              | None      |
    
    	Loaded coremods (and transformers): 
    	GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
    	Profiler Position: N/A (disabled)
    	Player Count: 0 / 8; []
    	Type: Integrated Server (map_client.txt)
    	Is Modded: Definitely; Client brand changed to 'fml,forge'

     

    platinum_block.png

    platinum_ore.png

    platinum_ingot.png

    rubber_ducky.png

  4. 2 hours ago, luiihns said:

    I think the problem is the location of your .json

     

      Reveal hidden contents
    
    
    //models
        //items <<<<<< HERE
          //rubber_ducky.json
           {
       "parent": "item/generated",
       "textures": {
           "layer0": "dum:items/rubber_ducky"
       }
    }

     

    the folder must be models / item / (and here your json)

     

    tell me,  if work or not!

    greetings!

    There nothing wrong with my resource location.

  5. Hey!!I I just a beginner and here my log.

    //Log
    [19:06:36] [main/INFO] [GradleStart]: Extra: []
    [19:06:36] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/wolf0/.gradle/caches/minecraft/assets, --assetIndex, 1.12, --accessToken{REDACTED}, --version, 1.12.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
    [19:06:36] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [19:06:36] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
    [19:06:36] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
    [19:06:36] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
    [19:06:36] [main/INFO] [FML]: Forge Mod Loader version 14.23.5.2772 for Minecraft 1.12.2 loading
    [19:06:36] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_171, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jre1.8.0_171
    [19:06:36] [main/ERROR] [FML]: Apache Maven library folder was not in the format expected. Using default libraries directory.
    [19:06:36] [main/ERROR] [FML]: Full: C:\Users\wolf0\.gradle\caches\modules-2\files-2.1\org.apache.maven\maven-artifact\3.5.3\7dc72b6d6d8a6dced3d294ed54c2cc3515ade9f4\maven-artifact-3.5.3.jar
    [19:06:36] [main/ERROR] [FML]: Trimmed: c:/users/wolf0/.gradle/caches/modules-2/files-2.1/org.apache.maven/maven-artifact/3.5.3/
    [19:06:37] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
    [19:06:37] [main/INFO] [FML]: Detected deobfuscated environment, loading log configs for colored console logs.
    [19:06:38] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLCorePlugin (net.minecraftforge.fml.relauncher.FMLCorePlugin), we are in deobf and it's a forge core plugin
    [19:06:38] [main/INFO] [FML]: Ignoring missing certificate for coremod FMLForgePlugin (net.minecraftforge.classloading.FMLForgePlugin), we are in deobf and it's a forge core plugin
    [19:06:38] [main/INFO] [FML]: Searching C:\Users\wolf0\Desktop\MinecraftModding\Ducky's Util Mod\run\.\mods for mods
    [19:06:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
    [19:06:38] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
    [19:06:38] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
    [19:06:38] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [19:06:38] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [19:06:38] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [19:06:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [19:06:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [19:06:38] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [19:06:40] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
    [19:06:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [19:06:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [19:06:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
    [19:06:40] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
    [19:06:40] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
    [19:06:40] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
    [19:06:41] [main/INFO] [net.minecraft.client.Minecraft]: Setting user: Player771
    [19:06:45] [main/INFO] [net.minecraft.client.Minecraft]: LWJGL Version: 2.9.4
    [19:06:46] [main/INFO] [FML]: -- System Details --
    Details:
    	Minecraft Version: 1.12.2
    	Operating System: Windows 10 (amd64) version 10.0
    	Java Version: 1.8.0_171, Oracle Corporation
    	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    	Memory: 830033144 bytes (791 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    	JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    	FML: 
    	Loaded coremods (and transformers): 
    	GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 15.200.1062.1004' Renderer: 'AMD Radeon HD 8670D'
    [19:06:46] [main/INFO] [FML]: MinecraftForge v14.23.5.2772 Initialized
    [19:06:46] [main/INFO] [FML]: Starts to replace vanilla recipe ingredients with ore ingredients.
    [19:06:46] [main/INFO] [FML]: Replaced 1036 ore ingredients
    [19:06:46] [main/INFO] [FML]: Searching C:\Users\wolf0\Desktop\MinecraftModding\Ducky's Util Mod\run\.\mods for mods
    [19:06:48] [main/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
    [19:06:48] [Thread-3/INFO] [FML]: Using sync timing. 200 frames of Display.update took 90921609 nanos
    [19:06:48] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, dum] at CLIENT
    [19:06:48] [main/INFO] [FML]: Attempting connection with missing mods [minecraft, mcp, FML, forge, dum] at SERVER
    [19:06:49] [main/INFO] [net.minecraft.client.resources.SimpleReloadableResourceManager]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Ducky's Util Mod
    [19:06:50] [main/INFO] [FML]: Processing ObjectHolder annotations
    [19:06:50] [main/INFO] [FML]: Found 1168 ObjectHolder annotations
    [19:06:50] [main/INFO] [FML]: Identifying ItemStackHolder annotations
    [19:06:50] [main/INFO] [FML]: Found 0 ItemStackHolder annotations
    [19:06:50] [main/INFO] [FML]: Configured a dormant chunk cache size of 0
    [19:06:50] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Starting version check at http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
    [19:06:50] [main/INFO] [FML]: Applying holder lookups
    [19:06:50] [main/INFO] [FML]: Holder lookups applied
    [19:06:50] [main/INFO] [FML]: Applying holder lookups
    [19:06:50] [main/INFO] [FML]: Holder lookups applied
    [19:06:50] [main/INFO] [FML]: Applying holder lookups
    [19:06:50] [main/INFO] [FML]: Holder lookups applied
    [19:06:50] [main/INFO] [FML]: Applying holder lookups
    [19:06:50] [main/INFO] [FML]: Holder lookups applied
    [19:06:50] [main/INFO] [FML]: Injecting itemstacks
    [19:06:50] [main/INFO] [FML]: Itemstack injection complete
    [19:06:50] [Forge Version Check/INFO] [forge.VersionCheck]: [forge] Found status: AHEAD Target: null
    [19:06:54] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Starting up SoundSystem...
    [19:06:54] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: Initializing LWJGL OpenAL
    [19:06:54] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
    [19:06:54] [Thread-5/INFO] [net.minecraft.client.audio.SoundManager]: OpenAL initialized.
    [19:06:54] [Sound Library Loader/INFO] [net.minecraft.client.audio.SoundManager]: Sound engine started
    [19:07:01] [main/INFO] [FML]: Max texture size: 16384
    [19:07:03] [main/INFO] [net.minecraft.client.renderer.texture.TextureMap]: Created: 512x512 textures-atlas
    [19:07:04] [main/ERROR] [FML]: Exception loading model for variant dum:rubber_ducky#inventory for item "dum:rubber_ducky", normal location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model dum:item/rubber_ducky with loader VanillaLoader.INSTANCE, skipping
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
    	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:302) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    	at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: java.io.FileNotFoundException: dum:models/item/rubber_ducky.json
    	at net.minecraft.client.resources.FallbackResourceManager.getResource(FallbackResourceManager.java:69) ~[FallbackResourceManager.class:?]
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:65) ~[SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadModel(ModelBakery.java:334) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.access$1400(ModelLoader.java:115) ~[ModelLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:861) ~[ModelLoader$VanillaLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [19:07:04] [main/ERROR] [FML]: Exception loading model for variant dum:rubber_ducky#inventory for item "dum:rubber_ducky", blockstate location exception: 
    net.minecraftforge.client.model.ModelLoaderRegistry$LoaderException: Exception loading model dum:rubber_ducky#inventory with loader VariantLoader.INSTANCE, skipping
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:161) ~[ModelLoaderRegistry.class:?]
    	at net.minecraftforge.client.model.ModelLoader.loadItemModels(ModelLoader.java:296) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelBakery.loadVariantItemModels(ModelBakery.java:175) ~[ModelBakery.class:?]
    	at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:151) ~[ModelLoader.class:?]
    	at net.minecraft.client.renderer.block.model.ModelManager.onResourceManagerReload(ModelManager.java:28) [ModelManager.class:?]
    	at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    	at net.minecraft.client.Minecraft.init(Minecraft.java:559) [Minecraft.class:?]
    	at net.minecraft.client.Minecraft.run(Minecraft.java:421) [Minecraft.class:?]
    	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
    	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
    	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
    	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
    	at GradleStart.main(GradleStart.java:25) [start/:?]
    Caused by: net.minecraft.client.renderer.block.model.ModelBlockDefinition$MissingVariantException
    	at net.minecraft.client.renderer.block.model.ModelBlockDefinition.getVariant(ModelBlockDefinition.java:83) ~[ModelBlockDefinition.class:?]
    	at net.minecraftforge.client.model.ModelLoader$VariantLoader.loadModel(ModelLoader.java:1175) ~[ModelLoader$VariantLoader.class:?]
    	at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:157) ~[ModelLoaderRegistry.class:?]
    	... 20 more
    [19:07:05] [main/INFO] [FML]: Applying holder lookups
    [19:07:05] [main/INFO] [FML]: Holder lookups applied
    [19:07:05] [main/INFO] [FML]: Injecting itemstacks
    [19:07:05] [main/INFO] [FML]: Itemstack injection complete
    [19:07:05] [main/INFO] [FML]: Forge Mod Loader has successfully loaded 5 mods
    [19:07:05] [main/INFO] [com.mojang.text2speech.NarratorWindows]: Narrator library for x64 successfully loaded
    [19:07:06] [Realms Notification Availability checker #1/INFO] [com.mojang.realmsclient.client.RealmsClient]: Could not authorize you against Realms server: Invalid session id
    [19:07:11] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Starting integrated minecraft server version 1.12.2
    [19:07:11] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Generating keypair
    [19:07:11] [Server thread/INFO] [FML]: Injecting existing registry data into this server instance
    [19:07:11] [Server thread/INFO] [FML]: Applying holder lookups
    [19:07:11] [Server thread/INFO] [FML]: Holder lookups applied
    [19:07:12] [Server thread/INFO] [FML]: Loading dimension 0 (testing) (net.minecraft.server.integrated.IntegratedServer@74f5fcb1)
    [19:07:12] [Server thread/INFO] [net.minecraft.advancements.AdvancementList]: Loaded 488 advancements
    [19:07:12] [Server thread/INFO] [FML]: Loading dimension -1 (testing) (net.minecraft.server.integrated.IntegratedServer@74f5fcb1)
    [19:07:12] [Server thread/INFO] [FML]: Loading dimension 1 (testing) (net.minecraft.server.integrated.IntegratedServer@74f5fcb1)
    [19:07:12] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing start region for level 0
    [19:07:13] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Preparing spawn area: 10%
    [19:07:15] [Server thread/INFO] [FML]: Unloading dimension -1
    [19:07:15] [Server thread/INFO] [FML]: Unloading dimension 1
    [19:07:15] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Changing view distance to 12, from 10
    [19:07:16] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2
    [19:07:16] [Netty Server IO #1/INFO] [FML]: Client protocol version 2
    [19:07:16] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 5 mods : [email protected],[email protected],[email protected],[email protected],[email protected]
    [19:07:16] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established
    [19:07:16] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
    [19:07:16] [Server thread/INFO] [net.minecraft.server.management.PlayerList]: Player771[local:E:706e91fe] logged in with entity id 281 at (179.83963817114733, 69.0, 272.39649962127953)
    [19:07:16] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Player771 joined the game
    [19:07:17] [Server thread/INFO] [net.minecraft.server.integrated.IntegratedServer]: Saving and pausing game...
    [19:07:17] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'testing'/overworld
    [19:07:18] [pool-2-thread-1/WARN] [com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@44f9826d[id=03825f5c-cf99-36d9-8f32-2c0adc70aba9,name=Player771,properties={},legacy=false]
    com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
    	at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:79) ~[YggdrasilAuthenticationService.class:?]
    	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:180) [YggdrasilMinecraftSessionService.class:?]
    	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:60) [YggdrasilMinecraftSessionService$1.class:?]
    	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:57) [YggdrasilMinecraftSessionService$1.class:?]
    	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) [guava-21.0.jar:?]
    	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) [guava-21.0.jar:?]
    	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) [guava-21.0.jar:?]
    	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) [guava-21.0.jar:?]
    	at com.google.common.cache.LocalCache.get(LocalCache.java:4154) [guava-21.0.jar:?]
    	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) [guava-21.0.jar:?]
    	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) [guava-21.0.jar:?]
    	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:5153) [guava-21.0.jar:?]
    	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:170) [YggdrasilMinecraftSessionService.class:?]
    	at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3181) [Minecraft.class:?]
    	at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:138) [SkinManager$3.class:?]
    	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_171]
    	at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_171]
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [?:1.8.0_171]
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [?:1.8.0_171]
    	at java.lang.Thread.run(Unknown Source) [?:1.8.0_171]
    [19:07:24] [main/INFO] [net.minecraft.client.Minecraft]: Stopping!
    [19:07:25] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Stopping server
    [19:07:25] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving players
    [19:07:25] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving worlds
    [19:07:25] [Server thread/INFO] [net.minecraft.server.MinecraftServer]: Saving chunks for level 'testing'/overworld
    [19:07:25] [Server thread/INFO] [FML]: Unloading dimension 0
    [19:07:25] [Server thread/INFO] [FML]: Applying holder lookups
    [19:07:25] [Server thread/INFO] [FML]: Holder lookups applied
    [19:07:25] [main/INFO] [net.minecraft.client.audio.SoundManager]: SoundSystem shutting down...
    [19:07:25] [main/WARN] [net.minecraft.client.audio.SoundManager]: Author: Paul Lamb, www.paulscode.com
    

     

  6. Help !!! My item textures are not working!!! Can you find the problem.

    //init
     //ModItems
       package com.flordiaducky.duckyutilmod.init;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import com.flordiaducky.duckyutilmod.items.ItemBase;
    
    import net.minecraft.item.Item;
    
    public class ModItems 
    {
    
    	public static final List<Item> ITEMS = new ArrayList<Item>();
    	
    	public static final Item RUBBER_DUCKY = new ItemBase("rubber_ducky");
    	
    }
    //Items
      //ItemBase
        public class ItemBase extends Item implements IHasModel
    {
    
    	public ItemBase(String name)
    	{
    		setUnlocalizedName(name);
    		setRegistryName(name);
    		setCreativeTab(Main.duckyutilmodtab);
    		
    		ModItems.ITEMS.add(this);
    	}
    	
    	@Override
    	public void registerModels() 
    	{
    		Main.proxy.registerItemRenderer(this, 0, "inventory");
    	}
    
    }
    //proxy
      //commonproxy
        package com.flordiaducky.duckyutilmod.proxy;
    
    import net.minecraft.item.Item;
    
    public class CommonProxy 
    {
    
    	public void registerItemRenderer(Item item, int meta, String id){}
    	
    }
      //clientproxy
        package com.flordiaducky.duckyutilmod.proxy;
    
    import net.minecraft.client.renderer.block.model.ModelResourceLocation;
    import net.minecraft.item.Item;
    import net.minecraftforge.client.model.ModelLoader;
    
    public class ClientProxy extends CommonProxy
    {
    
    	public void registerItemRenderer(Item item, int meta, String id)
    	{
    		ModelLoader.setCustomModelResourceLocation(item, meta, new ModelResourceLocation(item.getRegistryName(), id));
    	}
    	
    }
    //util
      //IHasModel
        package com.flordiaducky.duckyutilmod.util;
    
    public interface IHasModel 
    {
    	public void registerModels();
    }
      //Reference
        package com.flordiaducky.duckyutilmod.util;
    
    public class Reference 
    {
    
    	public static final String MOD_ID = "dum";
    	public static final String NAME = "Ducky's Util Mod";
    	public static final String VERSION = "1.0";
    	public static final String ACCEPTED_VERSIONS = "[1.12.2]";
    	public static final String CLIENT_PROXY_CLASS = "com.flordiaducky.duckyutilmod.proxy.ClientProxy";
    	public static final String COMMON_PROXY_CLASS = "com.flordiaducky.duckyutilmod.proxy.CommonProxy";
    	
    }
       //Handler
         //RegistryHandler
           package com.flordiaducky.duckyutilmod.util.handlers;
    
    import com.flordiaducky.duckyutilmod.init.ModItems;
    import com.flordiaducky.duckyutilmod.util.IHasModel;
    
    import net.minecraft.item.Item;
    import net.minecraftforge.client.event.ModelRegistryEvent;
    import net.minecraftforge.event.RegistryEvent;
    import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
    import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
    
    @EventBusSubscriber
    public class RegistryHandler 
    {
    
    	@SubscribeEvent
    	public static void onItemRegister(RegistryEvent.Register<Item> event)
    	{
    		event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0]));
    	}
    	
    	@SubscribeEvent
    	public static void onModelRegister(ModelRegistryEvent event)
    	{
    		for(Item item : ModItems.ITEMS)
    		{
    			if(item instanceof IHasModel)
    			{
    				((IHasModel)item).registerModels();
    			}
    		}
    	}
    	
    }
    //ASSETS
     //en_us.lang
       //Items
    item.rubber_ducky.name=Rubber Ducky
    //Tabs
    itemGroup.duckyutilmodtab=Ducky's Util Mod
      //models
        //items
          //rubber_ducky.json
           {
       "parent": "item/generated",
       "textures": {
           "layer0": "dum:items/rubber_ducky"
       }
    }
     //textures
      rubber_ducky.png

     

    rubber_ducky.png

×
×
  • Create New...

Important Information

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