本帖最后由 修改器很好玩 于 2014-8-27 20:32 编辑
最近在编一个插件,叫做healthmanager,目的是输入/healthmanager heal 玩家名 使该玩家补满血,或者仅仅输入/healthmanager heal是自己补满血(假如是服务端的话必须指定玩家。不过我遇到了空指针报错:
代码如下

是这样的,我输入/hm heal han(healthmanager可以用hm代替),出现了空指针报错
@810587921
@1277832129
真的要感谢这两个人,他们帮我解答了很多问题,也没有不耐烦,这次代码比较多,我就不用强求你们了
代码如下
else{ //从这里开始是if(sender insatanceof player)的else,也就是服务端使用的代码
if(args.length==2){
if(args[0].equalsIgnoreCase("heal")){
Player target = (getServer().getPlayer(args[1]));
if(target==null){
sender.sendMessage("§4该玩家不在线或不存在!");
return true;
}else{
target.setHealth(20.0);
sender.sendMessage("§2你所指定的玩家: "+target.getName()+"已被治愈!");
target.sendMessage("§2玩家"+sender.getName()+"对你使用了治愈指令!");
return true;
}
}
}else if(args.length==1){
if(args[0].equalsIgnoreCase("heal")){
sender.sendMessage("§4你用的是服务端!服务端正确用法为/healthManager heal 玩家名!");
return true;
}
}else{
sender.sendMessage("§4你用的是服务端!服务端正确用法为/healthManager heal 玩家名!");
return true;
}
}
return false;
}
}

是这样的,我输入/hm heal han(healthmanager可以用hm代替),出现了空指针报错
@810587921
@1277832129
真的要感谢这两个人,他们帮我解答了很多问题,也没有不耐烦,这次代码比较多,我就不用强求你们了
最近在编一个插件,叫做healthmanager,目的是输入/healthmanager heal 玩家名 使该玩家补满血,或者仅仅输入/healthmanager heal是自己补满血(假如是服务端的话必须指定玩家。不过我遇到了空指针报错:
代码如下

是这样的,我输入/hm heal han(healthmanager可以用hm代替),出现了空指针报错
@810587921
@1277832129
真的要感谢这两个人,他们帮我解答了很多问题,也没有不耐烦,这次代码比较多,我就不用强求你们了
2021.12 数据,可能有更多内容
最近在编一个插件,叫做healthmanager,目的是输入/healthmanager heal 玩家名 使该玩家补满血,或者仅仅输入/healthmanager heal是自己补满血(假如是服务端的话必须指定玩家。不过我遇到了空指针报错:代码如下
else{ //从这里开始是if(sender insatanceof player)的else,也就是服务端使用的代码
if(args.length==2){
if(args[0].equalsIgnoreCase("heal")){
Player target = (getServer().getPlayer(args[1]));
if(target==null){
sender.sendMessage("§4该玩家不在线或不存在!");
return true;
}else{
target.setHealth(20.0);
sender.sendMessage("§2你所指定的玩家: "+target.getName()+"已被治愈!");
target.sendMessage("§2玩家"+sender.getName()+"对你使用了治愈指令!");
return true;
}
}
}else if(args.length==1){
if(args[0].equalsIgnoreCase("heal")){
sender.sendMessage("§4你用的是服务端!服务端正确用法为/healthManager heal 玩家名!");
return true;
}
}else{
sender.sendMessage("§4你用的是服务端!服务端正确用法为/healthManager heal 玩家名!");
return true;
}
}
return false;
}
}

是这样的,我输入/hm heal han(healthmanager可以用hm代替),出现了空指针报错
@810587921
@1277832129
真的要感谢这两个人,他们帮我解答了很多问题,也没有不耐烦,这次代码比较多,我就不用强求你们了
42行出错,自己去看看= =
810587921 发表于 2014-8-27 20:35
42行出错,自己去看看= =
第42行是
Player target = (getServer().getPlayer(args[1]));
有什么错吗?Player target Player是对象类型,target是名称,等号是赋值,getServer().getPlayer(args[1]));也没有错啊,我在查一下吧