自定义插件不会出现在 Minecraft 中?
Custom Plugin Wont Show Up In Minecraft?
我正在制作一个小原型插件,每分钟都可以增强生物,但该插件没有出现在服务器上。
插件导出为jar文件,放入服务器的plugins文件夹中。
非常感谢所有帮助。谢谢!
我的 3 个脚本在这里:
主要脚本:
package csw.lvlupmobs.plugin;
import org.bukkit.Bukkit;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
private static Main instance;
public static Main getInstance() {
return instance;
}
@Override
public boolean onCommand(CommandSender sender,
Command command,
String label,
String[] args) {
if (command.getName().equalsIgnoreCase("initiatelevelup")) {
sender.sendMessage("Mobs will now strengthen every minute!");
Listeners.doLevels = true;
levelup();
return true;
}
return false;
}
public void levelup() {
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
scheduler.scheduleSyncDelayedTask(this, new Runnable() {
@Override
public void run() {
Listeners.moblvl++;
Bukkit.broadcastMessage("All mobs have leveled up! New mobs will now spawn at level "
+ Listeners.moblvl + ".");
}
}, 1200);
}
@Override
public void onEnable() {
instance = this;
getServer().getPluginManager().registerEvents(new Listeners(), this);
}
@Override
public void onDisable() {
instance = null;
}
}
听众:
package csw.lvlupmobs.plugin;
import org.bukkit.potion.*;
import org.bukkit.attribute.Attribute;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;
public class Listeners implements Listener{
static int moblvl = 0;
static boolean doLevels = false;
@EventHandler
public void event(CreatureSpawnEvent event) {
if(doLevels == false) { return; }
// Creeper. Its explosion radius and knock back resistance increases with mob level
if(event.getEntityType() == EntityType.CREEPER) {
Creeper creeper = (Creeper) event.getEntity();
creeper.setExplosionRadius((int)(3 * moblvl * 0.2));
creeper.getAttribute(Attribute.GENERIC_KNOCKBACK_RESISTANCE).setBaseValue(0.05 * moblvl);
}
else
// Zombie. Its follow range, health, damage, and reinforcement spawn chance increases with mob level
if(event.getEntityType() == EntityType.ZOMBIE) {
Zombie zombie = (Zombie) event.getEntity();
zombie.getAttribute(Attribute.GENERIC_FOLLOW_RANGE).setBaseValue(45 * moblvl * 0.2);
zombie.getAttribute(Attribute.ZOMBIE_SPAWN_REINFORCEMENTS).setBaseValue(0.02 * moblvl);
zombie.getAttribute(Attribute.GENERIC_ATTACK_DAMAGE).setBaseValue(0.6 * moblvl);
zombie.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(20 * 0.2 * moblvl);
zombie.setHealth(20 * 0.2 * moblvl);
}
else
// Skeleton. Its movement speed and armor increases with mob level
if(event.getEntityType() == EntityType.SKELETON) {
Skeleton skeleton = (Skeleton) event.getEntity();
skeleton.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).setBaseValue(0.25 * moblvl * 0.1);
skeleton.getAttribute(Attribute.GENERIC_ARMOR).setBaseValue(0.75 * moblvl);
}
else
// Spider. Its movement speed, damage and jump height increases with mob level
if(event.getEntityType() == EntityType.SPIDER) {
Spider spider = (Spider) event.getEntity();
spider.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).setBaseValue(0.3 * moblvl * 0.2);
spider.getAttribute(Attribute.GENERIC_ATTACK_DAMAGE).setBaseValue(0.34 * moblvl * 2);
spider.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 99999, (int)(moblvl * 0.34)));
}
}
}
plugin.yml:
main: csw.lvlupmobs.plugin.Main
name: mobs that level-up
version: 1.0
author: Austin Powers
description: Every minute, all of the mobs increase in strength
commands:
initiatelevelup:
description: Enables mobs to level-up
usage: /initiatelevelup
我在我的服务器上加载了它,问题出在您的 plugin.yml 上。首先,用法:从描述中应该可以明显看出命令的使用是毫无意义的。其次,plugin.yml 中的间距错误,并且您在不允许的地方使用了 [tab],您必须手动 space 正确。我建议制作一个 plugin.yml 模板,这样您就可以将其复制并粘贴到您的项目中并填写您需要的内容。
固定plugin.yml:
csw.lvlupmobs.plugin.Main
name: mobs that level-up
version: 1.0
author: Austin Powers
description: Every minute, all of the mobs increase in strength
commands:
initiatelevelup:
description: Enables mobs to level-up
您的名字中有一个 Space ...
不要在 plugin.yml.
中使用 Space 字母
但我认为你可以在 "authors"
中使用它
我正在制作一个小原型插件,每分钟都可以增强生物,但该插件没有出现在服务器上。
插件导出为jar文件,放入服务器的plugins文件夹中。
非常感谢所有帮助。谢谢!
我的 3 个脚本在这里:
主要脚本:
package csw.lvlupmobs.plugin;
import org.bukkit.Bukkit;
import org.bukkit.scheduler.BukkitScheduler;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
private static Main instance;
public static Main getInstance() {
return instance;
}
@Override
public boolean onCommand(CommandSender sender,
Command command,
String label,
String[] args) {
if (command.getName().equalsIgnoreCase("initiatelevelup")) {
sender.sendMessage("Mobs will now strengthen every minute!");
Listeners.doLevels = true;
levelup();
return true;
}
return false;
}
public void levelup() {
BukkitScheduler scheduler = Bukkit.getServer().getScheduler();
scheduler.scheduleSyncDelayedTask(this, new Runnable() {
@Override
public void run() {
Listeners.moblvl++;
Bukkit.broadcastMessage("All mobs have leveled up! New mobs will now spawn at level "
+ Listeners.moblvl + ".");
}
}, 1200);
}
@Override
public void onEnable() {
instance = this;
getServer().getPluginManager().registerEvents(new Listeners(), this);
}
@Override
public void onDisable() {
instance = null;
}
}
听众:
package csw.lvlupmobs.plugin;
import org.bukkit.potion.*;
import org.bukkit.attribute.Attribute;
import org.bukkit.entity.*;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.CreatureSpawnEvent;
public class Listeners implements Listener{
static int moblvl = 0;
static boolean doLevels = false;
@EventHandler
public void event(CreatureSpawnEvent event) {
if(doLevels == false) { return; }
// Creeper. Its explosion radius and knock back resistance increases with mob level
if(event.getEntityType() == EntityType.CREEPER) {
Creeper creeper = (Creeper) event.getEntity();
creeper.setExplosionRadius((int)(3 * moblvl * 0.2));
creeper.getAttribute(Attribute.GENERIC_KNOCKBACK_RESISTANCE).setBaseValue(0.05 * moblvl);
}
else
// Zombie. Its follow range, health, damage, and reinforcement spawn chance increases with mob level
if(event.getEntityType() == EntityType.ZOMBIE) {
Zombie zombie = (Zombie) event.getEntity();
zombie.getAttribute(Attribute.GENERIC_FOLLOW_RANGE).setBaseValue(45 * moblvl * 0.2);
zombie.getAttribute(Attribute.ZOMBIE_SPAWN_REINFORCEMENTS).setBaseValue(0.02 * moblvl);
zombie.getAttribute(Attribute.GENERIC_ATTACK_DAMAGE).setBaseValue(0.6 * moblvl);
zombie.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(20 * 0.2 * moblvl);
zombie.setHealth(20 * 0.2 * moblvl);
}
else
// Skeleton. Its movement speed and armor increases with mob level
if(event.getEntityType() == EntityType.SKELETON) {
Skeleton skeleton = (Skeleton) event.getEntity();
skeleton.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).setBaseValue(0.25 * moblvl * 0.1);
skeleton.getAttribute(Attribute.GENERIC_ARMOR).setBaseValue(0.75 * moblvl);
}
else
// Spider. Its movement speed, damage and jump height increases with mob level
if(event.getEntityType() == EntityType.SPIDER) {
Spider spider = (Spider) event.getEntity();
spider.getAttribute(Attribute.GENERIC_MOVEMENT_SPEED).setBaseValue(0.3 * moblvl * 0.2);
spider.getAttribute(Attribute.GENERIC_ATTACK_DAMAGE).setBaseValue(0.34 * moblvl * 2);
spider.addPotionEffect(new PotionEffect(PotionEffectType.JUMP, 99999, (int)(moblvl * 0.34)));
}
}
}
plugin.yml:
main: csw.lvlupmobs.plugin.Main
name: mobs that level-up
version: 1.0
author: Austin Powers
description: Every minute, all of the mobs increase in strength
commands:
initiatelevelup:
description: Enables mobs to level-up
usage: /initiatelevelup
我在我的服务器上加载了它,问题出在您的 plugin.yml 上。首先,用法:从描述中应该可以明显看出命令的使用是毫无意义的。其次,plugin.yml 中的间距错误,并且您在不允许的地方使用了 [tab],您必须手动 space 正确。我建议制作一个 plugin.yml 模板,这样您就可以将其复制并粘贴到您的项目中并填写您需要的内容。
固定plugin.yml:
csw.lvlupmobs.plugin.Main
name: mobs that level-up
version: 1.0
author: Austin Powers
description: Every minute, all of the mobs increase in strength
commands:
initiatelevelup:
description: Enables mobs to level-up
您的名字中有一个 Space ... 不要在 plugin.yml.
中使用 Space 字母但我认为你可以在 "authors"
中使用它