Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 54250|回复: 1121

[插件开发教程] ---===从零基础开始,到精通插件===---#1

    [复制链接]
berry64 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5728
钻石
性别
保密
注册时间
2013-4-17
查看详细资料
发表于 2014-12-11 21:43:11 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 berry64 于 2018-8-26 18:07 编辑




第一章:我的第一个java!


创建一个新工程
学习一个编程语言,没有HelloWorld怎么行呢?
于是乎,打开Eclipse,按下 Ctrl+Alt+N创建一个新工程,之后创建工程都可以使用这个快捷键
当然,你也可以使用右键→新建→工程来创建
c2.png
之后,我们右键src->新建->类(也可以使用屏幕上方工具栏里的"c"图标)
c3.png

创建好之后我们可以看到编辑框里出现了点东西,别慌,这是你以后经常要接触的东西,还是早点习惯吧


Java语法
类是什么?Java中的一个类可以想成一个.java文件
(之后会讲到一个.java多个类,暂时先这么说吧)
这个类就是我们写代码的地方,
(什么,你想不写代码就写插件?葡萄你删号吧 Alt+F4或者Ctrl+W了解一下)


这时候我们的代码编辑器里面应该是这样的代码:
  1. public class HelloWorld{
  2. }
复制代码
不要方,目前这个类是空的,而里面的代码是要靠开发者输入进去的 这不是废话嘛

我们在两个大括号中间加入以下代码:
  1. public static void main(String[] args){
  2. }
复制代码

这时候全部代码应该是这样的
游客,如果您要查看本帖隐藏内容请回复


好的,现在你可能是一脸懵逼,而且被本教程逼迫输入了一些奇奇怪怪的东西,
还是那句话:不要方,慢慢来解释
首先我们看到出现了两次public
, 这个代表了单词之后的方法/类是公用的,所有其他类都可以调用这个方法,相对的,这里还有以下的可以写
单词中文直译功能
public公用所有其他类都可以使用
private私有只有这个java文件内才可以使用
protected受保护的只有这个类的子类才可以使用

至于子类是什么,这个我们之后再讨论,请先继续看下去
class关键词代表了这是一个类,而它之后的HelloWorld则注明了这个类的名称。
"{"和"}"代表了一个段落的开始和结尾,比如class HelloWorld之后的"{"代表了这个类里面的内容,而文件最后的“}”表明了这个内容的结尾,通过这些段落我们可以跟整齐地规划和编写我们的代码


这个类的"{"和"}"之间写了我们的方法
每个方法可以有自己独特的功能来减少重复的代码
举个粒子:


public static void main(String[] args){}
static代表了这个方法是静态的,也就是说这个方法在程序加载的时候就会加载而不需要实例 (实例是什么之后会讲)如果不写代表并不是静态的,所以需要实例才能调用。

void
代表了这个方法的返回值,也可以理解为方法结束的时候会对使用它的东西有什么类型回应,而这里的void则代表了这个方法并不会有任何回应,只是会达成一件事而已。

main
这个位置是方法的名称,这里虽然可以写成任何东西,但是还是建议写成和内容有关的名字方便其他人理解。
而这里的main则是Java规定的主方法,也就是说java在运行你这个文件的时候只认识这个public static void main, 所以一般这里都会写成程序的启动。

main之后的括号内写的是传入这个方法的一些数据,这里的String[]代表了一组String(具体String是什么往后看),而这个args则是你给这个数据的名字。
这里的String[]是java语法规定的,只有接受这个数据类型的main才会被Java运行时使用,而名字则可以随意取,反正在这里还用不到


至此,你应该对我们为什么这么写有了点了解,现在我们在方法里加上这样的代码:
  1. System.out.println("HelloWorld");
复制代码

这段代码的作用是使用了System.out里面的println方法,并且传入了"HelloWorld"数据,这个方法的功能是在控制台输出一行文字并换行,而输出的文字就是你传入的数据。至此:所有代码
游客,如果您要查看本帖隐藏内容请回复

这里如果你点击 C5.png 运行
你会发现控制台出现了你在双引号内输入的字样


你可能发现了System.out里面还有其他的方法,比如print, 可以自己去试试看效果




