当前位置:首页 > 百科

MODPE

MODPE为一种用于携程版的模组。关于模组的详情请见:MOD 。目前用于的游戏有 minecraft pe

这种编码可以在系统自带的记事本[notepad.exe]上修改。修改非常方便,例如:print("abc") > print("abcd")这样,进游戏时的"abc"就改成了"abcd"。

MODPE是需要第三方应用软件导入运行的,通常使用Zhuowei Zhang的Block Launcher Pro(net.zhuoweizhang.mcpelauncher.pro),ModPE是由Treebl开发,首先在ios平台应用,之后停止更新,后被Zhuow给们ei Zhang移植到安卓平台。

  • 中文名称 便携版Mod
  • 外文名称 ModPE
  • 用于 携程游戏
  • 主要编写语言 js、php
  • 需要编写水平 极低

介绍

  有些热爱游戏的程序编写必的越冷谓田只么座高手,会尝试进行修改游戏中的部分资料设定,像人物的服装、外貌、声音、武器、具形令洲飞特调慢将景工具、地图等等,甚至写出新的任务剧情,使修改后的游戏产生大幅的变化,提高了游戏性和耐玩度。想想看,把游戏中的人物改为自己,声音换成你的口头禅,在你们家的后院里来一场游戏大战,那是一种多么奇特的感觉,这种似乎可望而不可及的情景将通过MOD的威力得以实现。

  MODPE拓展了游戏模组所可以来自运用的平台,使得携程版用户也可以体验到模组带来的不一样的游戏享受,不过所有的模组都是不被游戏商所认可的,但是却处于一种"默认"的环境。相信过不了多久,开360百科发商们将认识到游戏模组的的魅力所在,从而真心接受游戏模组,那将是我们所期待的明天。

  不过就算是在当代,minecraft和minecraftpe对出现的模组也是持不打击态度,这也是为什么MO拿手九象虽志距DPE主要用于minecraftepe的原因之一。

MODPE编写语言介绍

  modpe主要用的编写语言为:ja委实州号记记vascript和php,在minecraftpe吧和mcbbs都有关于MODPE的版面(贴吧为精品区)。

  这两种编辑语言都是属于较简单易学会的编程语言,而不像Java或是C、C++那样的专业编程语言。而且好场态该左界兴什食用于制定游戏的MODPE还将有专属的自定义模组函数,这将更加方便与编程爱客杂他良任卫回好者的编辑。

特别注意

  1. 在讨论MODPE的网站中,我们一轴提做几击般习惯叫用javascript编写其科娘深宪严学的MODPE为"js",叫用php编写的MODPE为"MOD",请不要混乱。
  2. 在minecraft中预红内妒语有渐计盐针响加载请使用:"fun祖论粒她置把族ction selectLevelHook()" 而不是 "funtion newLevel那尼段划愿出牛()" [详见"常用MODPE实例"]

常见MODP先希丝世补包音学室E实例

  注意:本标题内内容中出现的实例为用于minecraftepe的。

禁止攻击modpe

  加载物品modpe

  注:本页所视的M号活叶映ODPE皆为模组大杆图杨烧少家庭中很简单的模组,如果想了四呀解更多,请前往相应贴吧或是讨论学习。

M课路觉谓已势何村子却脸ODPE相关教程

  在百度贴吧 minecraftpe吧和mcbbs有许多教材,请前往查看。

用于mcpe的modpe自定义函数模组集

