Jump to content

ViewtifulDom

Members
  • Posts

    5
  • Joined

  • Last visited

Everything posted by ViewtifulDom

  1. In case it wasn't clear, even after making these changes, it still does not work. Does anyone know why that method can't be found, or why it suggests casting TestCommand as an 'l' type?
  2. Alright, this is what it looks like now, as per your suggestion: TestCommand.java import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; import net.minecraft.server.MinecraftServer; import net.minecraft.util.text.TextComponentString; public class TestCommand extends CommandBase { @Override public String getCommandName() { return "testcommand"; } @Override public String getCommandUsage(ICommandSender sender) { return "testcommand"; } @Override public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException { sender.addChatMessage(new TextComponentString("It works!")); } } I realized I never posted the error I was getting from registerServerCommand: The method registerServerCommand(l) in the type FMLServerStartingEvent is not applicable for the arguments (TestCommand) Main.java 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.event.FMLServerStartingEvent; @Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION) public class Main { public static final String MODID = "testmod"; public static final String MODNAME = "Domo's Test Mod"; public static final String VERSION = "1.0"; @Instance public static Main instance; @EventHandler public void load(FMLServerStartingEvent event) { event.registerServerCommand(new TestCommand()); } }
  3. Extending CommandBase hasn't fixed the error, it's still telling me the same thing. I'd like to ignore any issues with my mod instance, as it is not causing me any immediate problems. Thank you for your suggestions, though.
  4. I took out that whole line, all that's left is '@Instance', and it's giving me an error: The annotation @Mod.Instance is disallowed for this location I had that line in the first place after following this advice from a tutorial:
  5. I've just started practicing with Forge modding, and I'm trying to create a simple command that prints "It works!" to the server chat, just so I can prove that it does, in fact, work. It doesn't, of course. I can't seem to use registerServerCommand() in the code below: Main.java 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.event.FMLServerStartingEvent; @Mod(modid = Main.MODID, name = Main.MODNAME, version = Main.VERSION) public class Main { public static final String MODID = "testmod"; public static final String MODNAME = "Domo's Test Mod"; public static final String VERSION = "1.0"; @Instance public static Main instance = new Main(); @EventHandler public void load(FMLServerStartingEvent event) { event.registerServerCommand(new TestCommand()); } } TestCommand.java import java.util.ArrayList; import java.util.List; import net.minecraft.command.CommandException; import net.minecraft.command.ICommand; import net.minecraft.command.ICommandSender; import net.minecraft.server.MinecraftServer; import net.minecraft.util.math.BlockPos; import net.minecraft.util.text.TextComponentString; public class TestCommand implements ICommand { private final List aliases; public TestCommand() { aliases = new ArrayList(); aliases.add("testcommand"); aliases.add("tc"); } @Override public int compareTo(ICommand arg0) { return 0; } @Override public String getCommandName() { return "testcommand"; } @Override public String getCommandUsage(ICommandSender sender) { return "testcommand"; } @Override public List<String> getCommandAliases() { return this.aliases; } @Override public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException { sender.addChatMessage(new TextComponentString("It works!")); } @Override public boolean checkPermission(MinecraftServer server, ICommandSender sender) { return false; } @Override public List<String> getTabCompletionOptions(MinecraftServer server, ICommandSender sender, String[] args, BlockPos pos) { return null; } @Override public boolean isUsernameIndex(String[] args, int index) { return false; } } I'll be honest - I'm not good at this, there are significant holes in my understanding of Java and Forge's whole structure. I've been using Minecraft modding as practice, and it's helped me immensely in becoming a better programmer, but I still run into obstacles I can't handle. Point being - I can't solve this, although I have a feeling it's a REALLY easy fix that I'm not seeing. Can anyone shed some light on this?
×
×
  • Create New...

Important Information

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