切换风格

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

16

主题

53

帖子

390

积分

注册会员

Rank: 2

积分
390
人气
7 点
钻石粒
335 粒
贡献
0 点
论坛币
75 个
爱心
0 点

论坛注册会员

[1.7.10][ECMA]进入游戏提示[复制链接]
发表于 2020-3-15 22:01:13 | 显示全部楼层 |阅读模式
脚本例子
脚本版本: 1.0.0
适用版本: 1.7.10 
编写语言: ECMA
最后更新: 2020-03-15
代码版权: 强版权

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

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

x
//来自小浩
var HotNPC = Java.type("mchhui.hotnpc.HotNPC");
var Tempdata = Java.type("mchhui.hotnpc.utlis.Tempdata");
var tempdata = HotNPC.tempdata;
var listeners;
var FMLCommonHandler = Java.type("cpw.mods.fml.common.FMLCommonHandler");
var EntityPlayerMP = Java.type("net.minecraft.entity.player.EntityPlayerMP");
var listenerName = ["Giao-qwq"];
if (!tempdata.has("listeners")) {
  tempdata.set("listeners", new Tempdata());
}
listeners = tempdata.get("listeners");
if (!listeners.has(listenerName[0])) {
  listeners.set(listenerName[0], listenEvent("cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent", "NORMAL", function (event) {
    if (!(event.player instanceof EntityPlayerMP)) {
      return;
    }
        try{
    var player = getScriptEntity(event.player);
    player.sendMessage("§e[小浩]§f你妈死了")
        }catch(e){
  npc.say(e)
  }
  }, FMLCommonHandler.instance().bus()));
}
//unListenEvent(listeners.get(listenerName[0]).getEventType(),listeners.get(listenerName[0]).getListener(),listeners.get(listenerName[0]).getBus());
//listeners.remove(listenerName[0]);
function Listener(eventType, listener, bus) {
  var MinecraftForge = Java.type("net.minecraftforge.common.MinecraftForge");
  this.eventType = eventType;
  this.listener = listener;
  this.bus = (bus == null) ? MinecraftForge.EVENT_BUS : bus;
  this.getEventType = function () {
    return this.eventType;
  }
  this.getListener = function () {
    return this.listener;
  }
  this.getBus = function () {
    return this.bus;
  }
}
/**
*EventListener listenEvent(String eventType,String priority,function listener)
*-eventType:你要监听的事件的类路径 如net.minecraftforge.event.ServerGiaoEvent
*-priority:你的事件优先级 从低到高LOWEST LOW NORMAL HIGH HIGHEST
*-listener:事件方法
*-bus:你可以指定EventBus
*Return:
*-Listener:监听器
*监听事件并返回监听对象
*/
function getScriptEntity(entity) {
  var ScriptController = Java.type("noppes.npcs.controllers.ScriptController");
  if (entity == null) {
    return null;
  }
  return ScriptController.Instance.getScriptForEntity(entity);
}
function listenEvent(eventType, priority, listener, bus) {
  var Event = Java.type(eventType);
  try {
    var IEventListener = Java.type("net.minecraftforge.fml.common.eventhandler.IEventListener");
    var EventPriority = Java.type("net.minecraftforge.fml.common.eventhandler.EventPriority");
  } catch (err) {
    var IEventListener = Java.type("cpw.mods.fml.common.eventhandler.IEventListener");
    var EventPriority = Java.type("cpw.mods.fml.common.eventhandler.EventPriority");
  }
  var MinecraftForge = Java.type("net.minecraftforge.common.MinecraftForge");
  var event = new Event();
  if (priority == "LOW") {
    priority = EventPriority.LOW;
  }
  if (priority == "HIGH") {
    priority = EventPriority.HIGH;
  }
  if (priority == "NORMAL") {
    priority = EventPriority.NORMAL;
  }
  if (priority == "LOWEST") {
    priority = EventPriority.LOWEST;
  }
  if (priority == "HIGHEST") {
    priority = EventPriority.HIGHEST;
  }
  var EventListener = Java.extend(IEventListener, {
    invoke: listener
  });
  listener = new EventListener();
  var bus = (bus == null) ? MinecraftForge.EVENT_BUS : bus;
  var busID = bus.class.getDeclaredField("busID");
  busID.setAccessible(true);
  busID = busID.getInt(bus);
  event.getListenerList().register(busID, priority, listener);
  return new Listener(eventType, listener, bus);
}
/**
*void unListenEvent(String eventType,IEventListener listener,EventBus bus)
*-eventType:事件的类路径 如net.minecraftforge.event.ServerGiaoEvent
*-listener:事件方法
*-bus:你可以指定EventBus
*取消监听事件
*/
function unListenEvent(eventType, listener, bus) {
  var Event = Java.type(eventType);
  var MinecraftForge = Java.type("net.minecraftforge.common.MinecraftForge");
  var event = new Event();
  var bus = (bus == null) ? MinecraftForge.EVENT_BUS : bus;
  var busID = bus.class.getDeclaredField("busID");
  busID.setAccessible(true);
  busID = busID.getInt(bus);
  event.getListenerList().unregister(busID, listener);
}
/**
*@Author Hueihuea
*著作权属于Hueihuea 2019/6/16起生效
*/


版权声明:

  • 你不能转载本帖。
  • 你不能声称作者是自己。




小浩喜欢男孩子嘛!
回复

使用道具 举报

0

主题

9

帖子

74

积分

论坛萌新

Rank: 1

积分
74
人气
0 点
钻石粒
67 粒
贡献
0 点
论坛币
19 个
爱心
0 点

论坛注册会员

发表于 2020-3-15 22:03:12 | 显示全部楼层
我还得学习根本看不懂
回复

使用道具 举报

0

主题

19

帖子

126

积分

论坛萌新

Rank: 1

积分
126
人气
0 点
钻石粒
107 粒
贡献
0 点
论坛币
33 个
爱心
0 点

论坛注册会员

发表于 2020-3-15 23:04:41 | 显示全部楼层
来来来,跟我一起,event.setCanceled(true)
回复

使用道具 举报

6

主题

10

帖子

87

积分

论坛萌新

Rank: 1

积分
87
人气
2 点
钻石粒
125 粒
贡献
0 点
论坛币
12 个
爱心
0 点

论坛注册会员

发表于 2020-3-17 10:06:40 | 显示全部楼层
丨小学妹丨小舞 发表于 2020-3-15 23:04
来来来,跟我一起,event.setCanceled(true)

shab小舞
回复

使用道具 举报

0

主题

19

帖子

126

积分

论坛萌新

Rank: 1

积分
126
人气
0 点
钻石粒
107 粒
贡献
0 点
论坛币
33 个
爱心
0 点

论坛注册会员

发表于 2020-4-15 02:23:41 | 显示全部楼层

shabkemo           
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2020-9-20 03:46 , Processed in 0.061783 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部