钩子(hook)函数

  当执行了特定动作时,这些函数会运行并执行扩斤跳包声房的举直七修其他函数

  1.function useItem(x,y,z,itemId,blockId,side,itemDamage,blockDamage){}

  当进行一次点击时(如使用物品或放置方鸡万南思正块,食用食物不包括在内)会触发这个函数,并返回数据。

  x:被点击方块的x坐标

  y:被点击方块的y坐标

  z:被点击孔易事当方块的z坐标

  itemId:点击时手里拿的物品id(空手为0)

  blockId:被点击方块的id

  side:来自方块被从哪个方向点击

  itemDamage:点击时手里拿的物品附加值(伤害值)

  blockDamage:被点击方块的附加值(伤害值)

 争氧 2.function attackHook(attacker,victim){}

  当点击或攻击了一个生物mob(动物,怪物,玩家(待确认))时会触发这个函数,并返回数据。

  attacker:进行了点击或攻击动作的mob

  victim:被点击或攻击的mob

  3.function modTick(){}

  每刻(1/20s 0.05s)执行一次

  4.function procCmd(cmd){}

  在聊天里输入以"/"开头的话文字并执行(回车)时会触发

  cmd:在聊天里输入的以"/"开头的文字(不包含"/")

  另仅础块即道钟国益5.function newLevel(){}

  当世界被载入时(出现"Building terrain"时)会触发

  6.function leaveGame(){}

  当离开当前世界(返回主菜单)时会触发

  7.function entityAddedHook(entity){}

  当一个新的实体被添加(包括箭,下落的方块,点燃的TNT等)时会触

  entit一乡似府y:被添加的自然实

  8.function entityRemovedHook(entity){}

  当一个实体(包括箭,下落的方块,点燃的TNT等)消失或死亡时会触发

  entity:被移除践助检满断病回最识的实体

  9.function deathHook(murderer, victim){}

  当一迅长阿达用推指类节背迫个生物mod死亡时会触360百科

  murderer:造成死亡的实体

  victim:死亡的实体

  10.function levelEventHook(entity,eventType,x,y,z,data){}

  当门(木门,栅栏门,陷阱门)被打开或关闭时会触发

  当羊吃掉草时触发

  睡觉时触发

  en判早倍问tity:动作的实体(观测照煤数据。总是为0)

  ev械育德府观爱格联讨胡孩entType:事件类型(观测数据。开关门数据为1003,羊吃草的数据为2001,睡觉的数据为9800)

  x,y,z:被点击的门方块的坐标,被吃掉的草方块的坐标,睡觉时为(0,0,0)

  data:未知(观测数据。开关门,睡觉的数据为0,羊吃草的数据推识丝整制介玉异事为2)

  11.function blockEventHook(x,y,z,eventType,data){}

  每三秒检查所有箱子的开关状态

  x,y,z:箱子的坐标

  eventType:事件类型(观测数据为1)

  data:未知(观测数据。关闭为0,打开为1,打开过程中为2(待确认)。检查大善功司质功箱子时第二个被放置的箱子数值改变,另一个一直为0)

  12.function destroyBlock(x,y,z,side){}

  当一个方块被破坏时会载升酸帮那触发

  x,y,z:方块的坐标

  side:方百是若内星素希啊护块被从哪个方向破坏