一个类可以包含很多个方法,而一个java文件只能包含一个公用类, 也就是说目前我们有一个类:
HelloWorld
而这个类里有1个方法: main
所以目前分解可以理解成这样:
类HelloWorld {
   方法 main  (参数args){ /*这里省略了main里的代码*/ }
}

那么同理如果我们要再写一个方法


public class HelloWorld { 类开始
  public static void main {/*继续省略*/}
  
  public void MyFunction() {
        /*这里就是我们新写的方法里的代码了*/
  }      //这里方法结束
}    //到这里类结束


可以看到大括号小括号为我们很好的规划了这个类的结构,允许我们一眼就看出来
这是一个类,类里有两个方法, 而各个方法的代码又被区分开了


实例&类&class文件
如果你直接用压缩软件打开一个jar会发现里面的文件夹里有各种各样的.class文件,而每一个class文件在java里面代表了一个类。
这些class是由程序猿所写的.java文件编译而来的
编译是什么:


这些class文件可以理解成储存bytecode字节码的地方,而java在运行时会把这些字节码加载到内存
关于内存是什么:


而这些加载到内存的class(就是类)中的方法如果不是静态(static)的话,暂时还不会被加载到内存,所以在这个状态只是文件被缓存(储存到内存)了。
可是如果只是文件被缓存了我们要怎么使用它呢?别急,往后看。

一个类可以有多个实例,这样可能不好理解,我举个栗子:
比如你有好多个不同的物体:栗子,每一个栗子都有自己的甜度和大小,但是它仍然是个栗子,所以这时候你可以说我有一个类,而这个类是栗子,但是栗子有各种各样的栗子,而你手里的是甜度50%大小3cm?的栗子,而且这个栗子是实际存在的,不像“栗子”只是一个概念。这时候你手里的栗子就是实例,而“栗子”本身就是这个类。你制造你手里的这个栗子的时候你创建了一个“栗子”这个概念的一个实体。







旧版本



评分

参与人数 34人气 +29 金粒 +122 收起 理由
1842145743 + 1 + 6 神乎其技,不服不行!
极光creeper + 2 Ssssssssssssssssssss
wutong10086 + 1 神乎其技,不服不行!
mchappytowncc + 2 + 30 MCBBS有你更精彩~
miscis + 1 + 10 MCBBS有你更精彩~
牛逼个蛋蛋 + 1 + 15 想让我回复不可能必须评分
1276349588 + 10 愿HIM与你同在。
luo2005 + 1 给大佬递java
末影鬼 + 1 MCBBS有你更精彩~
a669884 + 1 MCBBS有你更精彩~
sediop + 1 神乎其技,不服不行!
无涯a.a + 1 + 10 神乎其技,不服不行!
super_King + 1 + 1 MCBBS有你更精彩~
汤圆宝宝 + 1 今天刚到的《Java从入门到入土》这看上去还.
qciii + 1 lz我安装不了QAQ
dbjdbj + 2 很棒的作品!
Alorw + 1 赞!
2870206676 + 1 壕,友乎?
牛奶冰麒麟 + 1 MCBBS有你更精彩~
SpaceBang + 15 很棒的作品!

查看全部评分

simοn3000 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
354
钻石
性别
保密
注册时间
2014-2-3
查看详细资料
发表于 2014-12-11 21:45:39 | 显示全部楼层
LZ刷版的节奏
回复

使用道具 举报

simοn3000 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
354
钻石
性别
保密
注册时间
2014-2-3
查看详细资料
发表于 2014-12-11 21:48:27 | 显示全部楼层
你这么教会出问题的
变量都不搞清就开始教System.out
回复

使用道具 举报

simοn3000 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
354
钻石
性别
保密
注册时间
2014-2-3
查看详细资料
发表于 2014-12-11 21:49:01 | 显示全部楼层
berry64 发表于 2014-12-11 21:49
变量?
我就教个
System.out.print和.println

虽然不写插件
但是你教java相关不先教变量后期有些麻烦吧
回复

使用道具 举报

berry64 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5728
钻石
性别
保密
注册时间
2013-4-17
查看详细资料
 楼主| 发表于 2014-12-11 21:49:24 | 显示全部楼层
