Jump to content

Recommended Posts

Posted

Im cleaning an dead mod and try to update it 1.12.2 Forge ...2854. I think i have a problem with the new ItemRegistry. Im actually new by coding, but i really enjoy. Maybe somone can help me with actual convetings. My Prolems are:

  • import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
  • import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent.MissingMapping;
  •  GameRegistry.register(item_oreconverter);
  • GameRegistry.addRecipe(
         
package taknax.tax.fodc;

import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
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.FMLMissingMappingsEvent;
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent.MissingMapping;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.network.simpleimpl.SimpleNetworkWrapper;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.oredict.OreDictionary;

import org.apache.logging.log4j.Logger;

import taknax.tax.fodc.block.BlockAutomaticOreConverter;
import taknax.tax.fodc.block.BlockOreConversionTable;
import taknax.tax.fodc.item.ItemOreConverter;
import taknax.tax.fodc.network.MessageODC;
import taknax.tax.fodc.proxy.CommonODCProxy;
import taknax.tax.fodc.registry.OreNameRegistry;
import taknax.tax.fodc.tileentity.TileEntityAutomaticOreConverter;

@Mod(
    modid = ModOreDicConvert.MODID,
    name = ModOreDicConvert.MODNAME,
    version = ModOreDicConvert.MODVERSION,
    dependencies = "required-after:forge@[13.19.1.2189,)"
    )
public class ModOreDicConvert
{
  public static final String MODID = "fodc";
  public static final String MODNAME = "Ore Dictionary Converter";
  public static final String MODVERSION = "1.10.0";

  public static ItemOreConverter item_oreconverter = null;
  @Instance("fodc")
  public static ModOreDicConvert instance;

  // Says where the client and server 'proxy' code is loaded.
  @SidedProxy(clientSide = "taknax.tax.fodc.proxy.ClientODCProxy", serverSide = "taknax.tax.fodc.proxy.CommonODCProxy")
  public static CommonODCProxy proxy;
  public static BlockOreConversionTable block_oreconvtable;
  public static BlockAutomaticOreConverter block_oreautoconv;
    
  public static Logger log;
  
  public static boolean log_orenames;

  public static SimpleNetworkWrapper network_channel;
    

  @EventHandler
  public void preInit(FMLPreInitializationEvent event)
  {
    log = event.getModLog();
    Configuration config = new Configuration(event.getSuggestedConfigurationFile());
    config.load();
    log_orenames = config.getBoolean("log_names", Configuration.CATEGORY_GENERAL, false, "Log registered ore names.");
    OreNameRegistry.preInit(config);
    config.save();
    
    
    NetworkRegistry.INSTANCE.registerGuiHandler(this, proxy);

    block_oreconvtable = new BlockOreConversionTable();
    block_oreautoconv = new BlockAutomaticOreConverter();
    item_oreconverter = new ItemOreConverter();

    GameRegistry.register(item_oreconverter);

    GameRegistry.register(block_oreconvtable);
    GameRegistry.register(block_oreautoconv);
    GameRegistry.register(new ItemBlock(block_oreconvtable).setRegistryName(block_oreconvtable.getRegistryName()));
    GameRegistry.register(new ItemBlock(block_oreautoconv).setRegistryName(block_oreautoconv.getRegistryName()));

    
    
    network_channel = NetworkRegistry.INSTANCE.newSimpleChannel("taknax.tax.FODC");
    network_channel.registerMessage(MessageODC.Handler.class, MessageODC.class, 0, Side.SERVER);
    network_channel.registerMessage(MessageODC.Handler.class, MessageODC.class, 0, Side.CLIENT);
  }

  @EventHandler
  public void init(FMLInitializationEvent event)
  {
    GameRegistry.registerTileEntity(TileEntityAutomaticOreConverter.class, "AutoOreConverter");
    proxy.init();

    ItemStack iron_stack = new ItemStack(Items.IRON_INGOT);
    ItemStack redstone_stack = new ItemStack(Items.REDSTONE);
    ItemStack workbench_stack = new ItemStack(Blocks.CRAFTING_TABLE);
    ItemStack wood_stack = new ItemStack(Blocks.PLANKS,1,OreDictionary.WILDCARD_VALUE);
    ItemStack cobble_stack = new ItemStack(Blocks.COBBLESTONE,1,OreDictionary.WILDCARD_VALUE);
    ItemStack oreconverter_stack = new ItemStack(item_oreconverter);
    
    GameRegistry.addRecipe(
        oreconverter_stack,
        "I",
        "C",
        "B",
        'I', iron_stack,
        'C', cobble_stack,
        'B', workbench_stack);
    GameRegistry.addRecipe(
        new ItemStack(block_oreconvtable),
        "O",
        "W",
        'O', oreconverter_stack,
        'W', wood_stack);
    GameRegistry.addRecipe(
        new ItemStack(block_oreautoconv),
        "IOI",
        "CRC",
        "ICI",
        'I', iron_stack,
        'O', oreconverter_stack,
        'R', redstone_stack,
        'C', cobble_stack);
  }


  @EventHandler
  public void postInit(FMLPostInitializationEvent event)
  {
    //log.setParent(FMLLog.getLogger());
    String[] ore_names = OreDictionary.getOreNames();
    for (String name : ore_names)
    {
      if(name == null)
      {
        log.warn("null name in Ore Dictionary.");
        continue;
      }
      OreNameRegistry.registerOreName(name);
    }
    MinecraftForge.EVENT_BUS.register(this);
  }

  @EventHandler
  public void remap(FMLMissingMappingsEvent event)
  {
    for(MissingMapping map:event.get())
    {
      String name = map.resourceLocation.getResourcePath();
      if(name.equals("oreconverter") && map.type == GameRegistry.Type.ITEM)
      {
        map.remap(item_oreconverter);
      } else if(name.equals("oreconvtable"))
      {
        switch(map.type)
        {
          case BLOCK:
            map.remap(block_oreconvtable);
            break;
          case ITEM:
            map.remap(ItemBlock.getItemFromBlock(block_oreconvtable));
            break;
          default:
            break;
        }
      } else if(name.equals("oreautoconverter"))
      {
        switch(map.type)
        {
          case BLOCK:
            map.remap(block_oreautoconv);
            break;
          case ITEM:
            map.remap(ItemBlock.getItemFromBlock(block_oreautoconv));
            break;
          default:
            break;
        }
      } else
      {
        map.warn();
      }
    }
  }

  @SubscribeEvent
  public void onOreDictionaryRegister(OreDictionary.OreRegisterEvent event)
  {
    OreNameRegistry.registerOreName(event.getName());
  }
}

 

Posted

You're trying to update TO or FROM 1.12?

This is my Forum Signature, I am currently attempting to transform it into a small guide for fixing easier issues using spoiler blocks to keep things tidy.

 

As the most common issue I feel I should put this outside the main bulk:

The only official source for Forge is https://files.minecraftforge.net, and the only site I trust for getting mods is CurseForge.

If you use any site other than these, please take a look at the StopModReposts project and install their browser extension, I would also advise running a virus scan.

 

For players asking for assistance with Forge please expand the spoiler below and read the appropriate section(s) in its/their entirety.

  Reveal hidden contents

 

Posted (edited)

I see this in your code:

public static final String MODVERSION = "1.10.0";

so i suppose you are updating from 1.10 to 1.12. Unfortunately 1.12 is not supported anymore on this forum. In case you decide to move to the most recent versions instead it would be better to rewrite the whole mod basically from scratch as the amount of things that changed since 1.10 is huge

Edited by Beethoven92

Check out the port of the BetterEnd fabric mod (WIP): https://www.curseforge.com/minecraft/mc-mods/betterend-forge-port

Posted (edited)

Ty for that, i did a fresh run and forgot to rename it. the final state of the mod was 1.11.2, but the original code was written for 1.10.

90 % of the code i writed already. this the last page, but i stuck.

I want to port to 1.12.2 especialy with forge ...2854 the latest for the mcversion.

Ty for replies.

1.12 not more supported?  So huge playerbase existing, cuz the countless servers running 1.12.2.

Edited by Taknax
Posted
  On 12/31/2020 at 4:25 AM, Taknax said:

1.12 not more supported?  So huge playerbase existing, cuz the countless servers running 1.12.2.

Expand  

Blue banner at the top of every page.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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