@Mod(modid = KitMod.MODID, name = KitMod.NAME, version = KitMod.VERSION)
public class KitMod {
public static final String
MODID = "kit",
NAME = "Kit Mod",
VERSION = "0.02";
@Mod.Instance(MODID)
public static KitMod instance;
@Mod.EventHandler
public void serverStarting(FMLServerStartingEvent event) {
event.registerServerCommand(new KitCommand());
}
}
public class KitCommand extends CommandBase {
private static HashMap<String, List<ItemStack>> kit_items = new HashMap<String, List<ItemStack>>();
private static String[] words;
static {
String kit_name...
Регистрируешь команду в FMLServerStartingEvent, типа так:как мне создать свою команду для мода.
event.registerServerCommand(new KitCommand());
Я не знаю точно, что нужно писать. Но ...А точнее команду /kit для выдачи китов
Увы тут код за тебя не напишут. Не подумай я тоже часто попрашайничаю, но безуспешно. Можешь пойти яву подучить а потом в сурсы форджа глянуть. Вот хороший курсик:А можно +- код?
public class CommandHeal implements ICommand {
public int compareTo(Object arg0) {
return 0;
}
public String getCommandName() {
return "heal";
}
public String getCommandUsage(ICommandSender p_71518_1_) {
return "/heal";
}
public List getCommandAliases() {
return null;
}
public void processCommand(ICommandSender i, String[] args) {
MinecraftServer ms = MinecraftServer.getServer();
EntityPlayerMP player = ms.getConfigurationManager().func_152612_a(i.getCommandSenderName());
player.heal(20F);
player.addChatComponentMessage(new ChatComponentTranslation("Вы были исцелены.", new Object[0]));
}
public boolean canCommandSenderUseCommand(ICommandSender i) {
return i.canCommandSenderUseCommand(4, this.getCommandName());
}
public List addTabCompletionOptions(ICommandSender p_71516_1_, String[] p_71516_2_) {
return null;
}
public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) {
return false;
}
}
@EventHandler
public void onServerStart(FMLServerStartingEvent e) {
e.registerServerCommand(new CommandHeal());
}
@Mod(modid = KitMod.MODID, name = KitMod.NAME, version = KitMod.VERSION)
public class KitMod {
public static final String
MODID = "kit",
NAME = "Kit Mod",
VERSION = "0.02";
@Mod.Instance(MODID)
public static KitMod instance;
@Mod.EventHandler
public void serverStarting(FMLServerStartingEvent event) {
event.registerServerCommand(new KitCommand());
}
}
public class KitCommand extends CommandBase {
private static HashMap<String, List<ItemStack>> kit_items = new HashMap<String, List<ItemStack>>();
private static String[] words;
static {
String kit_name;
List<ItemStack> list_items;
List<String> list_words = new ArrayList<String>();
//-------------------------------------
kit_name = "start";
list_words.add(kit_name);
list_items = new ArrayList<ItemStack>();
list_items.add(new ItemStack(Items.stick, 8));
list_items.add(new ItemStack(Blocks.planks, 4));
list_items.add(new ItemStack(Blocks.log));
kit_items.put(kit_name, list_items);
//-------------------------------------
kit_name = "day";
list_words.add(kit_name);
list_items = new ArrayList<ItemStack>();
list_items.add(new ItemStack(Items.cooked_porkchop, 8));
list_items.add(new ItemStack(Items.baked_potato, 8));
list_items.add(new ItemStack(Items.coal, 8, 1));
kit_items.put(kit_name, list_items);
//-------------------------------------
words = list_words.toArray(new String[0]);
}
@Override
public String getCommandName() {
return "kit";
}
@Override
public int getRequiredPermissionLevel() {
return 0;
}
@Override
public String getCommandUsage(ICommandSender ics) {
return "commands.kit.usage";
}
@Override
public void processCommand(ICommandSender ics, String[] args) {
if (args.length <= 0) {
throw new WrongUsageException(getCommandUsage(ics), new Object[0]);
} else {
switch(args.length) {
case 1:
if (ics instanceof EntityPlayerMP) {
EntityPlayerMP player = (EntityPlayerMP)ics;
if (kit_items.containsKey(args[0])) {
List<ItemStack> list = kit_items.get(args[0]);
for (ItemStack item : list) {
if (player.inventory.addItemStackToInventory(item))
player.worldObj.spawnEntityInWorld(new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, item));
}
}
}
break;
case 2:
if (ics.canCommandSenderUseCommand(2, getCommandName())) {
EntityPlayerMP player = MinecraftServer.getServer().getConfigurationManager().func_152612_a(args[0]);
if (player != null) {
if (kit_items.containsKey(args[1])) {
List<ItemStack> list = kit_items.get(args[1]);
for (ItemStack item : list) {
if (!player.inventory.addItemStackToInventory(item))
player.worldObj.spawnEntityInWorld(new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, item));
}
}
}
}
break;
default:
break;
}
}
}
@Override
public List addTabCompletionOptions(ICommandSender ics, String[] args) {
if (ics instanceof EntityPlayerMP) {
switch(args.length) {
case 1:
return getListOfStringsMatchingLastWord(args, words);
case 2:
if (ics.canCommandSenderUseCommand(2, getCommandName()))
return null;
return getListOfStringsMatchingLastWord(args, words);
}
} else {
switch(args.length) {
case 1:
return getListOfStringsMatchingLastWord(args, MinecraftServer.getServer().getAllUsernames());
case 2:
return getListOfStringsMatchingLastWord(args, words);
}
}
return null;
}
}
if (player.inventory.addItemStackToInventory(item))
player.worldObj.spawnEntityInWorld(new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, item));
if (!player.inventory.addItemStackToInventory(item))
player.worldObj.spawnEntityInWorld(new EntityItem(player.worldObj, player.posX, player.posY, player.posZ, item));