切换风格

默认晚霞 雪山 粉色心情 伦敦 花卉 绿野仙踪 加州 白云 星空 薰衣草 城市 简约黑色 龙珠
回复 5

16

主题

52

帖子

382

积分

注册会员

Rank: 2

积分
382
人气
7 点
钻石粒
328 粒
贡献
0 点
论坛币
73 个
爱心
0 点

论坛注册会员

[1.12.2][ECMA]抛射物(魔改)[复制链接]
发表于 2020-4-2 13:06:14 | 显示全部楼层 |阅读模式
脚本例子
脚本版本: 1.0.3
适用版本: 1.12.2 
编写语言: ECMA
最后更新: 2020-03-04
代码版权: 弱版权

请注册论坛会员,已便查看高清图片!

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

x
/**
 * 用星星算法适应了神奇的MC
 * 仅玩家可用XD
 * event e : 事件
 * ScriptItemStack item : 物品
 * boolean isGravity :是否用重力
 * boolean is3D :是否3D
 * boolean isRotate :是否旋转
 * double damage : 伤害
 * double Posz : X坐标
 * double Posy : Y坐标
 * double Posz :Z坐标
 * double spell : 速度
 * double yaw : yaw度数(-180~180)
 * double pitch : pitch度数(-90~90)
*/
function interact(e){
if(e.player.getMainhandItem() != null){
if(e.player.getMainhandItem().getDisplayName() == "§b超级斧头"){
Launch(e, "minecraft:diamond_axe", false, false, false, 100, e.player.x, e.player.y+e.player.getMCEntity().func_70047_e(), e.player.z, 1, e.player.rotation, e.player.getMCEntity().field_70125_A)
}
}
}
function Launch(e, item, isGravity, is3D, isRotate, damage, Posx, Posy, Posz, spell, yaw, pitch) {
    var EntityProjectile = Java.type("noppes.npcs.entity.EntityProjectile");
    var ProjectileWrapper = Java.type("noppes.npcs.api.wrapper.ProjectileWrapper");
    var Integer = Java.type("java.lang.Integer");
    var coordinate = dotForYP(1, yaw, pitch);
    var f = coordinate[0];
    var f1 = coordinate[1];
    var f2 = coordinate[2];
    item = e.API.getIWorld(0).createItem(item, 0, 1);
    item.getNbt().setString("model", "skilleffects1");
    var projectile = new EntityProjectile(e.API.getIWorld(0).getMCWorld(), e.player.getMCEntity(), item.getMCItemStack(), false);
    projectile.setHasGravity(isGravity);
    projectile.setIs3D(is3D);
    projectile.setRotating(isRotate);
    var dataManager = projectile.getClass().getSuperclass().getSuperclass().getDeclaredField("field_70180_af");
    dataManager.setAccessible(true);
    dataManager = dataManager.get(projectile);
    var Size = projectile.getClass().getDeclaredField("Size");
    Size.setAccessible(true);
    Size = Size.get(projectile);
    projectile.field_70159_w = f * spell;
    projectile.field_70181_x = f1 * spell;
    projectile.field_70179_y = f2 * spell;
    projectile.damage = damage;
    projectile = new ProjectileWrapper(projectile);
    projectile.setPosition(Posx, Posy, Posz);
    e.API.getIWorld(0).spawnEntity(projectile)
 return projectile;
}
function dotForYP(r, yawAngle, pitchAngle) {
  var JavaMath = Java.type("java.lang.Math");
  var coordinate = [0, 0, r]
  function rotateAroundAxisX(v, angle) {
    var angle = JavaMath.toRadians(angle);
    var cos = JavaMath.cos(angle);
    var sin = JavaMath.sin(angle);
    var y = v[1] * cos - v[2] * sin;
    var z = v[1] * sin + v[2] * cos;
    return [y, z];
  }//让向量绕X轴转angle度
  function rotateAroundAxisY(v, angle) {
    var angle = -angle;
    var angle = JavaMath.toRadians(angle);
    var cos = JavaMath.cos(angle);
    var sin = JavaMath.sin(angle);
    var x = v[0] * cos + v[2] * sin;
    var z = v[0] * -sin + v[2] * cos;
    return [x, z];
  }//让向量绕Y轴转angle度
  var temp = rotateAroundAxisX(coordinate, pitchAngle)
  coordinate[1] = temp[0];
  coordinate[2] = temp[1];
  var temp = rotateAroundAxisY(coordinate, yawAngle)
  coordinate[0] = temp[0];
  coordinate[2] = temp[1];
  return coordinate;
  //参考开源代码:[url]https://github.com/Slikey/EffectLib/blob/master/src/main/java/de/slikey/effectlib/util/VectorUtils.java[/url]
 /*
 *根据yaw、pitch求球上一点
 *double r:半径
 *double yawAngle:yaw角度
 *double pitchAngle:pitch角度
 *double rollAngle:roll角度
 */
}

//网易不可用
版权声明:
1.您不能转载本帖
2.您不能声称作者是自己

评分

参与人数 1钻石粒 -10 收起 理由
Hueihuea -10 请勿使用回帖奖励

查看全部评分

小浩喜欢男孩子嘛!
回复

使用道具 举报

1

主题

4

帖子

24

积分

论坛萌新

Rank: 1

积分
24
人气
0 点
钻石粒
31 粒
贡献
0 点
论坛币
5 个
爱心
0 点
发表于 2020-4-2 13:07:13 | 显示全部楼层
沙发沙发沙发
回复

使用道具 举报

16

主题

52

帖子

382

积分

注册会员

Rank: 2

积分
382
人气
7 点
钻石粒
328 粒
贡献
0 点
论坛币
73 个
爱心
0 点

论坛注册会员

发表于 2020-4-2 13:12:33 | 显示全部楼层
我是水贴之王,我乱来的qwq
小浩喜欢男孩子嘛!
回复

使用道具 举报

16

主题

52

帖子

382

积分

注册会员

Rank: 2

积分
382
人气
7 点
钻石粒
328 粒
贡献
0 点
论坛币
73 个
爱心
0 点

论坛注册会员

发表于 2020-4-2 13:07:40 | 显示全部楼层
欧皇再此抽奖awa
小浩喜欢男孩子嘛!
回复

使用道具 举报

3

主题

9

帖子

180

积分

论坛萌新

Rank: 1

积分
180
人气
3 点
钻石粒
183 粒
贡献
0 点
论坛币
44 个
爱心
0 点

论坛注册会员

发表于 2020-4-2 13:08:11 | 显示全部楼层

灌水举报了
回复

使用道具 举报

4

主题

21

帖子

451

积分

注册会员

Rank: 2

积分
451
人气
7 点
钻石粒
674 粒
贡献
1 点
论坛币
97 个
爱心
0 点

论坛注册会员

发表于 2020-4-2 13:17:45 | 显示全部楼层

回帖奖励 +50 钻石粒

抽一波,不中就举报
我是憨批
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|自定义NPC脚本中文论坛 ( 蜀ICP备17005795号-3 )

GMT+8, 2020-8-15 22:24 , Processed in 0.100348 second(s), 36 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部