文字显示函数

  也就是在游戏中现实文字的函数,也比较常用。

  1.print(text);

  将数据显示在浮动窗口里

  text可以是非实体变量或被"""括起来的字符串

  如的定果须短层杆形主print("text");

  2.clientMessage(text);

  将数据显示在聊天框里

  text可以是非实体变量或被"括起来的字符串

  如clientMessage("text");

  颜色部分:

  1. clientMessage(ChatColor.颜色+text);例子:clientMessage(ChatColor.YELLOW + "It's the " + ChatColor.RED + "Red " + ChatColor.GREEN + "Green " + ChatColor.YELLOW + "show!");颜色表:BLACK,DARK_BLUE,DARK_GREEN,DARK_AQUA,DARK_RED,DARK_PURPLE,GOLD,GRAY,DARK_GRAY,BLUE,GREEN,AQUA,RED,LIGHT_PURPLE,YELLOW,WHITE
  2. clientMessage("§颜色代码.文字")直接§加上颜色代码,后面也直接跟文字,这个字符按住"Alt",然后在小键盘上输入167【注意!小键盘!】

获取坐标函数

  即在游戏中获取一个坐标,并使用。

  1.getPlayerX();getPlayerY();getPlayerZ();

  获取玩家的x,y,z坐标

  2.getPlayerEnt();

  获取玩家的实体

  3.getYaw(ent);

  获取实体ent的头部所朝向(左右)的角度值

  ent为空时默认为玩家

  面向z轴 正方向是时为0±360n,面向x轴负方向时为90±360n

  4.getPitch(ent);

  获取实体ent的头部所朝向(上下)的角度值

  ent为空时默认为玩家

  面向y轴正方向时为-90,面向y轴负方向时为90

  5.getCarriedItem();

  获取玩家手里正在拿着的物品或方块的id

  6.getTile(x,y,z);

  获取坐标为(x,y,z)的方块的id

实体设置函数

  对某个实体设置某种事件,并将其触发。

  1.setPosition(ent,x,y,z);

  将一个实体ent的坐标设置为(x,y,z)

  ent:目标实体

  x,y,z:目标坐标

  2.setPositionRelative(ent,x,y,z);

  设置指定实体对于玩家的相对位置

  ent:目标实体

  x,y,z:相对坐标

  3.setRot(ent,yaw,pitch);

  将一个实体的头部方向设为(yaw,pitch)

  ent:目标实体

  yaw:水平角度

  pitch:垂直角度

  4.setVelX(ent,velocity);setVelY(ent,velocity);setVelZ(ent,velocity);

  将一个实体ent的x/y/z轴速度设为velocity

  ent:目标实体

  velocity:速度

  5.setTile(x,y,z,blockID,damageValue);

  将特定的方块放置

  x,y,z:放置的坐标

  blockId:放置方块的id

  damageValue:放置方块的附加值(伤害值)

  6.setPlayerHealth(halfHearts);

  设置玩家的血量

  helfHearts:半心量,20时为满血,但可以更高(<=255)

  7.setNightMode(boolean);

  夜晚模式。此函数尚未被证实能正常使用,但存在于源码中

  boolean:布朗值,只能为true或fals

实体生成(spawn)函数

  如题,我不多说。

  1.spawnCow(x,y,z,"image");spawnChicken(x,y,z,"image");

  在特定位置生成一只牛/鸡,并将贴图换成image

  x,y,z:生成mod的坐标

  image:在assets文件夹下的图片路径

  2.spawnPigZombie(x,y,z,heldItemID,"image");

  在特定位置生成一只僵尸猪人,并将贴图换成image

  x,y,z:生成mod的坐标

  heldItemID:猪人手里拿的物品id

  image:在assets文件夹下的图片路径

杂项函数

  一些五花八门的杂项函数。

  1.explode(x,y,z,radius);

  在坐标为(x,y,z)处引发一场半径为radius的爆炸

  2.rideAnimal(player,target);

  让player骑在target身上

  player,target为实体

  3.addItemInventory(ID,amount,damageValue);

  在背 包里添加amount个id为ID,附加值(伤害值)为damageValue的物品(1)

  amount可以为负

  4.preventDefault();

  阻止原有动作

  七.启动器(BlockLauncher-only)函数

  这些函数只能在BlockLauncher启动器里使用

  1.bl_spawnMob(x,y,z,mobID,"image");(停用,请使用Level.spawnMob)

  在特定位置生成一个实体,并替换贴图

  x,y,z:指定位置

  mobID:实体类别id

  image:在assets文件夹下的图片路径

  2.bl_setMobSkin(mob,"image");

  将指定实体的贴图更换

  mob:指定的实体(不是实体类别)

  image:在assets文件夹下的图片路径

Level函数

  Level.explode(x,y,z,radius);

  1.在坐标为(x,y,z)处引发一场半径为radius的爆炸

  与explode(x,y,z,radius)相同

  2.Level.getTile(x,y,z);

  获取坐标为(x,y,z)的方块的id

  和getTile(x,y,z);相同

  3.Level.setTile(x,y,z,blockID);

  放置方块

  和setTile(x,y,z,blockID);相同

  4.Level.getData(x,y,z);

  获取坐标为(x,y,z)的方块的伤害值(附加值)

  5.Level.getWorldDir();

  返回当前世界所在的文件夹的名字

  6.Level.getWorldName();

  返回当前世界的名字

  7.Level.spawnChicken(x,y,z,"image");Level.spawnCow(x,y,z,"image");

  在特定位置生成一只牛/鸡,并将贴图换成image

  8.x,y,z:生成mod的坐标

  image:在assets文件夹下的图片路径

  和spawnCow(x,y,z,"image");spawnChicken(x,y,z,"image");相同

  9.Level.destroyBlock(x,y,z,shouldDropItem);

  破坏一个方块,拥有正常破坏时的所有特效

  x,y,z:方块坐标

  shouldDropItem:是否掉落被破坏的方块本身。布尔值,只能为true/false

  10.Level.dropItem(x,y,z,range,id,count,damage);

  从指定坐标掉落方块

  x,y,z:指定坐标

  range;掉落的距离

  id:掉落物id

  count:掉落物数量

  damage:掉落物伤害值

  11.Level.getAddress();

  用途不明。。

  返回值是实体。。

  12.Level.getChestSlot(x,y,z,slot);

  读取指定箱子指定位置的物品id

  x,y,z:箱子坐标

  slot:物品位置

  13.Level.getChestSlotCount(x,y,z,slot);

  读取指定箱子指定位置的物品数量

  x,y,z:箱子坐标

  slot:物品位置

  14.Level.getChestSlotData(x,y,z,slot);

  读取指定箱子指定位置的物品伤害值(附加值)

  x,y,z:箱子坐标

  slot:物品位置

  15.Level.setChestSlot(x,y,z,slot,id,damage,amount);

  向箱子指定位置放置物品

  x,y,z:箱子坐标

  slot:物品位置

  id,damage,amount:物品id,伤害值,数量

  16.Level.getGameMode();

  获取游戏模式。生存为0,创造为1。

  Level.setGameMode(mode);

  17.设置游戏模式。生存为0,创造为1。

  Level.getTime();

  获取当前时间。0为正午,7200为日落,8280为晚上,13320为日出。

  18.Level.setTime(time);

  设置时间。0为正午,7200为日落,8280为晚上,13320为日出。

  19.Level.getSignText(x,y,z,line);

  获取指定牌子的内容,为空时返回null

  x,y,z:牌子的坐标

  line:获取的行数,第一行为0

  20.Level.setSignText(x,y,z,line,"text");

  设置指定牌子的内容

  x,y,z:牌子的坐标

  line:设置的行数,第一行为0

  text:内容。必须是字符串

  21.Level.playSound(x,y,z,sound,volume,pitch);

  播放声音

  x,y,z:指定坐标

  sound:MCPE中的声音

  volume:音量

  pitch:角度,用途不明

  22.Level.playSoundEnt(ent,sound,volume,pitch);

  ent:自然实体

  sound:MCPE中的声音

  volume:音量

  pitch:角度,用途不明

  23.Level.setNightMode(boolean);

  夜晚模式。此函数尚未被证实能正常使用,但存在于源码中

  boolean:布朗值,只能为true或false

  与setNightMode(boolean)相同

  24.Level.setSpawn(x,y,z);

  设置复活点

  25.Level.setTile(x,y,z,blockID);

  将特定的方块放置

  x,y,z:放置的坐标

  blockId:放置方块的id

  和setTile(x,y,z,blockID)相同

Player函数

  1.Player.addItemInventory(ID,amount,damage);

  在 背包里添加amount个id为ID,附加值(伤害值)为damageValue的物品

  amount可以为负

  和addItemInventory(ID,amount,damage)相同

  2.Player.clearInventorySlot(slot);

  清除背包里指定位置的物品

  slot:物品在背包的位置

  3.Player.getInventorySlot(slot);

  获取背包里指定位置的物品id

  slot:物品在背包的位置

  4.Player.getInventorySlotCount(slot);

  获取背包里指定位置的物品数量

  slot:物品在背包的位置

  5.Player.getInventorySlotData(slot);

  获取背包里指定位置的物品伤害值(附加值)

  slot:物品在背包的位置

  6.Player.getSelectedSlotId();

  获取被选中的物品栏的id(slot)

  7.Player.getArmorSlot(slot);

  获取身上的指定装备id

  slot:装备位置

  8.Player.getArmorSlotDamage(slot);

  获取身上指定装备的伤害值(耐久)

  slot:装备位置

  9.Player.setArmorSlot(slot,id,damage);

  设置身上的装备

  slot:装备的位置

  id:装备id

  damage:装备伤害值(附加值)

  10.Player.getCarriedItem();

  获取玩家手里正在拿着的物品或方块的id

  和getCarriedItem()相同

  11.Player.getCarriedItemCount();

  获取玩家手里正在拿着的物品或方块的数量

  12.Player.getCarriedItemData();

  获取玩家手里正在拿着的物品或方块的伤害值(附加值)

  13.Player.getEntity();

  获取玩家的实体

  和getPlayerEnt()相同

  14.Player.getX();Player.getY();Player.getZ();

  获取玩家的x,y,z坐标

  和getPlayerX();getPlayerY();getPlayerZ();相同

  15.Player.setHealth(health);

  设置玩家生命

  health:半心量,20时为满血,但可以更高(<=255)

  和setPlayerHealth(halfHearts)相同

Entity函数

  1.Entity.setFireTicks(ent,time);

  使实体燃烧

  ent:自然实体

  time:燃烧时间,单位为秒

  2.Entity.getAnimalAge(ent);

  获取动物年龄

  ent:动物实体

  取值为-24000到0,玩家一直为0

  3.Entity.setAnimalAge(ent,age);

  设置动物年龄

  ent:动物实体

  age:动物年龄(-24000(幼年)到0(成年))

  对敌对生物和玩家无效

  4.Entity.getEntityTypeId(ent);

  返回实体种类id

  5.Entity.getYaw(ent);

  获取实体ent的头部所朝向(左右)的角度值

  ent为空时默认为玩家

  面向z轴正方向 是时为0±360n,面向x轴负方向时为90±360n

  和getYaw(ent)相同

  6.Entity.getPitch(ent);

  获取实体ent的头部所朝向(上下)的角度值

  ent为空时默认为玩家

  面向y轴正方向时为-90,面向y轴负方向时为90

  和getPitch(ent)相同

  7.Entity.setRot(ent,yaw,pitch);

  将一个实体的头部方向设为(yaw,pitch)

  ent:目标实体

  yaw:水平角度

  pitch:垂直角度

  与setRot(ent,yaw,pitch);相同

  8.Entity.remove(ent);

  移除实体。如果玩家实体被移除,玩家将不可见且不可移动

  ent:自然实体

  9.Entity.rideAnimal(player,target);

  让player骑在target身上

  10.player,target为实体

  和rideAnimal(player,target)相同

  11.Entity.getHealth(ent);

  获取实体生命

  ent:生物实体

  12.Entity.setHealth(ent,health);

  设置实体生命

  ent:生物实体

  health:半心量,20时为满血,但可以更高(<=255)

  13.Entity.setCarriedItem(ent,ID,int,DamageValue);

  ent:实体。只能是玩家,僵尸猪人,小白(skeletons)

  ID:物品id

  int:未知值。数字

  DamageValue:物品伤害值(附加值)

  Entity.setSneaking(ent,boolean);

  Entity.getX(ent);Entity.getY(ent);Entity.getZ(ent);

  获取实体坐标

  ent:自然实体

  Entity.setPosition(ent,x,y,z);

  将一个实体ent的坐标设置为(x,y,z)

  ent:目标实体

  x,y,z:目标坐标

  和setPosition(ent,x,y,z);相同

  14.Entity.setPositionRelative(ent,x,y,z);

  设置指定实体对于玩家的相对位置

  ent:目标实体

  x,y,z:相对坐标

  和setPositionRelative(ent,x,y,z);相同

  15.Entity.setVelX(ent,vel);Entity.setVelY(ent,vel);Entity.setVelZ(ent,vel);

  将一个实体ent的x/y/z轴速度设为vel

  ent:目标实体

  vel:速度

  与setVelX(ent,vel);setVelY(ent,vel);setVelZ(ent,vel);相同

  16.Entity.spawnMob(x,y,z,mobID,"image");(停用,请使用Level.spawnMob)

  在特定位置生成一个实体,并替换贴图

  x,y,z:指定位置

  mobID:实体类别id

  image:在assets文件夹下的图片路径

  与bl_spawnMob(x,y,z,mobID,"image");相同

  17.Entity.setMobSkin(mob,"image");

  将指定实体的贴图更换

  mob:指定的实体(不是实体类别)

  image:在assets文件夹下的图片路径

  与bl_setMobSkin(mob,"image");相同

  18.Entity.setRenderType(ent,type);

  用不同的模型来伪装实体

  ent:自然实体

  type:模型种类(0.no idea 1.no 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:下落的方块

十一.1.5.5启动器及以上可用材质函数

  1. Block.defineBlock(blockId,name,[textures/*六面材质*/],0/*材料源id*/,true/*透明*/, int renderType/*未知*/)2.Block.setShape(blockId,x1,y1,z1,x2,y2,z2)//形状3.Block.setDestroyTime(id,time);4.Block.setExplosionResistance(id,res)//爆炸阻力,未实现5.Block.setLightLevel(id,level);6.Block.setColor(id,[color/*数组*/]);7.Block.setStepSound(blockId,sourceId);//未实现8.Block.defineBlock(blockId,name,[1,2,3,4,5,6/*六面材质,右上角为0*/],0/*材料源id*/,true/*透明*/, renderType)renderType0 标准1 花2 火把3 火4 流体6 作物7 门8 台阶10 楼梯11 栅栏13 仙人掌14 床18 玻璃板19 植物的茎21 栅栏门
标签:

  • 关注微信
上一篇:爱邦客
下一篇:卡格尔WF30-6

相关文章