For the past couple days, I have been trying to figure out why my language file, for internalisation, hasn't been loading; I think I have found the reason why, in the debug files for Minecraft I see that pack.mcmeta cannot be loaded, therefore, I assume the language file will not be found correctly causing it to not load.
Github Repo:
https://github.com/nibble90/MineSuperior
Here is a tree of the files:
And here is the code:
Main.java:
package com.stamp.minesuperior;
import org.jline.utils.Log;
import com.stamp.minesuperior.util.Reference;
import com.stamp.minesuperior.KeyInputHandler;
import com.stamp.minesuperior.proxy.IProxy;
import net.minecraftforge.common.MinecraftForge;
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.SERVER_PROXY_CLASS)
public static IProxy proxy;
@EventHandler
public static void PreInit(FMLPreInitializationEvent event) {
proxy.registerKeys();
// MinecraftForge.EVENT_BUS.register(new KeyInputHandler());
// KeyBindings.register();
Log.info("[MS Utilities] PreInit completed");
}
@EventHandler
public void init(FMLInitializationEvent event) {
// proxy.registerKeys();
// FMLCommonHandler.instance().bus().register(new KeyInputHandler());
MinecraftForge.EVENT_BUS.register(new KeyInputHandler());
Log.info("[MS Utilities] Init Completed");
}
@EventHandler
public static void PostInit(FMLPostInitializationEvent event) {
Log.info("[MS Utilities] PostInit Completed");
}
}
KeyBindings.java
package com.stamp.minesuperior;
import org.lwjgl.input.Keyboard;
import net.minecraft.client.settings.KeyBinding;
public class KeyBindings {
private static final String acl = "key.autoClickLeft";
private static final String acr = "key.autoClickRight";
private static final String am = "key.autoMine";
private static final String cat = "key.categories.utilities";
public static KeyBinding autoClickLeft = new KeyBinding(acl, Keyboard.KEY_DIVIDE, cat);
public static KeyBinding autoClickRight = new KeyBinding(acr, Keyboard.KEY_SUBTRACT, cat);
public static KeyBinding autoMine = new KeyBinding(am, Keyboard.KEY_MULTIPLY, cat);
// public static void register() {
// ClientRegistry.registerKeyBinding(autoClickLeft);
// ClientRegistry.registerKeyBinding(autoClickRight);
// ClientRegistry.registerKeyBinding(autoMine);
// }
//
}
KeyInputHandler.java:
package com.stamp.minesuperior;
import net.minecraft.client.Minecraft;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextFormatting;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent.ClientTickEvent;
public class KeyInputHandler {
@SubscribeEvent
public void onKeyInput(ClientTickEvent event)
{
if(KeyBindings.autoClickLeft.isPressed()){
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(TextFormatting.DARK_RED + "[MS Utilities] " + TextFormatting.RED + "Left AutoClicker Button Pressed"));
} else if(KeyBindings.autoClickRight.isPressed()){
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(TextFormatting.DARK_RED + "[MS Utilities] " + TextFormatting.RED + "Right AutoClicker Button Pressed"));
} else if(KeyBindings.autoMine.isPressed()) {
Minecraft.getMinecraft().player.sendMessage(new TextComponentString(TextFormatting.DARK_RED + "[MS Utilities] " + TextFormatting.RED + "AutoMiner Button Pressed"));
}
}
}
ClientProxy.java:
package com.stamp.minesuperior.proxy;
import com.stamp.minesuperior.KeyBindings;
import net.minecraftforge.fml.client.registry.ClientRegistry;
public class ClientProxy implements IProxy{
// @Override
// public void init() {
// this.registerKeys();
// }
@Override
public void registerKeys() {
// MinecraftForge.EVENT_BUS.register(new KeyInputHandler());
ClientRegistry.registerKeyBinding(KeyBindings.autoClickLeft);
ClientRegistry.registerKeyBinding(KeyBindings.autoClickRight);
ClientRegistry.registerKeyBinding(KeyBindings.autoMine);
}
}
IProxy.java:
package com.stamp.minesuperior.proxy;
public interface IProxy {
public abstract void registerKeys();
}
ServerProxy.java:
package com.stamp.minesuperior.proxy;
public class ServerProxy implements IProxy{
@Override
public void registerKeys() {
// TODO Auto-generated method stub
}
}
Reference.java:
package com.stamp.minesuperior.util;
public class Reference {
public static final String MOD_ID = "minesuperior";
public static final String NAME = "MineSuperior";
public static final String VERSION = "1.5";
public static final String ACCEPTED_VERSIONS = "[1.12.2]";
public static final String CLIENT_PROXY_CLASS = "com.stamp.minesuperior.proxy.ClientProxy";
public static final String SERVER_PROXY_CLASS = "com.stamp.minesuperior.proxy.ServerProxy";
}
en_gb.lang:
key.categories.utilities=MineSuperior Utilities
key.autoClickLeft=Left AutoClick
key.autoClickRight=Right AutoClick
key.autoMine=AutoMine
mcmod.info:
[
{
"modid": "minesuperior",
"name": "MineSuperior Utilities",
"description": "A utility mod built for use with MineSuperior.",
"version": "1.5",
"mcversion": "1.12.2",
"url": "",
"updateUrl": "",
"authorList": ["_Stamp_"],
"credits": "_Stamp_ for making this mod",
"logoFile": "",
"screenshots": [],
"dependencies": []
}
]
pack.mcmeta:
{
"pack": {
"description": "MineSuperior Utilities",
"pack_format": 3,
"_comment": "A pack_format of 3 should be used starting with Minecraft 1.11. All resources, including language files, should be lowercase (eg: en_us.lang). A pack_format of 2 will load your mod resources with LegacyV2Adapter, which requires language files to have uppercase letters (eg: en_US.lang)."
}
}
Most recent log:
Thanks in advance!