• 周年纪念勋章活动已圆满结束,如有已购买但仍未申请的用户,可以通过对应勋章的下载链接申请~

已解决 请问大佬写插件都需要学习什么,从哪里开始入手

Apathys

【Lv:3】

注册
2021/12/17
消息
44
金粒
981金粒
如题:卑微楼主想自己编写插件,却不知道从哪里开始,应该学习哪些知识呢
电脑版插件和手机版插件会不会编写方式又有所不同呢?
电脑版插件的各种开服核心不同会不会导致编写插件也会有所差异呢?
卑微楼主用的是paper+Geyser互通服务器,会不会导致只有java版可用,基岩版则会出问题呢?
在此请求各位大佬给萌新指条明路?
 
解决方案
首先在本板块发问题贴前,我强烈建议你先看看板块置顶贴再问!
在板块置顶帖我都写了关于JE-BE互通相关开发的指南了。

因为你在JE-BE互通板块问这个问题,所以我以JE-BE互通服务器的思路去解答你的问题:

如果你没有相关的Java开发基础和经验(一般有经验的也不会问这种问题),又不想去学习的话,建议你使用Skript。Skript是一个专门面向于Java版服务器的开发脚本语言插件,基本上你英语初中及格就会写),而且通过Floodgate-Skript你可以实现对基岩版玩家的识别和操作,甚至调用基岩版原版菜单。详细的相关介绍:

看到帖子里有大佬发bds服务器插件教程,不知道能不能用在paper端上啊,有没有大佬知道
 
假如在java服务器写的插件,在互通服务器的手机端可以正常用吗,有没有大佬懂的?
 
各种端的插件开发之间完全不互通,看你什么需求学什么开发了
 
如果是Paper的话,其实可以直接学Spigot插件开发,因为Paper是基于Spigot的改版,基本上所有Spigot插件都能在Paper上运行。学插件的话,如果只是简单的插件开发,其实只需要学很基础的Java就好了(按照套路,从Hello World开始,了解Java与别的语言的不同之处,之后是变量声明与赋值,变量类型的强制转换,分支结构,循环与增强循环,函数,类(这里基本上知道类的继承,接口,抽象,构造函数和this关键字,@Override,@Getter,@Setter等注解,public,protected,private和final类型)和如何调用api,多线程选学但建议看看,Maven选学但也建议看看,是加载外部依赖用的),许多Java特有的牛皮特性其实你写小插件可能一辈子都用不上,要是你之前已经熟悉一门面向对象的语言了(即使是Python这种语法和Java大相径庭的也没关系),这些看着多,实际上你会发现大部分都是你熟悉的东西。
之后基本上你就可以直接百度“Spigot API”,有bukkit团队中文翻译版,然后plugin.yml的写法可以参考网上很多的教程,或者根据IDE的提示进行填充,对于插件本身,你只需要记住插件的主类要继承JavaPlugin类,插件主体从覆写的onEnable方法开始执行,事件监听别忘了在onEnable里面注册,事件监听器要有@EventHandler注解,多线程尽量别用Java的Runnabe,改用bukkit专用的BukkitRunnable,然后先从小的API开始到复杂的API去根据百度出来的那个Spigot API表去调用,基本上你就算学会了基本插件的写法了。
 
如果是Paper的话,其实可以直接学Spigot插件开发,因为Paper是基于Spigot的改版,基本上所有Spigot插件都能在Paper上运行。学插件的话,如果只是简单的插件开发,其实只需要学很基础的Java就好了(按照套路,从Hello World开始,了解Java与别的语言的不同之处,之后是变量声明与赋值,变量类型的强制转换,分支结构,循环与增强循环,函数,类(这里基本上知道类的继承,接口,抽象,构造函数和this关键字,@Override,@Getter,@Setter等注解,public,protected,private和final类型)和如何调用api,多线程选学但建议看看,Maven选学但也建议看看,是加载外部依赖用的),许多Java特有的牛皮特性其实你写小插件可能一辈子都用不上,要是你之前已经熟悉一门面向对象的语言了(即使是Python这种语法和Java大相径庭的也没关系),这些看着多,实际上你会发现大部分都是你熟悉的东西。
之后基本上你就可以直接百度“Spigot API”,有bukkit团队中文翻译版,然后plugin.yml的写法可以参考网上很多的教程,或者根据IDE的提示进行填充,对于插件本身,你只需要记住插件的主类要继承JavaPlugin类,插件主体从覆写的onEnable方法开始执行,事件监听别忘了在onEnable里面注册,事件监听器要有@EventHandler注解,多线程尽量别用Java的Runnabe,改用bukkit专用的BukkitRunnable,然后先从小的API开始到复杂的API去根据百度出来的那个Spigot API表去调用,基本上你就算学会了基本插件的写法了。
感谢大佬,受教了
 
首先在本板块发问题贴前,我强烈建议你先看看板块置顶贴再问!
在板块置顶帖我都写了关于JE-BE互通相关开发的指南了。

因为你在JE-BE互通板块问这个问题,所以我以JE-BE互通服务器的思路去解答你的问题:

如果你没有相关的Java开发基础和经验(一般有经验的也不会问这种问题),又不想去学习的话,建议你使用Skript。Skript是一个专门面向于Java版服务器的开发脚本语言插件,基本上你英语初中及格就会写),而且通过Floodgate-Skript你可以实现对基岩版玩家的识别和操作,甚至调用基岩版原版菜单。详细的相关介绍:

 
解决方案
首先在本板块发问题贴前,我强烈建议你先看看板块置顶贴再问!
在板块置顶帖我都写了关于JE-BE互通相关开发的指南了。

因为你在JE-BE互通板块问这个问题,所以我以JE-BE互通服务器的思路去解答你的问题:

如果你没有相关的Java开发基础和经验(一般有经验的也不会问这种问题),又不想去学习的话,建议你使用Skript。Skript是一个专门面向于Java版服务器的开发脚本语言插件,基本上你英语初中及格就会写),而且通过Floodgate-Skript你可以实现对基岩版玩家的识别和操作,甚至调用基岩版原版菜单。详细的相关介绍:

感谢大佬解答,下次一定注意
 

在线会员

  • 星陨_果酱君
  • Midnight1337
  • 云中鱼
  • 墨绒
  • SnappyRex42224
  • fufufu
  • P_star
  • Tian_Dog
  • 丽鸢
  • 甜甜粥
  • CarefreeValley
  • 小智i
  • daicheng01
  • 代班DJ
  • Beihai_07
  • Crazy_Jky
  • banyue2022
  • Xiao ZheYa
  • sssjiu
  • 枫叶的温柔
  • DY333
...和 46 更多。
后退
顶部 底部