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.

LassIsolet

Members
  • Joined

  • Last visited

  1. Hello everyone! Well this took me some time but I managed to learn a bit of coding and test some stuff to work on this mod. This is only a BETA version so I am basically learning stuff (AKA Java Coding hahaha). This also means that: Weapons are not craftable and the ores are not generated automatically in the World. Anyway I wanted to post the mod so you guys can give me some tips and suggestions to make it even better for us! I am really excited to work on this mod and I hope you like it! Forge Version Required: Minecraft Forge Version 1.8.9 - 11.15.1.1722 Minecraft Forum Link: https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-mods/3021191-grand-chase-mod-beta-1-8-9 Grand Craft Mod V1.0 BETA Added: > Creative Tabs with Search Bars: - Blocks Tab - Items Tab - Weapons Tab - Materials Tab > Weapons added: - Adventure Sword - Adventure Bow - Adventure Scepter - Adventure Dagger - Adventure Axe - Adventure Chakrani - Adventure Tesseract - Adventure Grimoire - Adventure Fan - Adventure SpellSword - Adventure Eyeteeth - Adventure GladiatorBlade - Adventure Rapier - Adventure BloodDancer - Adventure Gavel - Adventure Grandark - Training SoulReaver > Blocks Added: - Bermesium Ore - Concentrated Bermesium Ore - Super Concentrated Bermesium Ore - Noccium Ore - Concentrated Noccium Ore - Super Concentrated Noccium Ore - Xenium Ore - Concentrated Xenium Ore - Super Concentrated Xenium Ore - Alcubrium Ore - Concentrated Alcubrium Ore - Super Concentrated Alcubrium Ore - Ruby Ore - Ruby Dust Ore - Sapphire Ore - Sapphire Dust Ore - Topaz Ore - Topaz Dust Ore - Steel Ore - Black Steel Ore - White Bricks Type 1 - White Bricks Type 2 - White Bricks Type 3 > Materials/Items Added: - Bermesium - Concentrated Bermesium - Super Concentrated Bermesium - Noccium - Concentrated Noccium - Super Concentrated Noccium - Xenium Ore - Concentrated Xenium - Super Concentrated Xenium - Alcubrium - Concentrated Alcubrium - Super Concentrated Alcubrium - Ruby - Ruby Dust - Ruby Fragments - Sapphire - Sapphire Dust - Sapphire Fragments - Topaz - Topaz Dust - Topaz Fragments - Steel Ingot - Black Steel Ingot - Crystal - Gem - White Brick - Steel Handle - Cooked Steel Handle - GP Gold Coin - GP Silver Coin - Bermesiah Leather - Orc Hide - Goblin Hide - Bermesiah Onix - Bermesiah Enhancement Scroll - Bermesiah Helmet Base - Bermesiah Helmet Base 2 - Bermesiah Helmet Base 3 - Bermesiah Chestplate Base - Bermesiah Chestplate Base 2 - Bermesiah Chestplate Base 3 - Bermesiah Legging Base - Bermesiah Legging Base 2 - Bermesiah Legging Base 3 - Bermesiah Boots Base - Bermesiah Boots Base 2 - Bermesiah Boots Base 3
  2. LassIsolet joined the community
  3. I am having a bit of trouble rendering my custom arrow that I made on my mod. The bow consumes the item perfectly (the custom arrow item) but projectile that it shoots is a white box. I followed some tutorials and searched for this issue but none of the solutions worked. I even tried the Debugger Tool from eclipse but i got nothing. I also checked the console to see if it was giving errors but i didnt get any. Here are my classes and let me know if you need any other class to figure it out! Thank you for your time! My Main Class: package com.lassisolet.grandchasemod.main; import com.lassisolet.grandchasemod.crafting.LISmelting; import com.lassisolet.grandchasemod.entities.EntityWind; import com.lassisolet.grandchasemod.entities.render.RenderWindArrow; import com.lassisolet.grandchasemod.managers.items.tools.WindArrow; import com.lassisolet.grandchasemod.proxy.CommonProxy; import com.lassisolet.grandchasemod.util.Reference; import com.lassisolet.grandchasemod.util.handler.RegistryHandler; import com.lassisolet.grandchasemod.world.GCMWorldGen; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraftforge.fml.client.registry.IRenderFactory; import net.minecraftforge.fml.client.registry.RenderingRegistry; 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.MOD_NAME, version = Reference.VERSION) public class MainClass { @Instance(Reference.MOD_ID) public static MainClass instance; @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.COMMON_PROXY_CLASS) public static CommonProxy proxy; @EventHandler public void preInit(FMLPreInitializationEvent preEvent) { GameRegistry.registerWorldGenerator(new GCMWorldGen(), 3); RegistryHandler.preInitRegistries(preEvent); } @EventHandler public void Init(FMLInitializationEvent Event) { //Smelting[_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_] LISmelting.init(); } @EventHandler public void postInit(FMLPostInitializationEvent postEvent) { } } My Custom Arrow Render Class: package com.lassisolet.grandchasemod.entities.render; import com.lassisolet.grandchasemod.entities.EntityWind; import com.lassisolet.grandchasemod.util.Reference; import net.minecraft.client.renderer.entity.RenderArrow; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraft.util.ResourceLocation; public class RenderWindArrow extends RenderArrow<EntityWind> { public RenderWindArrow(RenderManager manager) { super(manager); } @Override protected ResourceLocation getEntityTexture(EntityWind entity) { return new ResourceLocation(Reference.MOD_ID + ":textures/entity/arrows/wind_arrow.png"); } } My Custom Arrow Class: package com.lassisolet.grandchasemod.managers.items.tools; import com.lassisolet.grandchasemod.entities.EntityWind; import com.lassisolet.grandchasemod.main.MainClass; import com.lassisolet.grandchasemod.managers.LIItems; import com.lassisolet.grandchasemod.util.IHasModel; import com.lassisolet.grandchasemod.util.Reference; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.item.ItemArrow; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class WindArrow extends ItemArrow implements IHasModel { public WindArrow(String name) { setUnlocalizedName(name); setRegistryName(name); setCreativeTab(Reference.liCreativeTab3); LIItems.ITEMS.add(this); } @Override public EntityArrow createArrow(World worldIn, ItemStack stack, EntityLivingBase shooter) { EntityWind entityWind = new EntityWind(worldIn, shooter); return entityWind; } @Override public void registerModels() { MainClass.proxy.registerItemRenderer(this, 0, "inventory"); } } My Render Handler: package com.lassisolet.grandchasemod.util.handler; import com.lassisolet.grandchasemod.entities.EntityWind; import com.lassisolet.grandchasemod.entities.render.RenderWindArrow; import net.minecraft.client.renderer.entity.Render; import net.minecraft.client.renderer.entity.RenderManager; import net.minecraftforge.fml.client.registry.IRenderFactory; import net.minecraftforge.fml.client.registry.RenderingRegistry; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class RenderHandler { public static void registerEntityRenders() { RenderingRegistry.registerEntityRenderingHandler(EntityWind.class, new IRenderFactory<EntityWind>() { @Override public Render<? super EntityWind> createRenderFor(RenderManager manager) { return new RenderWindArrow(manager); } }); } } My Registry Handler: package com.lassisolet.grandchasemod.util.handler; import com.lassisolet.grandchasemod.entities.EntityInit; import com.lassisolet.grandchasemod.managers.LIBlocks; import com.lassisolet.grandchasemod.managers.LIItems; import com.lassisolet.grandchasemod.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.EventBusSubscriber; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @EventBusSubscriber public class RegistryHandler { @SubscribeEvent public static void onItemRegister(RegistryEvent.Register<Item> event) { event.getRegistry().registerAll(LIItems.ITEMS.toArray(new Item[0])); } @SubscribeEvent public static void onBlockRegister(RegistryEvent.Register<Block> event) { event.getRegistry().registerAll(LIBlocks.BLOCKS.toArray(new Block[0])); } @SubscribeEvent public static void onModelRegister(ModelRegistryEvent event) { for (Item item : LIItems.ITEMS) { if (item instanceof IHasModel) { ((IHasModel)item).registerModels(); } } for (Block block : LIBlocks.BLOCKS) { if (block instanceof IHasModel) { ((IHasModel)block).registerModels(); } } } public static void preInitRegistries(FMLPreInitializationEvent event) { EntityInit.registerEntities(); } }

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.