导读:一钩子(hook)函数当执行了特定动作时,这些函数会运行并执行其他函数1function useItem(x,y,z,itemId,blockId,side,itemDamage,blockDamage){}当进行一次点击时(如使用物品或放
一钩子(hook)函数
当执行了特定动作时,这些函数会运行并执行其他函数
1function useItem(x,y,z,itemId,blockId,side,itemDamage,blockDamage){}
当进行一次点击时(如使用物品或放置方块,食用食物不包括在内)会触发这个函数,并返回数据。
x:被点击方块的x坐标
y:被点击方块的y坐标
z:被点击方块的z坐标
itemId:点击时手里拿的物品id(空手为0)
blockId:被点击方块的id
side:方块被从哪个方向点击
itemDamage:点击时手里拿的物品附加值(伤害值)
blockDamage:被点击方块的附加值(伤害值)
2function attackHook(attacker,victim){}
当点击或攻击了一个生物mob(动物,怪物,玩家(待确认))时会触发这个函数,并返回数据。
attacker:进行了点击或攻击动作的mob
victim:被点击或攻击的mob
3function modTick(){}
每刻(1/20s 005s)执行一次
4function procCmd(cmd){}
在聊天里输入以"/"开头的话文字并执行(回车)时会触发
cmd:在聊天里输入的以"/"开头的文字(不包含"/")
5function newLevel(){}
当世界被载入时(出现"Building terrain"时)会触发
6function leaveGame(){}
当离开当前世界(返回主菜单)时会触发
7function entityAddedHook(entity){}
当一个新的实体被添加(包括箭,下落的方块,点燃的TNT等)时会触发
entity:被添加的自然实体
8function entityRemovedHook(entity){}
当一个实体(包括箭,下落的方块,点燃的TNT等)消失或死亡时会触发
entity:被移除的实体
9function deathHook(murderer, victim){}
当一个生物mod死亡时会触发
murderer:造成死亡的实体
victim:死亡的实体
10function levelEventHook(entity,eventType,x,y,z,data){}
当门(木门,栅栏门,陷阱门)被打开或关闭时会触发
当羊吃掉草时触发
睡觉时触发
entity:动作的实体(观测数据。总是为0)
eventType:事件类型(观测数据。开关门数据为1003,羊吃草的数据为2001,睡觉的数据为9800)
x,y,z:被点击的门方块的坐标,被吃掉的草方块的坐标,睡觉时为(0,0,0)
data:未知(观测数据。开关门,睡觉的数据为0,羊吃草的数据为2)
11function blockEventHook(x,y,z,eventType,data){}
每三秒检查所有箱子的开关状态
x,y,z:箱子的坐标
eventType:事件类型(观测数据为1)
data:未知(观测数据。关闭为0,打开为1,打开过程中为2(待确认)。检查大箱子时第二个被放置的箱子数值改变,另一个一直为0)
12function destroyBlock(x,y,z,side){}
当一个方块被破坏时会触发
x,y,z:方块的坐标
side:方块被从哪个方向破坏
二文字显示函数
也就是在游戏中现实文字的函数,也比较常用。
1print(text);
将数据显示在浮动窗口里
text可以是非实体变量或被"括起来的字符串
如print("text");
2clientMessage(text);
将数据显示在聊天框里
text可以是非实体变量或被"括起来的字符串
如clientMessage("text");
颜色 clientMessage(ChatColor颜色+text);
例子:clientMessage(ChatColorYELLOW + "It's the " + ChatColorRED + "Red " + ChatColorGREEN + "Green " + ChatColorYELLOW + "show!");
颜色表:BLACK,DARK_BLUE,DARK_GREEN,DARK_AQUA,DARK_RED,DARK_PURPLE,GOLD,GRAY,DARK_GRAY,BLUE,GREEN,AQUA,RED,LIGHT_PURPLE,YELLOW,WHITE
三获取坐标函数
即在游戏中获取一个坐标,并使用。
1getPlayerX();getPlayerY();getPlayerZ();
获取玩家的x,y,z坐标
2getPlayerEnt();
获取玩家的实体
3getYaw(ent);
获取实体ent的头部所朝向(左右)的角度值
ent为空时默认为玩家
面向z轴正方向是时为0±360n,面向x轴负方向时为90±360n
4getPitch(ent);
获取实体ent的头部所朝向(上下)的角度值
ent为空时默认为玩家
面向y轴正方向时为-90,面向y轴负方向时为90
5getCarriedItem();
获取玩家手里正在拿着的物品或方块的id
6getTile(x,y,z);
获取坐标为(x,y,z)的方块的id
四实体设置函数
对某个实体设置某种事件,并将其触发。
1setPosition(ent,x,y,z);
将一个实体ent的坐标设置为(x,y,z)
ent:目标实体
x,y,z:目标坐标
2setPositionRelative(ent,x,y,z);
设置指定实体对于玩家的相对位置
ent:目标实体
x,y,z:相对坐标
3setRot(ent,yaw,pitch);
将一个实体的头部方向设为(yaw,pitch)
ent:目标实体
yaw:水平角度
pitch:垂直角度
4setVelX(ent,velocity);setVelY(ent,velocity);setVelZ(ent,velocity);
将一个实体ent的x/y/z轴速度设为velocity
ent:目标实体
velocity:速度
5setTile(x,y,z,blockID,damageValue);
将特定的方块放置
x,y,z:放置的坐标
blockId:放置方块的id
damageValue:放置方块的附加值(伤害值)
6setPlayerHealth(halfHearts);
设置玩家的血量
helfHearts:半心量,20时为满血,但可以更高(<=255)
7setNightMode(boolean);
夜晚模式。此函数尚未被证实能正常使用,但存在于源码中
boolean:布朗值,只能为true或false
五实体生成(spawn)函数
如题,我不多说。
1spawnCow(x,y,z,"image");spawnChicken(x,y,z,"image");
在特定位置生成一只牛/鸡,并将贴图换成image
x,y,z:生成mod的坐标
image:在assets文件夹下的路径
2spawnPigZombie(x,y,z,heldItemID,"image");
在特定位置生成一只僵尸猪人,并将贴图换成image
x,y,z:生成mod的坐标
heldItemID:猪人手里拿的物品id
image:在assets文件夹下的路径
六杂项函数
一些五花八门的杂项函数。
1explode(x,y,z,radius);
在坐标为(x,y,z)处引发一场半径为radius的爆炸
2rideAnimal(player,target);
让player骑在target身上
player,target为实体
3addItemInventory(ID,amount,damageValue);
在背包里添加amount个id为ID,附加值(伤害值)为damageValue的物品
amount可以为负
4preventDefault();
阻止原有动作
七启动器(BlockLauncher-only)函数
这些函数只能在BlockLauncher启动器里使用
1bl_spawnMob(x,y,z,mobID,"image");(停用,请使用LevelspawnMob)
在特定位置生成一个实体,并替换贴图
x,y,z:指定位置
mobID:实体类别id
image:在assets文件夹下的路径
2bl_setMobSkin(mob,"image");
将指定实体的贴图更换
mob:指定的实体(不是实体类别)
image:在assets文件夹下的路径
八Level函数
Levelexplode(x,y,z,radius);
在坐标为(x,y,z)处引发一场半径为radius的爆炸
与explode(x,y,z,radius)相同
LevelgetTile(x,y,z);
获取坐标为(x,y,z)的方块的id
和getTile(x,y,z);相同
LevelsetTile(x,y,z,blockID);
放置方块
和setTile(x,y,z,blockID);相同
LevelgetData(x,y,z);
获取坐标为(x,y,z)的方块的伤害值(附加值)
LevelgetWorldDir();
返回当前世界所在的文件夹的名字
LevelgetWorldName();
返回当前世界的名字
LevelspawnChicken(x,y,z,"image");LevelspawnCow(x,y,z,"image");
在特定位置生成一只牛/鸡,并将贴图换成image
x,y,z:生成mod的坐标
image:在assets文件夹下的路径
和spawnCow(x,y,z,"image");spawnChicken(x,y,z,"image");相同
LeveldestroyBlock(x,y,z,shouldDropItem);
破坏一个方块,拥有正常破坏时的所有特效
x,y,z:方块坐标
shouldDropItem:是否掉落被破坏的方块本身。布尔值,只能为true/false
LeveldropItem(x,y,z,range,id,count,damage);
从指定坐标掉落方块
x,y,z:指定坐标
range;掉落的距离
id:掉落物id
count:掉落物数量
damage:掉落物伤害值
LevelgetAddress();
用途不明。。
返回值是实体。。
LevelgetChestSlot(x,y,z,slot);
读取指定箱子指定位置的物品id
x,y,z:箱子坐标
slot:物品位置
LevelgetChestSlotCount(x,y,z,slot);
读取指定箱子指定位置的物品数量
x,y,z:箱子坐标
slot:物品位置
LevelgetChestSlotData(x,y,z,slot);
读取指定箱子指定位置的物品伤害值(附加值)
x,y,z:箱子坐标
slot:物品位置
LevelsetChestSlot(x,y,z,slot,id,damage,amount);
向箱子指定位置放置物品
x,y,z:箱子坐标
slot:物品位置
id,damage,amount:物品id,伤害值,数量
LevelgetGameMode();
获取游戏模式。生存为0,创造为1。
LevelsetGameMode(mode);
设置游戏模式。生存为0,创造为1。
LevelgetTime();
获取当前时间。0为正午,7200为日落,8280为晚上,13320为日出。
LevelsetTime(time);
设置时间。0为正午,7200为日落,8280为晚上,13320为日出。
LevelgetSignText(x,y,z,line);
获取指定牌子的内容,为空时返回null
x,y,z:牌子的坐标
line:获取的行数,第一行为0
LevelsetSignText(x,y,z,line,"text");
设置指定牌子的内容
x,y,z:牌子的坐标
line:设置的行数,第一行为0
text:内容。必须是字符串
LevelplaySound(x,y,z,sound,volume,pitch);
播放声音
x,y,z:指定坐标
sound:MCPE中的声音
volume:音量
pitch:角度,用途不明
LevelplaySoundEnt(ent,sound,volume,pitch);
ent:自然实体
sound:MCPE中的声音
volume:音量
pitch:角度,用途不明
LevelsetNightMode(boolean);
夜晚模式。此函数尚未被证实能正常使用,但存在于源码中
boolean:布朗值,只能为true或false
与setNightMode(boolean)相同
LevelsetSpawn(x,y,z);
设置复活点
LevelsetTile(x,y,z,blockID);
将特定的方块放置
x,y,z:放置的坐标
blockId:放置方块的id
和setTile(x,y,z,blockID)相同
九Player函数
PlayeraddItemInventory(ID,amount,damage);
在背包里添加amount个id为ID,附加值(伤害值)为damageValue的物品
amount可以为负
和addItemInventory(ID,amount,damage)相同
PlayerclearInventorySlot(slot);
清除背包里指定位置的物品
slot:物品在背包的位置
PlayergetInventorySlot(slot);
获取背包里指定位置的物品id
slot:物品在背包的位置
PlayergetInventorySlotCount(slot);
获取背包里指定位置的物品数量
slot:物品在背包的位置
PlayergetInventorySlotData(slot);
获取背包里指定位置的物品伤害值(附加值)
slot:物品在背包的位置
PlayergetSelectedSlotId();
获取被选中的物品栏的id(slot)
PlayergetArmorSlot(slot);
获取身上的指定装备id
slot:装备位置
PlayergetArmorSlotDamage(slot);
获取身上指定装备的伤害值(耐久)
slot:装备位置
PlayersetArmorSlot(slot,id,damage);
设置身上的装备
slot:装备的位置
id:装备id
damage:装备伤害值(附加值)
PlayergetCarriedItem();
获取玩家手里正在拿着的物品或方块的id
和getCarriedItem()相同
PlayergetCarriedItemCount();
获取玩家手里正在拿着的物品或方块的数量
PlayergetCarriedItemData();
获取玩家手里正在拿着的物品或方块的伤害值(附加值)
PlayergetEntity();
获取玩家的实体
和getPlayerEnt()相同
PlayergetX();PlayergetY();PlayergetZ();
获取玩家的x,y,z坐标
和getPlayerX();getPlayerY();getPlayerZ();相同
PlayersetHealth(health);
设置玩家生命
health:半心量,20时为满血,但可以更高(<=255)
和setPlayerHealth(halfHearts)相同
十Entity函数
EntitysetFireTicks(ent,time);
使实体燃烧
ent:自然实体
time:燃烧时间,单位为秒
EntitygetAnimalAge(ent);
获取动物年龄
ent:动物实体
取值为-24000到0,玩家一直为0
EntitysetAnimalAge(ent,age);
设置动物年龄
ent:动物实体
age:动物年龄(-24000(幼年)到0(成年))
对敌对生物和玩家无效
EntitygetEntityTypeId(ent);
返回实体种类id
EntitygetYaw(ent);
获取实体ent的头部所朝向(左右)的角度值
ent为空时默认为玩家
面向z轴正方向是时为0±360n,面向x轴负方向时为90±360n
和getYaw(ent)相同
EntitygetPitch(ent);
获取实体ent的头部所朝向(上下)的角度值
ent为空时默认为玩家
面向y轴正方向时为-90,面向y轴负方向时为90
和getPitch(ent)相同
EntitysetRot(ent,yaw,pitch);
将一个实体的头部方向设为(yaw,pitch)
ent:目标实体
yaw:水平角度
pitch:垂直角度
与setRot(ent,yaw,pitch);相同
Entityremove(ent);
移除实体。如果玩家实体被移除,玩家将不可见且不可移动
ent:自然实体
EntityrideAnimal(player,target);
让player骑在target身上
player,target为实体
和rideAnimal(player,target)相同
EntitygetHealth(ent);
获取实体生命
ent:生物实体
EntitysetHealth(ent,health);
设置实体生命
ent:生物实体
health:半心量,20时为满血,但可以更高(<=255)
EntitysetCarriedItem(ent,ID,int,DamageValue);
ent:实体。只能是玩家,僵尸猪人,小白(skeletons)
ID:物品id
int:未知值。数字
DamageValue:物品伤害值(附加值)
EntitysetSneaking(ent,boolean);
EntitygetX(ent);EntitygetY(ent);EntitygetZ(ent);
获取实体坐标
ent:自然实体
EntitysetPosition(ent,x,y,z);
将一个实体ent的坐标设置为(x,y,z)
ent:目标实体
x,y,z:目标坐标
和setPosition(ent,x,y,z);相同
EntitysetPositionRelative(ent,x,y,z);
设置指定实体对于玩家的相对位置
ent:目标实体
x,y,z:相对坐标
和setPositionRelative(ent,x,y,z);相同
EntitysetVelX(ent,vel);EntitysetVelY(ent,vel);EntitysetVelZ(ent,vel);
将一个实体ent的x/y/z轴速度设为vel
ent:目标实体
vel:速度
与setVelX(ent,vel);setVelY(ent,vel);setVelZ(ent,vel);相同
EntityspawnMob(x,y,z,mobID,"image");(停用,请使用LevelspawnMob)
在特定位置生成一个实体,并替换贴图
x,y,z:指定位置
mobID:实体类别id
image:在assets文件夹下的路径
与bl_spawnMob(x,y,z,mobID,"image");相同
EntitysetMobSkin(mob,"image");
将指定实体的贴图更换
mob:指定的实体(不是实体类别)
image:在assets文件夹下的路径
与bl_setMobSkin(mob,"image");相同
EntitysetRenderType(ent,type);
用不同的模型来伪装实体
ent:自然实体
type:模型种类(0no idea 1no override 2点燃的TNT 3玩家 4掉落的物品 5 6鸡 7牛 8猪 9羊 10 11僵尸 12小白(骷髅) 13蜘蛛 14苦力怕(jj怪)(替换困难,有概率失败) 15射出的箭 16玩家(因为没有名字标签,游戏会崩溃) 17扔出的鸡蛋 18扔出的雪球 19挂画(游戏崩溃) 20正在掉下落的方块)
实体id:
10:鸡
11:牛
12:猪
13:羊
32:僵尸
33:苦力怕(jj怪)
34:骷髅(小白)
35:蜘蛛
36:僵尸猪人
64:掉落的物品
65:点燃的TNT
66:下落的方块
十一155启动器及以上可用材质函数。
BlockdefineBlock(blockId,name,[textures/六面材质/],0/材料源id/,true/透明/, int renderType/未知/)
BlocksetShape(blockId,x1,y1,z1,x2,y2,z2)//形状
BlocksetDestroyTime(id,time);
BlocksetExplosionResistance(id,res)//爆炸阻力,未实现
BlocksetLightLevel(id,level);
BlocksetColor(id,[color/数组/]);
BlocksetStepSound(blockId,sourceId);//未实现
BlockdefineBlock(blockId,name,[1,2,3,4,5,6/六面材质,右上角为0/],0/材料源id/,true/透明/, renderType)
renderType
0 标准
1 花
2 火把
3 火
4 流体
6 作物
7 门
8 台阶
10 楼梯
11 栅栏
13 仙人掌
14 床
18 玻璃板
19 植物的茎
21 栅栏门
由于复制范围是长方体,所以要复制的这栋建筑必须是要在长方体内,这样才能完整的复制到整栋建筑,如图
只需要点击长方体的最低点和对角的最高点即可,如图,钻石块代表对角线,线有两端,那两端分别就是我们需要复制的点1点2。
复制的时候取两点就行了,就是楼上图中那条钻石线的两端就行了。一端为一个点,取最低和对角的最高,就是图中的砖石块,那两钻石快代表两点。当然最高必须要高过与建筑,如图(无视框架,只是参考)。
点击后,等待屏幕出现以复制字样就行了。然后选择粘贴。
温馨提示,建筑大必须要等。等到它提示完成后才能粘贴
var ctx= commojangminecraftpeMainActivitycurrentMainActivityget()
获取一个主界面,必须的
ctx变量为一个主界面。
有主界面就可以进入线程了(线程是一个加快js运行并操控gui的必须)
我的世界手机版枪械js是一个很有用的js,能够远距离射击,而且威力也很大。不过合成枪械需要的材料很难找。下面介绍一下怎么合成枪。
首先必须用比如葫芦侠我的世界这种含有js的软件打开我的世界,这样js才可以正常运行。
要合成枪械首先要找到铁矿和红石矿,铁矿很好找,但是红石矿会在基岩上方几格才有,和钻石矿一样比较深,等赚够了红石矿和铁矿之后,就可以在工作台里面合成枪支(在js正常运行的情况下,不然不能显示枪械),记得还要合成弹夹,不然不能发射子弹。
让我来为你解答吧!
1 首先进入一个存档(右边有两个按键,那个就是快速建造JS)
2 然后退出游戏,在文件管理器选一张照片(看到123jpg了吗?那个是我要制作的)
3 然后,按E翻到最底下有个特殊,点开之后有第二个页面,找到像素画
4 找到了就点开,它会让你输的路径,到时候你就输就行了,像我这样
5 成功了会有这样的页面(如果不成功的话他会告诉你错误,那肯定是你的路径找的不对,得完全正确才可以)
6 你往下翻页面的时候是设置像素画长宽,长宽会给你设的很高(都到900了),这样做即会卡爆手机而且没有意义,大约超平坦地图的话100左右就可以,我渣机伤不起,弄了个56
7 然后点开始,低配机的话会非常的卡,但是你能做的只有等待和放弃,等到它出现“已输入复制和粘贴”就是成功了
8 但是等你兴高采烈的拿铁剑点击地面时,却发现什么都没有发生,这个时候我就该告诉你:你还要做一种事情:
输入粘贴!
9 一般会用快速建造移动建筑的玩家都知道该怎么弄,但是我还是大大方方的把方法告诉了你(看图,先点“复制粘贴”,再点“选点粘贴(略慢)”)
10 等弹出一个页面:水桶和铁剑点击地面粘贴,这个时候再点就成功了
这样的东西最好少弄,因为一般的手机都弄不了,配置低的会直接卡死(我的是酷派Y75,但是这并没有什么卵用)
最后给你看看成品(这尼玛一坨翔啊!)
如果帮到你的话,请采纳我的答案,制作这样的教程不容易,还望海涵(这些全原创啊!)
如果还有疑问的话可以加我QQ2579124183详细地问,记住,我叫DRIVE7!
希望能帮到你!敬礼!!
好吧原谅我挖坟,我制作的原图(大爱我约战!)
打开方块启动器之后,游戏上方会有一个扳手,点击扳手,就会有一个弹窗出现。点击 Manage ModPE Scripts (也就是第二个)。然后就会进入一个界面点击输入,点击local storage 找到你放js的文件夹,点击JS即可