berry64
回到目录


--------------------------------------------------------------------------------------------------------------------


第七章: 一个简单的插件实例




好了,有人问为什么要发这么简单的呢?

首先应为要遵守诺言

其次应为好久没更新了

开始教程:

创建一个插件, 教程这里

最基本的东西,所以不用解释,直接放上源代码=w= 有问题之前都讲过的

  1. package com.github.berry64;

  2. import java.io.File;

  3. import org.bukkit.Bukkit;
  4. import org.bukkit.ChatColor;
  5. import org.bukkit.command.Command;
  6. import org.bukkit.command.CommandSender;
  7. import org.bukkit.command.ConsoleCommandSender;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.plugin.java.JavaPlugin;

  10. public class Warnmain extends JavaPlugin{
  11.         @Override
  12.         public void onEnable(){
  13.                 getLogger().info("警告插件已启动!");
  14.                 CreateConfig();
  15.         }
  16.         public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
  17.                 if(cmd.getName().equalsIgnoreCase("warn")){
  18.                         if(sender.hasPermission("warn.warn")){
  19.                                 if (args.length != 2){
  20.                                         sender.sendMessage(ChatColor.RED+ "请使用/warn [玩家] [原因]");
  21.                                 }
  22.                                 else{
  23.                                         Player target = (Bukkit.getServer().getPlayer(args[0]));
  24.                                         if(target == null){
  25.                                                 sender.sendMessage(ChatColor.AQUA+ args[0]+"不存在");
  26.                                         }
  27.                                         else{
  28.                                                 sendmessage(args[0], args[1]);
  29.                                                 sender.sendMessage(ChatColor.YELLOW+"已向玩家"+ args[0] +"发送警告, 原因:"+ ChatColor.GREEN+ args[1]);
  30.                                         }
  31.                                 }
  32.                         }
  33.                 }
  34.                 return true;
  35.         }
  36.         public void CreateConfig(){
  37.                 if (!new File(getDataFolder() + File.separator + "config.yml").exists()) {
  38.                         saveDefaultConfig();
  39.                         say(ChatColor.YELLOW + "无法找到config.yml,正在创建");
  40.                 } try {
  41.                         reloadConfig();
  42.                         say(ChatColor.YELLOW + "成功加载config");
  43.                 } catch (Exception e) {
  44.                         e.printStackTrace();
  45.               getServer().getPluginManager().disablePlugin(this);
  46.               say(ChatColor.RED + "无法读取config");
  47.                 }
  48.         }
  49.         public void say(String s){
  50.                 ConsoleCommandSender sender = Bukkit.getConsoleSender();
  51.                 sender.sendMessage(s);
  52.         }
  53.         public void sendmessage(String p, String m){
  54.                 Player asdf = (Bukkit.getServer().getPlayer(p));
  55.                 asdf.sendMessage(ChatColor.DARK_GRAY+"=========================");
  56.                 asdf.sendMessage((getConfig().getString("Warn_message").replaceAll("<reason>", m).replaceAll("&", "§")));
  57.                 asdf.sendMessage(ChatColor.DARK_GRAY+"=========================");
  58.         }
  59. }
复制代码

对,这就是5分钟做出来的教程, 有不会的翻以前教程

读完吱一声,告诉我一下看了什么和评论,如果条件允许的话给点人气我就知足了,给人气自己也不丢什么,不想给人气清至少回复个帖子让我知道发生了什么。

--------------------------------------------------------------------------------------------------------------------
回到目录





来自群组: SmoothCraft Work

Lucky777777
  看起来不错,插件的一般结构都具备

色蛋小黑
支持大触!

九尾·
哇!支持一下

enjoy-shock
第七章了……慢慢看。。

1527802264
有点看不懂{:10_527:}在你的帖子有木有经常看到我的身影

iSteven
屠版的姿势

桃渊林
没事拿asdf做Player干嘛...

作死的温柔
支持一个  好人一生平安

berry64
1527802264 发表于 2015-3-31 00:07
有点看不懂在你的帖子有木有经常看到我的身影

有啊~感谢对我的支持

@lcz
支持一下

123645525
为什么我按照你的写的  服务器却不加载

Seuyon
其实如果有时间的话建议大触还是讲讲这个流程是怎么控制的,但其实我并不会,所以更希望各位大触的教程内出现更多有关控制流程的讲解

堕星辰
支持一下qwq

WANG丶
支持,排版有待改进[我的眼睛]

q1499562875
berry64 发表于 2015-5-25 19:06
有啊~感谢对我的支持

我想加你学习,可以么?

berry64
q1499562875 发表于 2015-8-29 19:10
我想加你学习,可以么?

随便啦~

1902399802
赞一个{:10_512:}

brave_heart
这号游泳~创建插件就是看这个贴会弄掉

berry64
brave_heart 发表于 2015-9-4 15:58
这号游泳~创建插件就是看这个贴会弄掉

=w= 尽然有帮助,满足了

Bryan33
reloadConfig()方法呢~
这么偷懒真的好~

871607295
只看懂了创建命令哪一步,其他都没看懂,可以再详细点吗?

Bryan33
LZ听说过ChatColor.translateAlternateColorCodes('&',String)吗

berry64
a390807154 发表于 2015-10-12 21:00
LZ听说过ChatColor.translateAlternateColorCodes('&',String)吗

一样的效果

1912661366
你这一章我真的没有看懂
希望大触有时间能把图P一下,把每个句子的意思都解释一下,前面几章都看懂的,但是你现在直接给个源文件,有很多新的东西看不懂
麻烦大神了

小宝23
有点看不懂..

blackkainuo
新手小白默默的看着

berry64
1912661366 发表于 2015-12-18 19:50
你这一章我真的没有看懂
希望大触有时间能把图P一下,把每个句子的意思都解释一下,前面几章都看懂的,但是 ...

这里的所有东西都是以前讲过的,如果看不懂的话说明
1)没有从头看起,点击回到目录去目录看
2)没有认真看

QQ382009
支持本教程{:10_492:}希望越来越好

cten
怎么给人气 ....我是新来的  楼主太无私了

AlbusDumbledor
MCBBS有你更精彩~

131326865
开始看不懂了qwq

a13350070881
l老哥解释一下求你了

Riga
        MCBBS有你更精彩~

有鱼丸也有粗面
支持大佬

haha44444
123645525 发表于 2015-8-6 16:19
为什么我按照你的写的  服务器却不加载

编译时没选plugin.yml?第一次他默认不会选的,我用的IDEA。。

星世界_Star
但是还是不懂

一择
第一次看到,谢谢大佬,马上读完

___空__白___
桃渊林 发表于 2015-4-17 19:22
没事拿asdf做Player干嘛...

6666666666666

___空__白___
sa1402189438 发表于 2015-8-8 22:40
其实如果有时间的话建议大触还是讲讲这个流程是怎么控制的,但其实我并不会,所以更希望各位大触的教程内出 ...

Java基础会了你就自然能看懂

PbdSPds
成功了,支持

Seuyon
___空__白___ 发表于 2021-1-4 23:08
Java基础会了你就自然能看懂

这是6年前的回复了...我现在都已经参与工作了...