Minecraft(我的世界)中文论坛
标题: 插件教程第二章 —— 命令
作者: a8105 时间: 2014-6-10 19:36
标题: 插件教程第二章 —— 命令
本帖最后由 810587921 于 2014-6-12 23:07 编辑













PS:
这些全都是图片..
用文字说字符非法
是我用word写好截图的= =
word:
点我
上一章 回到索引 下一章
作者: 1277832129 时间: 2014-6-10 19:36
总算是发布了
作者: 我的大刀是蛮子 时间: 2014-6-10 19:38
我是来支持一下的
作者: SkyCatcher 时间: 2014-6-10 19:39
纯图片……
我在想外链挂了的时候
作者: a8105 时间: 2014-6-10 19:40
有word的下载地址
作者: qiu1995 时间: 2014-6-14 22:48
大神你好,这是我写的源码,但是放到服务器中运行弹出这些错误。望过目
源码
- package com.hxj;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- public class jac extends JavaPlugin
- {
- public void onEnable()//貌似是插件在开启的时候总是要初始化需要用的
- {
- getLogger().info("插件已加载");//向后台发送信息
- }
- public boolean cnCommand(CommandSender sender,Command cmd,String label,String[] args)
- {
- if(label.equalsIgnoreCase("jac"))
- {
- if(args.length==0)
- {
- sender.sendMessage("§a/jac me 信息");
- sender.sendMessage("§a/jac kill 自杀");
- sender.sendMessage("§a/jac m [玩家名] [信息] 发送信息");
- return true;
- }
- }
- if(args [0].equalsIgnoreCase("me"))
- {
- if(sender instanceof Player)//如果sender 是由玩家执行的,则执行
- {
- sender.sendMessage("§a测试.........");//sender 为命令的发送者,可以是玩家也可以是控制台
- return true; //返回值
- }
- sender.sendMessage("§a该命令只能由玩家执行");//否则返回信息
- return true; //返回值
- }
- if(args [0].equalsIgnoreCase("kill")) //判断信息,equalsIgnoreCase忽略大小写
- {
- if(sender instanceof Player) //如果sender 是由玩家执行的,则执行
- {
- Player player=(Player)sender; //Player为玩家变量,player为变量名,(Player)sender 为强制转换
- player.setHealth(0.0); //设置生命值
- player.sendMessage("§a你自杀了!"); //提示信息
- return true; //返回值
- }
- sender.sendMessage("§a该命令只能由玩家执行"); //否则返回信息
- return true; //返回值
- }
- if(args [0].equalsIgnoreCase("m"))
- {
- if(!(sender instanceof Player))//当sender instanceof Player发送者不是player时则继续
- {
- if(args.length>3)
- {
- sender.sendMessage("§a参数过长!");
- return true;
- }
- if(args.length<3)
- {
- sender.sendMessage("§a参数过短!");
- return true;
- }
- Player p=getServer().getPlayer(args[1]);//getServer().getPlayer(args[1])为在服务器中搜索关键词为X名字的玩家
- if(p==null)
- {
- sender.sendMessage("§a玩家不存在,发送消息失败");
- return true;
- }
- p.sendMessage(args[2].replaceAll("&","§"));
- sender.sendMessage("§a给"+p.getName()+"的信息发送成功");
- return true;
- }
- sender.sendMessage("§a该命令只能由玩家进行");
- return true;
- }
- return false;
- }
- }
复制代码
控制台错误提示
- 22:46:29 [信息] This server is running CraftBukkit version git-Bukkit-1.6.4-R2.0
- -b2918jnks (MC: 1.6.4) (Implementing API version 1.6.4-R2.0)
- 22:46:30 [严重] Could not load 'plugins\jac.jar' in folder 'plugins'
- org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
- at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
- inLoader.java:257)
- at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
- .java:132)
- at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugins(CraftServer.ja
- va:241)
- at org.bukkit.craftbukkit.v1_6_R3.CraftServer.<init>(CraftServer.java:21
- 9)
- at net.minecraft.server.v1_6_R3.PlayerList.<init>(PlayerList.java:56)
- at net.minecraft.server.v1_6_R3.DedicatedPlayerList.<init>(SourceFile:11
- )
- at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.jav
- a:107)
- at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
- :393)
- at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
- 83)
- Caused by: while scanning for the next token
- found character '\t' that cannot start any token
- in "<reader>", line 5, column 1:
- jac:
- ^
- at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.ja
- va:358)
- at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:17
- 9)
- at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingValue.produce(P
- arserImpl.java:591)
- at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161)
- at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146)
- at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:133)
- at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java
- :237)
- at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
- at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:12
- 3)
- at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
- at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseCons
- tructor.java:121)
- at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480)
- at org.yaml.snakeyaml.Yaml.load(Yaml.java:411)
- at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
- java:188)
- at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
- inLoader.java:252)
- ... 8 more
复制代码
大神请帮忙查看错误在哪。
另外这个是plugin.yml的内容
name: jac
main: com.hxj.jac
version: 1.0
commands:
jac:
description:
usage: /jac
作者: qiu1995 时间: 2014-6-14 22:49
= =惨……本来想折叠的,用错成引用了……见谅……
作者: a8105 时间: 2014-6-14 22:52
别用TAB的空格,用普通的空格
commands:
jac: (这里2个空格)
description: 这里4个
作者: qiu1995 时间: 2014-6-15 00:25
OK!可以运行了,= =竟然不能用TAB的……
作者: 敏感词好多 时间: 2014-7-23 23:28
小白 我看不懂 还是去找视频把
作者: 修改器很好玩 时间: 2014-8-4 13:45
public boolean onCommand打成了 public boolean cnCommand
作者: ylyangzhe 时间: 2014-8-23 14:55
问下各位大神,我这里为什么sender无法解析?
作者: a8105 时间: 2014-8-23 16:23
代码发来看看?
作者: ylyangzhe 时间: 2014-8-23 19:16
我看了好像是要加一行“Player player=(player) sender”的是吗?
作者: ylyangzhe 时间: 2014-8-23 19:28
好了,可以了
作者: ylyangzhe 时间: 2014-8-23 19:29
大神,我想问下传送到一个玩家,然后十秒后又返回原地的代码怎么写,或者有没有什么bukkit句式的百科之类的东东啊,比如我要给玩家一些效果啊,或者什么的,那些代码到哪里找?
作者: a8105 时间: 2014-8-23 19:34
Location l=player1.getLocation();
player1.teleport(player2);
new X(player1,l).start();
class X extends Thread
{
private Player player;
private Location l;
public X(Player player,Location l)
{
this.player=player;
this.l=l;
}
public void run()
{
Thread.sleep(10*1000);
player.teleport(l);
}
}
作者: ylyangzhe 时间: 2014-8-24 11:35
谢谢!太感谢了!!
作者: ylyangzhe 时间: 2014-8-24 11:55
话说有些player1,player2还有teleport无法解析怎么办?
作者: a8105 时间: 2014-8-24 16:15
示范而已,player1和player2自己想= =
作者: ylyangzhe 时间: 2014-8-24 19:33
= = 我怎么想= =
作者: a8105 时间: 2014-8-24 19:35
onCommand(......)
{
Player player1=(Player)sender;
Player player2=Bukkit.getPlayer(args[0]);
Location l=player1.getLocation();
player1.teleport(player2);
new X(player1,l).start();
}
class X extends Thread
{
private Player player;
private Location l;
public X(Player player,Location l)
{
this.player=player;
this.l=l;
}
public void run()
{
Thread.sleep(10*1000);
player.teleport(l);
}
}
作者: ylyangzhe 时间: 2014-8-25 09:47
嘻嘻,感谢大神
作者: 钻石荣耀 时间: 2014-10-4 19:49
player.setHealth(0);
再给玩家设置生命值的时候
需要强制转换类型
快速修正后是这样的
((Object) player).setHealth(0.0);
((CommandSender) player).sendMessage("自杀成功");
包括这一句也是要强转的
但是前面一句快速修正以后还是错误
没有为类型 Object 定义方法 setHealth(double)
这是提示的错误
求解答{:10_509:}
作者: a8105 时间: 2014-10-4 22:28
不知道你导入了Player类包没有
Player player=(Player)sender;
player.setHe......
player.sendMessage("");
另外CommandSender也自带sendMessage方法
作者: 痴醉年华。 时间: 2014-11-5 08:18
本帖最后由 痴醉年华。 于 2014-11-5 08:19 编辑
楼主,我多次尝试,都无法在游戏内使用命令
直接复制主类,在游戏内都无法使用命令(能够加载插件)
pulgin.yml
name: JC
main: com.tip001.test.JC
version: 1.0
commands:
jiaocheng:
description: 说明
usage: 使用说明
aliases: [j , jc]
作者: 痴醉年华。 时间: 2014-11-5 12:22
问题解决了,plugin.yml空格要要分级
作者: qq867648970 时间: 2015-1-12 11:00
楼主插件的变量有多少?有没有完整的解析?
作者: qq867648970 时间: 2015-1-13 13:42
a8 replaceall参数是什么意思?
作者: 914554688wyt 时间: 2015-4-3 18:37
本帖最后由 914554688wyt 于 2015-4-3 18:49 编辑
我有一个问题 在发送信息的那一块
if(args[0].equalsIgnoreCase("m"))
{
if(!(sender instanceof Player))
{
if(args.length>3)
{
sender.sendMessage("§a参数过长!");
return true;
}
if(args.length<3)
{
sender.sendMessage("§a参数过短!");
return true;
}
Playerp=getServer().getPlayer(args[1]);
if(p==null)
{
sender.sendMessage("§a玩家不存在,发送消息失败");
return true;
}
p.sendMessage(args[2].replaceAll("&", "§"));
sender.sendMessage("§a给"+p.getName()+"的信息发送成功");
return true;
}
sender.sendMessage("§a该命令只能由玩家进行");
return true;
}
中的p.sendMessage(args[2].replaceAll("&", "§"));
发送内容吧&替换成§后的args[2]
但是args[2]不是名字吗
arg[3]好像才是内容哦!
麻烦了!
....哦哦 是从0开始算的吗 0..2
作者: linzhy 时间: 2015-7-26 11:10
Loading libraries, please wait...
[11:08:13 INFO]: Starting minecraft server version 1.7.2
[11:08:13 INFO]: Loading properties
[11:08:13 INFO]: Default game type: SURVIVAL
[11:08:13 INFO]: Generating keypair
[11:08:13 INFO]: Starting Minecraft server on *:25565
[11:08:13 INFO]: This server is running CraftBukkit version git-Bukkit-1.7.2-R0.
3-2-g85f5776-b3024jnks (MC: 1.7.2) (Implementing API version 1.7.2-R0.4-SNAPSHOT
)
[11:08:13 ERROR]: Could not load 'plugins\JC.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError
: com/zithub/moran/JC : Unsupported major.minor version 52.0
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
ava:131) ~[craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-
g85f5776-b3024jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.
java:328) ~[craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2
-g85f5776-b3024jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:251) [craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2
-g85f5776-b3024jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.ja
va:350) [craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g8
5f5776-b3024jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.<init>(CraftServer.java:31
2) [craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g85f577
6-b3024jnks]
at net.minecraft.server.v1_7_R1.PlayerList.<init>(PlayerList.java:63) [c
raftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776-b30
24jnks]
at net.minecraft.server.v1_7_R1.DedicatedPlayerList.<init>(SourceFile:14
) [craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g85f5776
-b3024jnks]
at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.jav
a:126) [craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g85
f5776-b3024jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java
:424) [craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g85f
5776-b3024jnks]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6
17) [craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g85f57
76-b3024jnks]
Caused by: java.lang.UnsupportedClassVersionError: com/zithub/moran/JC : Unsuppo
rted major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method) ~[?:1.7.0_13]
at java.lang.ClassLoader.defineClass(Unknown Source) ~[?:1.7.0_13]
at java.security.SecureClassLoader.defineClass(Unknown Source) ~[?:1.7.0
_13]
at java.net.URLClassLoader.defineClass(Unknown Source) ~[?:1.7.0_13]
at java.net.URLClassLoader.access$100(Unknown Source) ~[?:1.7.0_13]
at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.7.0_13]
at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.7.0_13]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.7.0_
13]
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.7.0_13]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
java:77) ~[craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-
g85f5776-b3024jnks]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.
java:62) ~[craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-
g85f5776-b3024jnks]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.7.0_13]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.7.0_13]
at java.lang.Class.forName0(Native Method) ~[?:1.7.0_13]
at java.lang.Class.forName(Unknown Source) ~[?:1.7.0_13]
at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.jav
a:40) ~[craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-g85
f5776-b3024jnks]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j
ava:127) ~[craftbukkit-1.7.2-R0.4-20140316.221310-4.jar:git-Bukkit-1.7.2-R0.3-2-
g85f5776-b3024jnks]
... 9 more
[11:08:14 WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[11:08:14 WARN]: The server will make no attempt to authenticate usernames. Bewa
re.
[11:08:14 WARN]: While this makes the game possible to play without internet acc
ess, it also opens up the ability for hackers to connect with any username they
choose.
[11:08:14 WARN]: To change this, set "online-mode" to "true" in the server.prope
rties file.
[11:08:14 INFO]: Preparing level "world"
[11:08:14 INFO]: Preparing start region for level 0 (Seed: -6971495887187099410)
[11:08:15 INFO]: Preparing spawn area: 68%
[11:08:15 WARN]: Could not get information about this CraftBukkit version; perha
ps you are running a custom one?: FileNotFoundException
[11:08:15 INFO]: Preparing start region for level 1 (Seed: -6971495887187099410)
[11:08:16 WARN]: Could not get latest artifact information: FileNotFoundExceptio
n
[11:08:16 INFO]: Preparing spawn area: 83%
[11:08:16 INFO]: Preparing start region for level 2 (Seed: -6971495887187099410)
[11:08:16 INFO]: Server permissions file permissions.yml is empty, ignoring it
[11:08:16 INFO]: Done (2.954s)! For help, type "help" or "?"
>
这是什么问题求大神解答
作者: 深蓝の回忆 时间: 2015-8-6 21:02
交作业。
package com.gmail.lycknight;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Helloworld extends JavaPlugin
{
@Override
public void onEnable()
{
getLogger().info("THE PLUGIN START SUCCESSFUL!");
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if(label.equalsIgnoreCase("HW"))
{
if(args.length==0)
{
sender.sendMessage("[HW] /HW m 信息");
sender.sendMessage("[HW] /HW kill 自杀");
return true;
}
if(args[0].equalsIgnoreCase("m"))
{
if(sender instanceof Player)
{
sender.sendMessage("sussessful");
return true;
}
sender.sendMessage("no");
return true;
}
if(args[0].equalsIgnoreCase("kill"))
{
if(sender instanceof Player)
{
Player player=(Player) sender;
player.setHealth(0.0);
player.sendMessage("你居然自杀了");
return true;
}
sender.sendMessage("no");
return true;
}
Player player=(Player) sender;
player.setHealth(0.0);
player.sendMessage("不存在的参数");
return true;
}
return false;
}
}
作者: 深蓝の回忆 时间: 2015-8-6 21:02
交作业。
package com.gmail.lycknight;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Helloworld extends JavaPlugin
{
@Override
public void onEnable()
{
getLogger().info("THE PLUGIN START SUCCESSFUL!");
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args)
{
if(label.equalsIgnoreCase("HW"))
{
if(args.length==0)
{
sender.sendMessage("[HW] /HW m 信息");
sender.sendMessage("[HW] /HW kill 自杀");
return true;
}
if(args[0].equalsIgnoreCase("m"))
{
if(sender instanceof Player)
{
sender.sendMessage("sussessful");
return true;
}
sender.sendMessage("no");
return true;
}
if(args[0].equalsIgnoreCase("kill"))
{
if(sender instanceof Player)
{
Player player=(Player) sender;
player.setHealth(0.0);
player.sendMessage("你居然自杀了");
return true;
}
sender.sendMessage("no");
return true;
}
Player player=(Player) sender;
player.setHealth(0.0);
player.sendMessage("不存在的参数");
return true;
}
return false;
}
}
作者: CrazyEm 时间: 2015-8-11 17:12
请问在如何用if识别玩家是否输入了存在的指令?
求作业的详细代码,谢!
作者: HuaiYang 时间: 2015-8-19 23:12
@810587921
好恶霸细心,还留作业,还给我们作业,感动啊!!![diamond_sword]
表示作业完成了~等会上截图~
作者: 旅行小哥 时间: 2015-10-2 21:41
完整代码有问题。。
作者: ddee 时间: 2016-2-5 22:04
大神求教:我的插件能在服务器里装载了,但是打/ts kill 没反应,我是在cmd窗口试的,求教
- package com.ts;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.*;
- import org.bukkit.plugin.java.JavaPlugin;
- public class mctest extends JavaPlugin
- {
- public void onEnable()//貌似是插件在开启的时候总是要初始化需要用的
- {
- getLogger().info("MCTEST插件已加载");//向后台发送信息
- }
- public boolean cnCommand(CommandSender sender,Command cmd,String label,String[] args)
- {
- if(label.equalsIgnoreCase("ts"))
- {
- if(args.length==0)
- {
- sender.sendMessage("§a/ts me 暂无作用");
- sender.sendMessage("§a/ts kill 自杀");
- sender.sendMessage("§a/ts m 远离这个世界");
- return true;
- }
- }
- if(args [0].equalsIgnoreCase("me"))
- {
- sender.sendMessage("§a都说没作用了!");
- return true; //返回值
- sender.sendMessage("§a该命令只能由玩家执行");//否则返回信息
- return true; //返回值
- }
- if(args [0].equalsIgnoreCase("kill")) //判断信息,equalsIgnoreCase忽略大小写
- {
- player.sendMessage("§a你被骗了!"); //提示信息
- return true; //返回值
- }
- if(args [0].equalsIgnoreCase("m")) //判断信息,equalsIgnoreCase忽略大小写
- {
- player.setHealth(0.0);
- player.sendMessage("§c永别了,世界!"); //提示信息
- return true; //返回值
- }
- return false;
- }
- }
复制代码
作者: kjkj2173135 时间: 2016-2-18 09:35
这章我似乎看不懂
作者: mopolun520 时间: 2016-2-21 04:04
问下LZ 不太了解replaceAll这个代码的意思
是把§替换为&吗?
作者: 卿风_ 时间: 2016-3-23 17:47
QAQ求大神 解释
我那个核心用的自己的服务器的核心 paperspigot1.8.8
然后放到服务器 没有用处QAQ 连运行都没运行]
这是咋拉
作者: 2541459039 时间: 2016-4-22 22:40
{:10_492:}新手萌萌表示 图片全挂了
作者: 2892741402 时间: 2016-7-8 14:55
大神,怎么回事啊??
[02:59:11 ERROR]: Could not load 'plugins\JC.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:162) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:133) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.ja
va:369) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.jav
a:152) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java
:458) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6
28) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInp
utException: Input length = 1
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)
~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~
[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:412) ~[spigot-1.7.x-1.8.1.jar:
git-Spigot-1649]
at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
java:232) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:157) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
... 5 more
Caused by: java.nio.charset.MalformedInputException: Input length = 1
at java.nio.charset.CoderResult.throwException(Unknown Source) ~[?:1.7.0
_40]
at sun.nio.cs.StreamDecoder.implRead(Unknown Source) ~[?:1.7.0_40]
at sun.nio.cs.StreamDecoder.read(Unknown Source) ~[?:1.7.0_40]
at java.io.InputStreamReader.read(Unknown Source) ~[?:1.7.0_40]
at org.yaml.snakeyaml.reader.UnicodeReader.read(UnicodeReader.java:123)
~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at java.io.Reader.read(Unknown Source) ~[?:1.7.0_40]
at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:184)
~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:60) ~
[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.yaml.snakeyaml.Yaml.load(Yaml.java:412) ~[spigot-1.7.x-1.8.1.jar:
git-Spigot-1649]
at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
java:232) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:157) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
... 5 more
作者: a8105 时间: 2016-7-8 18:22
plugin.yml有问题
作者: 2892741402 时间: 2016-7-8 22:27
谢谢,不过已经知道了
作者: 2892741402 时间: 2016-7-9 16:41
大神,我复习了一下,这又咋了
[04:44:36 ERROR]: Could not load 'plugins\JC.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: commands are of wrong type
at org.bukkit.plugin.PluginDescriptionFile.loadMap(PluginDescriptionFile
.java:941) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.
java:232) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPlug
inLoader.java:157) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager
.java:133) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at org.bukkit.craftbukkit.v1_7_R4.CraftServer.loadPlugins(CraftServer.ja
va:369) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.DedicatedServer.init(DedicatedServer.jav
a:152) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java
:458) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:6
28) [spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to java
.util.Map
at org.bukkit.plugin.PluginDescriptionFile.loadMap(PluginDescriptionFile
.java:923) ~[spigot-1.7.x-1.8.1.jar:git-Spigot-1649]
... 7 more
作者: a8105 时间: 2016-7-9 17:56
还是plugin.yml有问题
截图看看
作者: 2892741402 时间: 2016-7-17 16:22
前几天没玩电脑,现在来了
作者: 黄总 时间: 2016-7-28 18:31
看不到图,只好下文档了
301 当月外链流量已用完 图片挂了~{:10_492:}
作者: 7864 时间: 2016-8-24 17:26
可以用c++编插件吗QAQ,再学一个语言感觉要累死
作者: duibuqi_ 时间: 2017-4-2 17:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 掉渣渣 时间: 2018-12-11 18:11
作业
- package com.zxcsqq;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- public class LoadEnableDisable extends JavaPlugin{
- /**
- 当插件被Load(加载)时执行的代码
- getLogger().info() -> 代表或其控制台Log并且发送一行info信息
- **/
- @Override
- public void onLoad() {
- getLogger().info("onLoad 被调用!");
- }
- /**
- 当插件被Enable(开启)时执行的代码
- getLogger().info() -> 代表或其控制台Log并且发送一行info信息
- **/
- @Override
- public void onEnable() {
- getLogger().info("onEnable 被调用");
- }
- /**
- 当插件被Disable(关闭)时执行的代码
- getLogger().info() -> 代表或其控制台Log并且发送一行info信息
- **/
- @Override
- public void onDisable() {
- getLogger().info("onDisable 被调用");
- }
- @Override
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
-
- if(label.equalsIgnoreCase("jc")) {
- if(args.length==0) {
- sender.sendMessage("§a/jc message 信息");
- sender.sendMessage("§a/jc kill 自杀");
- sender.sendMessage("§a/jc m [玩家名] [信息]");
- return true;
- }
-
- if(args[0].equalsIgnoreCase("message")) {
- if(sender instanceof Player) {sender.sendMessage("§a【测试信息】你好你好");return true;}
- sender.sendMessage("§c该命令只能由玩家执行");
- }
-
- if(args[0].equalsIgnoreCase("kill")) {
- if(sender instanceof Player) {Player player = (Player)sender;player.setHealth(0.0);player.sendMessage("§a你自杀了");return true;}
- sender.sendMessage("§c该命令只能由玩家执行");
- }
-
- if(args[0].equalsIgnoreCase("m")) {
- if(!(sender instanceof Player)) {if(args.length>3) {sender.sendMessage("§a参数过长!");return true;}
- if(args.length<3) {sender.sendMessage("§a参数过短!");return true;}
- Player p = getServer().getPlayer(args[1]);
- if(p==null) {sender.sendMessage("§a玩家不存在,发送消息失败");return true;}
- p.sendMessage(args[2].replaceAll("&", "§"));
- sender.sendMessage("§a给"+p.getName()+"的信息发送成功");
- return true;
- }
- sender.sendMessage("§c该命令不能由玩家执行");
- return true;
- }
- if(sender instanceof Player) {
- Player player = (Player)sender;
- player.setHealth(0.0);
- player.sendMessage("§a参数错误你被惩罚");
- return true;
- }
- }
- return false;
- }
- }
复制代码
作者: 3190525474 时间: 2018-12-13 18:59
大神啊,为啥我看的好懵啊。。看不懂啊,????
作者: 3190525474 时间: 2018-12-13 19:00
哭唧唧。,
是我逻辑思维不好吗,。