--------------------------------------------------------------------------------------------------------------------
第七章: 一个简单的插件实例
好了,有人问为什么要发这么简单的呢?
首先应为要遵守诺言
其次应为好久没更新了
开始教程:
创建一个插件, 教程这里
最基本的东西,所以不用解释,直接放上源代码=w= 有问题之前都讲过的
- package com.github.berry64;
- import java.io.File;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.command.ConsoleCommandSender;
- import org.bukkit.entity.Player;
- import org.bukkit.plugin.java.JavaPlugin;
- public class Warnmain extends JavaPlugin{
- @Override
- public void onEnable(){
- getLogger().info("警告插件已启动!");
- CreateConfig();
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
- if(cmd.getName().equalsIgnoreCase("warn")){
- if(sender.hasPermission("warn.warn")){
- if (args.length != 2){
- sender.sendMessage(ChatColor.RED+ "请使用/warn [玩家] [原因]");
- }
- else{
- Player target = (Bukkit.getServer().getPlayer(args[0]));
- if(target == null){
- sender.sendMessage(ChatColor.AQUA+ args[0]+"不存在");
- }
- else{
- sendmessage(args[0], args[1]);
- sender.sendMessage(ChatColor.YELLOW+"已向玩家"+ args[0] +"发送警告, 原因:"+ ChatColor.GREEN+ args[1]);
- }
- }
- }
- }
- return true;
- }
- public void CreateConfig(){
- if (!new File(getDataFolder() + File.separator + "config.yml").exists()) {
- saveDefaultConfig();
- say(ChatColor.YELLOW + "无法找到config.yml,正在创建");
- } try {
- reloadConfig();
- say(ChatColor.YELLOW + "成功加载config");
- } catch (Exception e) {
- e.printStackTrace();
- getServer().getPluginManager().disablePlugin(this);
- say(ChatColor.RED + "无法读取config");
- }
- }
- public void say(String s){
- ConsoleCommandSender sender = Bukkit.getConsoleSender();
- sender.sendMessage(s);
- }
- public void sendmessage(String p, String m){
- Player asdf = (Bukkit.getServer().getPlayer(p));
- asdf.sendMessage(ChatColor.DARK_GRAY+"=========================");
- asdf.sendMessage((getConfig().getString("Warn_message").replaceAll("<reason>", m).replaceAll("&", "§")));
- asdf.sendMessage(ChatColor.DARK_GRAY+"=========================");
- }
- }
对,这就是5分钟做出来的教程, 有不会的翻以前教程
读完吱一声,告诉我一下看了什么和评论,如果条件允许的话给点人气我就知足了,给人气自己也不丢什么,不想给人气清至少回复个帖子让我知道发生了什么。
--------------------------------------------------------------------------------------------------------------------
来自群组: SmoothCraft Work
看起来不错,插件的一般结构都具备
支持大触!
哇!支持一下
第七章了……慢慢看。。
有点看不懂{:10_527:}在你的帖子有木有经常看到我的身影
屠版的姿势
没事拿asdf做Player干嘛...
支持一个 好人一生平安
1527802264 发表于 2015-3-31 00:07
有点看不懂在你的帖子有木有经常看到我的身影
有啊~感谢对我的支持
支持一下
为什么我按照你的写的 服务器却不加载
其实如果有时间的话建议大触还是讲讲这个流程是怎么控制的,但其实我并不会,所以更希望各位大触的教程内出现更多有关控制流程的讲解
支持一下qwq
支持,排版有待改进[我的眼睛]
berry64 发表于 2015-5-25 19:06
有啊~感谢对我的支持
我想加你学习,可以么?
q1499562875 发表于 2015-8-29 19:10
我想加你学习,可以么?
随便啦~
赞一个{:10_512:}
这号游泳~创建插件就是看这个贴会弄掉