java - 我的第一次编码,但我不知道它是否正确
问题描述
我的朋友向我展示了她为 Minecraft 插件编写的代码,您可以在其中围绕一个玩家生成 10 个爬行者。它在游戏中不起作用。所以,我决定看一些Java编码的教程并自己尝试,但是,我不知道它是否正确。有人能看一下并告诉我我至少得到了一些正确的吗?谢谢你!
import org.bukkit.command.Command;
import org.bukkit.Location;
import org.bukkit.entity.EntityType;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
public final class TestPlugin extends JavaPlugin
{
@Override
public void onEnable() {
getLogger().info("onEnable has been invoked!");
}
@Override
public void onDisable() {
getLogger().info("onDisable has been invoked!");
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
for(int = 0; i < 10; i++) {
}
if (cmd.getName().equalsIgnoreCase("creepspawn")) {
return true;
} else if (cmd.getName().equalsIgnoreCase("creepspawn2")) {
if (!(sender instanceof Player)) {
sender.sendMessage("This command can only run by player.");
} else {
Player player = (Player) sender;
}
return true;
}
return false;
case "creepspawn";
Location spawnLoc = player.getLocation(2,0,0);
World world = player.getWorld();
Creeper creeper = (Creeper) world.spawnenentity(spawnloc, EntityType.CREEPER);
return true;
}
解决方案
有两种方法可以区分命令。代码以 usingif
语句开头,然后是使用case
. 也许一位老师添加了该代码片段。下面我将所有更改为switch
确实更简单的。
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
switch (cmd.getName().toLowerCase()) {
case "creepspawn":
Location spawnLoc = player.getLocation(2,0,0);
World world = player.getWorld();
Creeper creeper = (Creeper) world.spawnenentity(spawnloc,
EntityType.CREEPER);
return true;
case "creepspawn2":
if (!(sender instanceof Player)) {
sender.sendMessage("This command can only run by player.");
} else {
Player player = (Player) sender;
}
return true;
}
return false;
}
代码远未完成。但现在你可以自己试一试了。
推荐阅读
- android - 尝试显示 50 标记时,Google 地图滚动缓慢且手机应用显示 ANR
- neo4j - 如何在 Neo4j Desktop 中重命名新项目?
- jmeter - 如何在jmeter中传递动态cookie?
- keras - 如何将 pytorch lstmcell 转换为 keras lstm 或 lstmcell
- image - 如何在 konvajs 中自由绘制形状
- python - Python doctest 不在名为 signal.py 的文件上运行
- vue.js - 步进面板之间的自定义过渡效果
- go - 切片容量
- python - 如何区分两种颜色?
- visual-studio-code - Visual Studio Code 中的多行正则表达式搜索