首先我们要了解js,js是什么?js全称JavaScript,不过它和java有很大的区别:java是一种专业性的多平台编程语音,是一个老牌的资深编程语音;而JavaScript不一样,它相对比较大众性,容易入门,它一般是用了设置网页和编辑服务器客户端,不过在mcpe中我们有它的其他作用。用来修改程序,也就是MCPE。
js不需要专门的编写工具,如果你愿意的话甚至可以用任何系统自带的记事本,不过我不推荐这样,为了编写方便这里给几个推荐 安卓:920编辑器;los:这个没找到;pc:JavaScript(没错就是这个名字).
为什么要用这些软件呢,它们可以 语法高亮、数行之类的功能。
任何应用商城都可以搜到上面的应用,所以不提供地址了。
js的作用-
js本身是个网页HTML添加动态内容的,不过在mcpe中我们是用来普及mod而出现的,玩过pc的都知道,mc的mod通常是会增加许多方块、添加许多其它的游戏机制和元素;不过,js要简单一些,更多是修改一下游戏的程序而已,不过也不是不可以到达mod的一般效果,不过需要更高的技术。
好的回到正传.第一部分 基本语法
这里,我们了解“if”,“if的中文意思是“如果”
常见格式如下:
if(满足的条件)
{
做出什么
}
我们分析一下:“if”后加“()”是不变的使用方法,和数学中一样,在js中也有“()”“[]”“{}”的,并且也是按照先小括号再中括号再大括号(花括号)的判断顺序。
“满足的条件”就是需要判断的因素;并且如果需要写几个以上的条件,那么需要用“&&”相联接,所以可以吧“&&”理解为“并且”。
然后大家注意“{”和“}”,在js中,我们可以把“{”理解为“那么”、把“}”理解为“完毕”;注意一个很常见又致命的低级错误:“{”和“}”数量不一致,也就是错误的结尾。我们需要死记:前面写了多少“{”后面就必须写多少“}”,不能多也不能少。
还有注意的是其实“{”“}”不一定需要回车,所以这样也行“
if(满足的条件){
做出什么}
不过我不建议这样做,因为这样看起来不简单明了。
. 语法就暂时停止,因为下面我们会从实例中学校语法。
第一部分结束-
第二部分。Hook(钩子).第一节:认识钩子
说到钩子大家第一想到的应该就是加勒比海盗船长手上的铁钩吧?不过这里的钩子不是这样当时其实本质也差不多。
为什么这么说呢?首先我们需要了解Hook。
Hook在js中的钩子是什么意思呢?大家想一想生活中钩子的作用,是不是勾住拉动东西?hokk也一样,它就是拉动下面非Hook的函数的铁钩。
注:这里我把js中的函数分为“hook”类和“非hook类”
“非”当然就是“不是”的意思。
Hook第二节 function
“function”是什么意思?它的中文意思就是“自定义函数模组”的意思,或是说“函数”。“function”是每个js每个部分必须的开头(除文字显示),就是告诉读取js的东西“下面是函数了啊,看清楚点啊!”的意思,不然它哪知道你下面写得什么鸟语。
“function”出现在后面钩子的前面,这样的格式:
function hook(当然不是直接填“hook”这个单词)
{
if( )
{
……
}
}
我们简要分析一下上面的格式
“function”引出下文、hook表情况、“if”辨条件、“{”接下去、“……”做动作、“}”结束
一气呵成不丝毫拖泥带水!
注意的是“hook”是你需要填“在什么情况下触发的钩子”,钩子不可以乱用。比如你把点击方块触发的钩子写成了点击生物触发的钩子的话,那么下面的一切东西都没有原本的意思了,如果你不注意一致还直接出错。
以及在你需要的不同情况下触发的钩子是可以多个的。(“注意”里的东西没看懂也没关系)。
. Hook 第三节:分析“useItem”
我们看到“useItem”
分析一下,“useItem”(为了区分大小写我“I”用的是全角符号)
它是“点击一个方块时触发”的意思。 注意的是一般hook有两个单词组成,比如这里的“use”和“Item”组成,一定记住第二个单词首字母要大写!
Hook是这样的格式(把这个代入)
function useItem(x,y,z,itemId,blockId)
{
if( )
{
……
}
}
我们分析一下 function是必须的开头,useItem表示在点击方块时触发。现在我们注意(x,y,z,itemId,blockId)表示的是存在这些因素。
itemid为手持方块的id,blockid为被点击方块的id。所以我们知道填方块时是填它的id的。
所以这个hook一起就是
function useItem(x,y,z,itemId,blockId)
表示的意思是“在什么坐标处,手持什么点击什么”
需要时照抄便可
现在我们看一个实例:
function useItem(x,y,z,a,b)
{
if(a==280&&b==5)
{
print ("你点击了木板")
}
}
让我们分析一下这个js
“useItem(x,y,z,a,b),大家可能会问:怎么是“a”和“b”呢?不应该是itemid和blockid吗?其实这是一种简写,下面的条件判断中也是写a和b,要因素一致。而且如果是你的话写“useItem(x,y,z,XXX,XXX)”都可以,也就是可以自己填,不过对于初学者我不建议这样。
然后看到“if(a==280&&b==5)”,hook内写的是a和b所以也是以a和b为判断因素。“280”和“5”是方块木棍和木板的id。更重要的是“==”,为什么有两个等于呢?通俗的讲:在条件判断中用“==”在变量中用“=”。具体原因是因为表示附值。前面说了“&&”是并且的意思。注意这个js有两个“{”,所以有两个“}”。
如果把这个实例直译一下,就是这样:
“函数 点击方块时触发 存在坐标和手持方块以及被点击方块因素 那么 如果手持id为280的木棍并且被点击的方块id为5 那么 浮窗显示:你点击了木板 完 完
注意:中文的“”()[]{}&&和英文的""()[]{}&&不一样。为了不出错,我强烈建议一直保持英文输入函数和符号等一切;需要写中文的地方最后一起写,之前先空着。
第三部分 第一节:从实例分析来学格式和语法.
实例:
function newLevel()//加载地图时触发
{
print("欢迎来到这个世界")
}
function leaveGame()//离开地图时触发
{
print("再见")
}
这是一个欢迎语js,“//”后面是我的批注,也就是解释。
分析.为什么这两个钩子后面的括号内没有内容?
因为前面我们讲过的“useItem"后面有内容是因为存在一些hook本身不包含的因素;而这个“newLevel"它自己本身就有了我们想要的“加载地图时触发”的用处,所以后面括号虽然也要写但是为空(“为空是没有的意思,不是空格”)
之所以有两个“function”是因为我们需要在不同的情况下触发,所以“newlevel和“leavegame”的前面都要加“function”声明函数钩子变换
实例:
function useItem(x,y,z,itemId,blockId)
{
if(itemId==280)
{
explode(x,y+10,z,20);//在点击处前十格引发一起半径为20的爆炸
{
clientMessage("爆破!")//聊天信息中添加内容
}
}
}
分析.if之前现象大家都看懂了吧?我们讲一讲if之后。
为什么if内只有一个“itiemid”?因为这个js表达的意思就是“如果用木棍点击任何方块”,所以if内不用在写“blockid”。
那为什么hook内要写?
因为虽然“被点击方块”这个条件不用判断不过却还是一个存在的因素,所以hook的括号内要写,来声明“存在被点击的方块”。
“”explode"是“爆炸”的意思。
爆炸的函数是:
explode(x,y,z,redius)
“redius”是半径的意思
特讲:x,y,z 第三部分第二节
x,y,z会分别存在于hook、if、设置中。分别讲一下:
hook内、作用:声明存在坐标因素。
如:function useItem(x,y,z)
if内:如果if内没有x,y,z表示直接是点击方块的坐标;如果写了X/Y/Z==什么,那么表示必须在指定的位置,比如下面例子中的x=50y==45z==52,就表示只有点击这个坐标的方块才满足条件。
如:if(x==50&&y==45&&z==52)
设置内 如: explpde(x,y+10,z+1)
作用,用来设置坐标处,并且和if内一样“x,y,z"可以做数学运算。和if不同的是它表示直接是点击方块的形式是写“(x,y,z)"而不是不写。
第三节 更多实例
实例.
function modTick()
{
clientMessage("哇哈哈")
}
我们分析一下:“function modTick()”是每刻(0.05s) 执行一次 的意思;“()”内没有内容的原因上面讲过认真看。
没有判断条件 表示不需要判断直接执行下面的动作。“clientMessage"是表示在聊天消息中添加后面“("")”里的内容。
很明显这是一个刷屏js。
实例.
function attackHokk(attacker,victim)
{
if(attacker==getplayerEnt();&&victim==pig)
{
rideAnimal(player,pig);
{
preventDefault();//阻止原有动作
}
}
}
我们分析一下这个js
钩子是 当点击一个实体时触发 ;“attacker”和“victim"分别是“进行点击的实体”和“被点击的实体”。
再注意“getplayerEnt",它是 获取玩家实体 的意思;所以在需要我们填玩家的实体时就填这个。
看到“preveDefawlt();”,它是 阻止原动作的意思,注意是“原动作”,所以这个js加了这个函数你点击猪就不会对对猪造成伤害了。
这个js的关键词我不讲,注意的是语法。
大家看 阻止原动作 和聊天栏显示之间没有“{”,是我忘写了吗?
好的揭晓答案
|
function leveLeventHook(entity,eventType,x,y,z,data)//当门打开或关闭,当羊吃草,当睡觉时触发
{
if(entity==0&&eventType==9800&&x==0&&y==0&&z==0&&data==0)//睡觉的勘测数据
{
preventDefault();
clientMessage("睡什么狗觉?!")
}
}
|
这里面的
preventDefault();
clientMessage("睡什么狗觉?!")
之所以中间没有“{”
并不是所谓“并立”或者“同时进行”
特讲 :“{”“}”的真正意思
前面说过 “{”在js里的意思可以理解为“那么”“}”理解为“完毕”
可是注意“理解为”,意思就是为了方便理解说要叫做;事实上,”{}“的意思应该是“调用”,它的作用是调用”{“前的函数后的内容,并以”}“结束。
举个例子:
function leveLeventHook(entity,eventType,x,y,z,data)
{
if(entity==0&&eventType==9800&&x==0&&y==0&&z==0&&data==0)
{
这是刚才的js的一部分,我们注意到,hook后有一个“{”,表示调用这个hook后的函数;以就是调用if了。为了避免函数错误,我们要在需要的调用后面写上“}”。
没记住也没关系,理解就行。
所以说 这里:
if(entity==0&&eventType==9800&&x==0&&y==0&&z=
js不需要专门的编写工具,如果你愿意的话甚至可以用任何系统自带的记事本,不过我不推荐这样,为了编写方便这里给几个推荐 安卓:920编辑器;los:这个没找到;pc:JavaScript(没错就是这个名字).
为什么要用这些软件呢,它们可以 语法高亮、数行之类的功能。
任何应用商城都可以搜到上面的应用,所以不提供地址了。
js的作用-
js本身是个网页HTML添加动态内容的,不过在mcpe中我们是用来普及mod而出现的,玩过pc的都知道,mc的mod通常是会增加许多方块、添加许多其它的游戏机制和元素;不过,js要简单一些,更多是修改一下游戏的程序而已,不过也不是不可以到达mod的一般效果,不过需要更高的技术。
好的回到正传.第一部分 基本语法
这里,我们了解“if”,“if的中文意思是“如果”
常见格式如下:
if(满足的条件)
{
做出什么
}
我们分析一下:“if”后加“()”是不变的使用方法,和数学中一样,在js中也有“()”“[]”“{}”的,并且也是按照先小括号再中括号再大括号(花括号)的判断顺序。
“满足的条件”就是需要判断的因素;并且如果需要写几个以上的条件,那么需要用“&&”相联接,所以可以吧“&&”理解为“并且”。
然后大家注意“{”和“}”,在js中,我们可以把“{”理解为“那么”、把“}”理解为“完毕”;注意一个很常见又致命的低级错误:“{”和“}”数量不一致,也就是错误的结尾。我们需要死记:前面写了多少“{”后面就必须写多少“}”,不能多也不能少。
还有注意的是其实“{”“}”不一定需要回车,所以这样也行“
if(满足的条件){
做出什么}
不过我不建议这样做,因为这样看起来不简单明了。
. 语法就暂时停止,因为下面我们会从实例中学校语法。
第一部分结束-
第二部分。Hook(钩子).第一节:认识钩子
说到钩子大家第一想到的应该就是加勒比海盗船长手上的铁钩吧?不过这里的钩子不是这样当时其实本质也差不多。
为什么这么说呢?首先我们需要了解Hook。
Hook在js中的钩子是什么意思呢?大家想一想生活中钩子的作用,是不是勾住拉动东西?hokk也一样,它就是拉动下面非Hook的函数的铁钩。
注:这里我把js中的函数分为“hook”类和“非hook类”
“非”当然就是“不是”的意思。
Hook第二节 function
“function”是什么意思?它的中文意思就是“自定义函数模组”的意思,或是说“函数”。“function”是每个js每个部分必须的开头(除文字显示),就是告诉读取js的东西“下面是函数了啊,看清楚点啊!”的意思,不然它哪知道你下面写得什么鸟语。
“function”出现在后面钩子的前面,这样的格式:
function hook(当然不是直接填“hook”这个单词)
{
if( )
{
……
}
}
我们简要分析一下上面的格式
“function”引出下文、hook表情况、“if”辨条件、“{”接下去、“……”做动作、“}”结束
一气呵成不丝毫拖泥带水!
注意的是“hook”是你需要填“在什么情况下触发的钩子”,钩子不可以乱用。比如你把点击方块触发的钩子写成了点击生物触发的钩子的话,那么下面的一切东西都没有原本的意思了,如果你不注意一致还直接出错。
以及在你需要的不同情况下触发的钩子是可以多个的。(“注意”里的东西没看懂也没关系)。
. Hook 第三节:分析“useItem”
我们看到“useItem”
分析一下,“useItem”(为了区分大小写我“I”用的是全角符号)
它是“点击一个方块时触发”的意思。 注意的是一般hook有两个单词组成,比如这里的“use”和“Item”组成,一定记住第二个单词首字母要大写!
Hook是这样的格式(把这个代入)
function useItem(x,y,z,itemId,blockId)
{
if( )
{
……
}
}
我们分析一下 function是必须的开头,useItem表示在点击方块时触发。现在我们注意(x,y,z,itemId,blockId)表示的是存在这些因素。
itemid为手持方块的id,blockid为被点击方块的id。所以我们知道填方块时是填它的id的。
所以这个hook一起就是
function useItem(x,y,z,itemId,blockId)
表示的意思是“在什么坐标处,手持什么点击什么”
需要时照抄便可
现在我们看一个实例:
function useItem(x,y,z,a,b)
{
if(a==280&&b==5)
{
print ("你点击了木板")
}
}
让我们分析一下这个js
“useItem(x,y,z,a,b),大家可能会问:怎么是“a”和“b”呢?不应该是itemid和blockid吗?其实这是一种简写,下面的条件判断中也是写a和b,要因素一致。而且如果是你的话写“useItem(x,y,z,XXX,XXX)”都可以,也就是可以自己填,不过对于初学者我不建议这样。
然后看到“if(a==280&&b==5)”,hook内写的是a和b所以也是以a和b为判断因素。“280”和“5”是方块木棍和木板的id。更重要的是“==”,为什么有两个等于呢?通俗的讲:在条件判断中用“==”在变量中用“=”。具体原因是因为表示附值。前面说了“&&”是并且的意思。注意这个js有两个“{”,所以有两个“}”。
如果把这个实例直译一下,就是这样:
“函数 点击方块时触发 存在坐标和手持方块以及被点击方块因素 那么 如果手持id为280的木棍并且被点击的方块id为5 那么 浮窗显示:你点击了木板 完 完
注意:中文的“”()[]{}&&和英文的""()[]{}&&不一样。为了不出错,我强烈建议一直保持英文输入函数和符号等一切;需要写中文的地方最后一起写,之前先空着。
第三部分 第一节:从实例分析来学格式和语法.
实例:
function newLevel()//加载地图时触发
{
print("欢迎来到这个世界")
}
function leaveGame()//离开地图时触发
{
print("再见")
}
这是一个欢迎语js,“//”后面是我的批注,也就是解释。
分析.为什么这两个钩子后面的括号内没有内容?
因为前面我们讲过的“useItem"后面有内容是因为存在一些hook本身不包含的因素;而这个“newLevel"它自己本身就有了我们想要的“加载地图时触发”的用处,所以后面括号虽然也要写但是为空(“为空是没有的意思,不是空格”)
之所以有两个“function”是因为我们需要在不同的情况下触发,所以“newlevel和“leavegame”的前面都要加“function”声明函数钩子变换
实例:
function useItem(x,y,z,itemId,blockId)
{
if(itemId==280)
{
explode(x,y+10,z,20);//在点击处前十格引发一起半径为20的爆炸
{
clientMessage("爆破!")//聊天信息中添加内容
}
}
}
分析.if之前现象大家都看懂了吧?我们讲一讲if之后。
为什么if内只有一个“itiemid”?因为这个js表达的意思就是“如果用木棍点击任何方块”,所以if内不用在写“blockid”。
那为什么hook内要写?
因为虽然“被点击方块”这个条件不用判断不过却还是一个存在的因素,所以hook的括号内要写,来声明“存在被点击的方块”。
“”explode"是“爆炸”的意思。
爆炸的函数是:
explode(x,y,z,redius)
“redius”是半径的意思
特讲:x,y,z 第三部分第二节
x,y,z会分别存在于hook、if、设置中。分别讲一下:
hook内、作用:声明存在坐标因素。
如:function useItem(x,y,z)
if内:如果if内没有x,y,z表示直接是点击方块的坐标;如果写了X/Y/Z==什么,那么表示必须在指定的位置,比如下面例子中的x=50y==45z==52,就表示只有点击这个坐标的方块才满足条件。
如:if(x==50&&y==45&&z==52)
设置内 如: explpde(x,y+10,z+1)
作用,用来设置坐标处,并且和if内一样“x,y,z"可以做数学运算。和if不同的是它表示直接是点击方块的形式是写“(x,y,z)"而不是不写。
第三节 更多实例
实例.
function modTick()
{
clientMessage("哇哈哈")
}
我们分析一下:“function modTick()”是每刻(0.05s) 执行一次 的意思;“()”内没有内容的原因上面讲过认真看。
没有判断条件 表示不需要判断直接执行下面的动作。“clientMessage"是表示在聊天消息中添加后面“("")”里的内容。
很明显这是一个刷屏js。
实例.
function attackHokk(attacker,victim)
{
if(attacker==getplayerEnt();&&victim==pig)
{
rideAnimal(player,pig);
{
preventDefault();//阻止原有动作
}
}
}
我们分析一下这个js
钩子是 当点击一个实体时触发 ;“attacker”和“victim"分别是“进行点击的实体”和“被点击的实体”。
再注意“getplayerEnt",它是 获取玩家实体 的意思;所以在需要我们填玩家的实体时就填这个。
看到“preveDefawlt();”,它是 阻止原动作的意思,注意是“原动作”,所以这个js加了这个函数你点击猪就不会对对猪造成伤害了。
这个js的关键词我不讲,注意的是语法。
大家看 阻止原动作 和聊天栏显示之间没有“{”,是我忘写了吗?
好的揭晓答案
|
function leveLeventHook(entity,eventType,x,y,z,data)//当门打开或关闭,当羊吃草,当睡觉时触发
{
if(entity==0&&eventType==9800&&x==0&&y==0&&z==0&&data==0)//睡觉的勘测数据
{
preventDefault();
clientMessage("睡什么狗觉?!")
}
}
|
这里面的
preventDefault();
clientMessage("睡什么狗觉?!")
之所以中间没有“{”
并不是所谓“并立”或者“同时进行”
特讲 :“{”“}”的真正意思
前面说过 “{”在js里的意思可以理解为“那么”“}”理解为“完毕”
可是注意“理解为”,意思就是为了方便理解说要叫做;事实上,”{}“的意思应该是“调用”,它的作用是调用”{“前的函数后的内容,并以”}“结束。
举个例子:
function leveLeventHook(entity,eventType,x,y,z,data)
{
if(entity==0&&eventType==9800&&x==0&&y==0&&z==0&&data==0)
{
这是刚才的js的一部分,我们注意到,hook后有一个“{”,表示调用这个hook后的函数;以就是调用if了。为了避免函数错误,我们要在需要的调用后面写上“}”。
没记住也没关系,理解就行。
所以说 这里:
if(entity==0&&eventType==9800&&x==0&&y==0&&z=