Bukkit.getServer().getClass()在运行后返回的其实是一个CraftServer对象,但是并不知道这些属性的作用...bukkit文档中也没有找到,想问问各位大神,该去哪里找(为了给插件加一个reload指令
)。通过反射得到了它的结构:
public final class CraftServer
{ private final String serverName;
private final String serverVersion;
private final String bukkitVersion;
private final Logger logger;
private final ServicesManager servicesManager;
private final CraftScheduler scheduler;
private final CraftCommandMap commandMap;
private final SimpleHelpMap helpMap;
private final StandardMessenger messenger;
private final SimplePluginManager pluginManager;
protected final DedicatedServer console;
protected final DedicatedPlayerList playerList;
private final Map worlds;
private YamlConfiguration configuration;
private YamlConfiguration commandsConfiguration;
private final Yaml yaml;
private final Map offlinePlayers;
private final EntityMetadataStore entityMetadata;
private final PlayerMetadataStore playerMetadata;
private final WorldMetadataStore worldMetadata;
private int monsterSpawn;
private int animalSpawn;
private int waterAnimalSpawn;
private int waterAmbientSpawn;
private int ambientSpawn;
private File container;
private WarningState warningState;
public String minimumAPI;
public CraftScoreboardManager scoreboardManager;
public boolean playerCommandState;
private boolean printSaveWarning;
private CraftIconCache icon;
private boolean overrideAllCommandBlockCommands;
public boolean ignoreVanillaPermissions;
private final List playerView;
public int reloadCount;
public static Exception excessiveVelEx;
private final Spigot spigot;
private MobGoals mobGoals;
}
public final class CraftServer
{ private final String serverName;
private final String serverVersion;
private final String bukkitVersion;
private final Logger logger;
private final ServicesManager servicesManager;
private final CraftScheduler scheduler;
private final CraftCommandMap commandMap;
private final SimpleHelpMap helpMap;
private final StandardMessenger messenger;
private final SimplePluginManager pluginManager;
protected final DedicatedServer console;
protected final DedicatedPlayerList playerList;
private final Map worlds;
private YamlConfiguration configuration;
private YamlConfiguration commandsConfiguration;
private final Yaml yaml;
private final Map offlinePlayers;
private final EntityMetadataStore entityMetadata;
private final PlayerMetadataStore playerMetadata;
private final WorldMetadataStore worldMetadata;
private int monsterSpawn;
private int animalSpawn;
private int waterAnimalSpawn;
private int waterAmbientSpawn;
private int ambientSpawn;
private File container;
private WarningState warningState;
public String minimumAPI;
public CraftScoreboardManager scoreboardManager;
public boolean playerCommandState;
private boolean printSaveWarning;
private CraftIconCache icon;
private boolean overrideAllCommandBlockCommands;
public boolean ignoreVanillaPermissions;
private final List playerView;
public int reloadCount;
public static Exception excessiveVelEx;
private final Spigot spigot;
private MobGoals mobGoals;
}
啊?我也是刚学写插件,我觉得用这个就可以
reloadConfig();
你在 IDEA 上一补全 reload 就出来 reloadConfig() 了
我记得我看的教程里有一个文档,里面都是中文,你可以看看:https://bukkit.windit.net/javadoc/
reloadConfig();
你在 IDEA 上一补全 reload 就出来 reloadConfig() 了
我记得我看的教程里有一个文档,里面都是中文,你可以看看:https://bukkit.windit.net/javadoc/
哪里需要反射,人家开源的 点击跳转
饿魔w 发表于 2021-7-23 16:39
啊?我也是刚学写插件,我觉得用这个就可以
reloadConfig();
你在 IDEA 上一补全 reload 就出来 reloadConf ...
这个只能重置config配置,我想把整个插件卸载掉,这样可以直接更新插件版本
一口吃掉幻 发表于 2021-7-23 22:39
这个只能重置config配置,我想把整个插件卸载掉,这样可以直接更新插件版本
...
你可以把自己卸载掉啊, 但是不可能自我再加载吧... scheduler 也会在插件卸载后全部被 cancel 掉的。
卸载插件的方法:getServer().getPluginManager().disablePlugin(Plugin plugin),加载同理,是 enablePlugin()
一口吃掉幻 发表于 2021-7-23 22:45
thanks,我在paprer开发文档没找到,原来在spigot里
额加油兄弟这无敌的好吧是