simοn3000 发表于 2014-12-11 21:48
你这么教会出问题的
变量都不搞清就开始教System.out

变量?
我就教个
System.out.print和.println
回复

使用道具 举报

berry64 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5728
钻石
性别
保密
注册时间
2013-4-17
查看详细资料
 楼主| 发表于 2014-12-11 21:51:40 | 显示全部楼层
simοn3000 发表于 2014-12-11 21:49
虽然不写插件
但是你教java相关不先教变量后期有些麻烦吧

下一篇变量A
回复

使用道具 举报

simοn3000 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
354
钻石
性别
保密
注册时间
2014-2-3
查看详细资料
发表于 2014-12-11 21:53:00 | 显示全部楼层

lol
变量什么最好玩了
回复

使用道具 举报

berry64 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5728
钻石
性别
保密
注册时间
2013-4-17
查看详细资料
 楼主| 发表于 2014-12-11 21:54:20 | 显示全部楼层
练习册 发表于 2014-12-11 21:55
这种的教程,你要屠版吗?
【@淘宝

不要屠版.....但是不然怎么发啊...
回复

使用道具 举报

练习册 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2983
钻石
性别
保密
注册时间
2013-5-19
查看详细资料
发表于 2014-12-11 21:55:10 | 显示全部楼层
这种的教程,你要屠版吗?
@淘宝
回复

使用道具 举报

berry64 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5728
钻石
性别
保密
注册时间
2013-4-17
查看详细资料
 楼主| 发表于 2014-12-11 21:56:42 | 显示全部楼层
练习册 发表于 2014-12-11 21:55
这种的教程,你要屠版吗?
【@淘宝

待会再写变量的东西
回复

使用道具 举报

wkyyzhb 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2941
钻石
性别
保密
注册时间
2011-12-1
查看详细资料
发表于 2014-12-11 22:00:27 | 显示全部楼层
一开始不从txt教起真的好吗......
回复

使用道具 举报

berry64 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5728
钻石
性别
保密
注册时间
2013-4-17
查看详细资料
 楼主| 发表于 2014-12-11 22:03:16 | 显示全部楼层
wkyyzhb 发表于 2014-12-11 22:00
一开始不从txt教起真的好吗......

有必要从txt起教吗?还麻烦
回复

使用道具 举报

wkyyzhb 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
2941
钻石
性别
保密
注册时间
2011-12-1
查看详细资料
发表于 2014-12-11 22:05:13 | 显示全部楼层
berry64 发表于 2014-12-11 22:03
有必要从txt起教吗?还麻烦

我想说,对于新手,不必要使用那些便捷的东西,先学会用txt写出来一步一步的艰辛,等真正有所体味的时候再去用那些工具
回复

使用道具 举报

berry64 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
5728
钻石
性别
保密
注册时间
2013-4-17
查看详细资料
 楼主| 发表于 2014-12-11 22:07:51 | 显示全部楼层
wkyyzhb 发表于 2014-12-11 22:05
我想说,对于新手,不必要使用那些便捷的东西,先学会用txt写出来一步一步的艰辛,等真正有所体味的时候 ...

txt很麻烦的,还要设置什么环境变量,怕他们搞不懂....虽然说源语言都一样,不过不用IDE那里错了都不知道啊
回复

使用道具 举报

I_am_fudge 当前离线
帖子
主题
精华
贡献
最后登录
1970-1-1
爱心
积分
370
钻石
性别
保密
注册时间
2014-8-31
查看详细资料
发表于 2014-12-12 16:19:47 | 显示全部楼层
楼主什么都没说,就说了个;
顺序有问题,很多新手搞不懂的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 京公网安备 11010502037624号 | 手机版

GMT+8, 2019-12-7 17:20 , Processed in 0.089418 second(s), Total 23, Slave 22 queries, Release: Build.2019.12.06.1150, Gzip On, MemCached On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标 本站与Mojang以及微软公司没有从属关系

© 2010-2019 我的世界中文论坛 版权所有 本站原创图文内容版权属于原创作者,未经许可不得转载

快速回复 返回顶部 返回列表