Jump to content

[1.11] return "commands.command.usage"; [Working][unsolved behaviour]


Recommended Posts

Posted

In the source code for the native commands I see:

public String getCommandUsage(ICommandSender sender)
    {
        return "commands.kill.usage";
    }

(as an example from the CommandKill class)...

 

I have been trying to find the file that contains the help string for "commands.kill.usage" to no avail. How do I edit or create my own for my own commands?

 

 

 

Up till now I have just put the help text directly in the return statement, such as return "Command <Argument | Argument> usage"; etc.

Posted

In the source code for the native commands I see:

public String getCommandUsage(ICommandSender sender)
    {
        return "commands.kill.usage";
    }

(as an example from the CommandKill class)...

 

I have been trying to find the file that contains the help string for "commands.kill.usage" to no avail. How do I edit or create my own for my own commands?

 

Up till now I have just put the help text directly in the return statement, such as return "Command <Argument | Argument> usage"; etc.

They are localized in/from the lang files.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

Had to reopen this question because I ran into an issue. I went ahead and created the en_US.lang file and saved it in UTF-8 with BOM. I saved the file in src/main/java/assets/testmod/lang/en_US.lang

(For the record I have tried also saving it under assets.testmod.lang in the resources file too). I have refreshed and reloaded the project...nothing.

 

Inside en_US.lang I have:

commands.testmod.usage=/testmod <command> <arguments>

 

then in my command file I have

@Override
  public String getCommandUsage(ICommandSender sender) {
    return "commands.testmod.usage";
  }

 

however, when I run /help testmod I get the string "Usage: commands.testmod.usage" rather than what it should be "/testmod <command> <arguments>". I do not understand what I am doing incorrectly.

Posted

Everything I have read said that it needed to be "en_US.lang". However, I changed it to lowercase per your suggestion and it still isn't working. I get usage: commands.testmod.usage.

 

There seemed to be debate as to whether it should be in the src folder or the resources folder though. right now I have it in both...

Posted

Everything I have read said that it needed to be "en_US.lang". However, I changed it to lowercase per your suggestion and it still isn't working. I get usage: commands.testmod.usage.

 

There seemed to be debate as to whether it should be in the src folder or the resources folder though. right now I have it in both...

Post your lang file.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

commands.testmod.usage=/testmod <command> /test <command> /tm <command>
commands.testmod.setpos1.usage=/testmod setpos1 sets position 1.
commands.testmod.setpos2.usage=/testmod setpos2 sets position 2.

 

this is all that is in it. File currently saved as en_us.lang. Inside assets.testmod.lang.

Posted (edited)

1.11 does require resource file names to be lowercase (en_us.lang), but Forge will add mod resources to the resource pack list using the LegacyV2Adapter class if they don't have a pack.mcmeta file or they have one that specifies pack_format as 2 (see FMLClientHandler#addModAsResource).

 

LegacyV2Adapter will load mixed case (en_US.lang) lang files, but will still require all other file names to be lowercase.

 

In summary: If you have a pack.mcmeta file with pack_format 3, use lowercase lang file names; otherwise use mixed case lang file names.

 

The assets folder belongs in src/main/resources (so it's copied to the compiled JAR), not in src/main/java (it's not source code that needs to be compiled).

Edited by Choonster
Fixed formatting errors caused by forum migration

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Posted

Well I seem to have gotten it working but in order to do so I had to just create an entirely new testmod. I don't have the slightest clue what was wrong with the first testmod but nothing I was doing would allow the .lang file to be recognized.

 

I should note that the first testmod file had somehow been built into it's own gradle project and was independent of my Minecraft Forge gradle project (although it could still use the forge classes etc). I closed that testmod gradle project and recoded a testmod in the Minecraft Forge src file and my .lang file is being read properly now.

 

I must have somehow screwed something up, I wish I knew what. Hopefully it continues to work for me.

 

Thanks Choonster and Animefan for the helps.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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