// Path: src/main/java/fi/dy/masa/worldutils/WorldUtils.java
// @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION, certificateFingerprint = Reference.FINGERPRINT,
//     guiFactory = "fi.dy.masa.worldutils.config.WorldUtilsGuiFactory",
//     updateJSON = "https://raw.githubusercontent.com/maruohon/worldutils/master/update.json",
//     acceptableRemoteVersions = "*",
//     acceptedMinecraftVersions = "1.12",
//     dependencies = "required-after:forge@[14.21.0.2373,);")
// public class WorldUtils
// {
//     @Instance(Reference.MOD_ID)
//     public static WorldUtils instance;
// 
//     @SidedProxy(clientSide = Reference.PROXY_CLASS_CLIENT, serverSide = Reference.PROXY_CLASS_SERVER)
//     public static CommonProxy proxy;
// 
//     public static final Logger logger = LogManager.getLogger(Reference.MOD_ID);
//     public static String configDirPath;
// 
//     private static boolean modLoadedNeid;
// 
//     @EventHandler
//     public void preInit(FMLPreInitializationEvent event)
//     {
//         Configs.loadConfigsFromFile(event.getSuggestedConfigurationFile());
//         configDirPath = new File(event.getModConfigurationDirectory(), Reference.MOD_ID).getAbsolutePath();
// 
//         PacketHandler.init(); // Initialize network stuff
// 
//         proxy.registerKeyBindings();
//         proxy.registerEventHandlers();
//         modLoadedNeid = Loader.isModLoaded("neid");
//     }
// 
//     @EventHandler
//     public void serverStarting(FMLServerStartingEvent event)
//     {
//         event.registerServerCommand(new CommandWorldUtils());
//     }
// 
//     @Mod.EventHandler
//     public void onFingerPrintViolation(FMLFingerprintViolationEvent event)
//     {
//         // Not running in a dev environment
//         if (event.isDirectory() == false)
//         {
//             logger.warn("*********************************************************************************************");
//             logger.warn("*****                                    WARNING                                        *****");
//             logger.warn("*****                                                                                   *****");
//             logger.warn("*****   The signature of the mod file '{}' does not match the expected fingerprint!     *****", event.getSource().getName());
//             logger.warn("*****   This might mean that the mod file has been tampered with!                       *****");
//             logger.warn("*****   If you did not download the mod {} directly from Curse/CurseForge,       *****", Reference.MOD_NAME);
//             logger.warn("*****   or using one of the well known launchers, and you did not                       *****");
//             logger.warn("*****   modify the mod file at all yourself, then it's possible,                        *****");
//             logger.warn("*****   that it may contain malware or other unwanted things!                           *****");
//             logger.warn("*********************************************************************************************");
//         }
//     }
// 
//     public static boolean isModLoadedNEID()
//     {
//         return modLoadedNeid;
//     }
// }
// 
// Path: src/main/java/fi/dy/masa/worldutils/util/MethodHandleUtils.java
// public static class UnableToFindMethodHandleException extends RuntimeException
// {
//     private static final long serialVersionUID = 1L;
// 
//     public UnableToFindMethodHandleException(String[] methodNames, Exception failed)
//     {
//         super(failed);
//     }
// 
// }


import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.invoke.MethodHandle;
import org.apache.commons.lang3.StringUtils;
import net.minecraft.block.Block;
import net.minecraft.command.ICommandSender;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.TextComponentTranslation;
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.registries.ForgeRegistry;
import net.minecraftforge.registries.GameData;
import net.minecraftforge.registries.IForgeRegistry;
import net.minecraftforge.registries.IForgeRegistryEntry;
import fi.dy.masa.worldutils.WorldUtils;
import fi.dy.masa.worldutils.util.MethodHandleUtils.UnableToFindMethodHandleException;
package fi.dy.masa.worldutils.util;


public class RegistryUtils
{
    private static MethodHandle methodHandle_ForgeRegistry_isDummied;

