自定义插件不会出现在Minecraft中吗?

问题描述 投票:0回答:2

我正在制作一个小小的原型插件,该插件每分钟都会增强小怪,但该插件未显示在服务器上。

该插件被导出为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
java eclipse plugins minecraft bukkit
2个回答
0
投票

我想把它加载到服务器上,问题出在您的plugin.yml中。首先,用法:毫无意义,该命令的使用应从描述中显而易见。其次,plugin.yml中的间距是错误的,并且您在不允许使用的[tab]位置使用了手动分隔。我建议您制作一个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

0
投票

您的名字中有空格...不要在您的plugin.yml中使用空格键。

但是我认为您可以在“作者”中使用它>

© www.soinside.com 2019 - 2024. All rights reserved.