    static
    {
        try
        {
            methodHandle_ForgeRegistry_isDummied = MethodHandleUtils.getMethodHandleVirtual(
                    ForgeRegistry.class, new String[] { "isDummied" }, ResourceLocation.class);
        }
// Path: src/main/java/fi/dy/masa/worldutils/WorldUtils.java
// @Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION, certificateFingerprint = Reference.FINGERPRINT,
//     guiFactory = "fi.dy.masa.worldutils.config.WorldUtilsGuiFactory",
//     updateJSON = "https://raw.githubusercontent.com/maruohon/worldutils/master/update.json",
//     acceptableRemoteVersions = "*",
//     acceptedMinecraftVersions = "1.12",
//     dependencies = "required-after:forge@[14.21.0.2373,);")
// public class WorldUtils
// {
//     @Instance(Reference.MOD_ID)
//     public static WorldUtils instance;
// 
//     @SidedProxy(clientSide = Reference.PROXY_CLASS_CLIENT, serverSide = Reference.PROXY_CLASS_SERVER)
//     public static CommonProxy proxy;
// 
//     public static final Logger logger = LogManager.getLogger(Reference.MOD_ID);
//     public static String configDirPath;
// 
//     private static boolean modLoadedNeid;
// 
//     @EventHandler
//     public void preInit(FMLPreInitializationEvent event)
//     {
//         Configs.loadConfigsFromFile(event.getSuggestedConfigurationFile());
//         configDirPath = new File(event.getModConfigurationDirectory(), Reference.MOD_ID).getAbsolutePath();
// 
//         PacketHandler.init(); // Initialize network stuff
// 
//         proxy.registerKeyBindings();
//         proxy.registerEventHandlers();
//         modLoadedNeid = Loader.isModLoaded("neid");
//     }
// 
//     @EventHandler
//     public void serverStarting(FMLServerStartingEvent event)
//     {
//         event.registerServerCommand(new CommandWorldUtils());
//     }
// 
//     @Mod.EventHandler
//     public void onFingerPrintViolation(FMLFingerprintViolationEvent event)
//     {
//         // Not running in a dev environment
//         if (event.isDirectory() == false)
//         {
//             logger.warn("*********************************************************************************************");
//             logger.warn("*****                                    WARNING                                        *****");
//             logger.warn("*****                                                                                   *****");
//             logger.warn("*****   The signature of the mod file '{}' does not match the expected fingerprint!     *****", event.getSource().getName());
//             logger.warn("*****   This might mean that the mod file has been tampered with!                       *****");
//             logger.warn("*****   If you did not download the mod {} directly from Curse/CurseForge,       *****", Reference.MOD_NAME);
//             logger.warn("*****   or using one of the well known launchers, and you did not                       *****");
//             logger.warn("*****   modify the mod file at all yourself, then it's possible,                        *****");
//             logger.warn("*****   that it may contain malware or other unwanted things!                           *****");
//             logger.warn("*********************************************************************************************");
//         }
//     }
// 
//     public static boolean isModLoadedNEID()
//     {
//         return modLoadedNeid;
//     }
// }
// 
// Path: src/main/java/fi/dy/masa/worldutils/util/MethodHandleUtils.java
// public static class UnableToFindMethodHandleException extends RuntimeException
// {
//     private static final long serialVersionUID = 1L;
// 
//     public UnableToFindMethodHandleException(String[] methodNames, Exception failed)
//     {
//         super(failed);
//     }
// 
// }


// Path: src/main/java/fi/dy/masa/worldutils/util/RegistryUtils.java
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.invoke.MethodHandle;
import org.apache.commons.lang3.StringUtils;
import net.minecraft.block.Block;
import net.minecraft.command.ICommandSender;
import net.minecraft.nbt.CompressedStreamTools;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.nbt.NBTTagList;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.text.TextComponentTranslation;
import net.minecraftforge.common.util.Constants;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.registries.ForgeRegistry;
import net.minecraftforge.registries.GameData;
import net.minecraftforge.registries.IForgeRegistry;
import net.minecraftforge.registries.IForgeRegistryEntry;
import fi.dy.masa.worldutils.WorldUtils;
import fi.dy.masa.worldutils.util.MethodHandleUtils.UnableToFindMethodHandleException;

package fi.dy.masa.worldutils.util;


public class RegistryUtils
{
    private static MethodHandle methodHandle_ForgeRegistry_isDummied;

    static
    {
        try
        {
            methodHandle_ForgeRegistry_isDummied = MethodHandleUtils.getMethodHandleVirtual(
                    ForgeRegistry.class, new String[] { "isDummied" }, ResourceLocation.class);
        }
        catch (UnableToFindMethodHandleException e)