• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Trigger类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中ch.njol.skript.lang.Trigger的典型用法代码示例。如果您正苦于以下问题:Java Trigger类的具体用法?Java Trigger怎么用?Java Trigger使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Trigger类属于ch.njol.skript.lang包,在下文中一共展示了Trigger类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: register

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void register(Trigger t) {
  whiches.forEach(which -> {
    String pattern = which.getPattern();
    if (!expressions.contains(pattern)) {
      expressions.add(pattern);
      expressionInfos.put(pattern, which);
    }

    Map<SyntaxInfo, Trigger> handlerMap = isChanger ? changerHandlers : expressionHandlers;
    if (handlerMap.containsKey(which)) {
      Skript.error(String.format("The custom expression '%s' already has a handler.", pattern));
    } else {
      handlerMap.put(which, t);
    }
  });
  updateExpressions();
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:19,代码来源:CustomExpression.java


示例2: getAll

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public T[] getAll(Event e) {
  Trigger trigger = expressionHandlers.get(which);
  ExpressionGetEvent expressionEvent = new ExpressionGetEvent(e, exprs, parseResult);

  if (trigger == null) {
    Skript.error(
        String.format("The custom expression '%s' no longer has a get handler.",
            which.getPattern())
    );
    return Util.newArray(superType, 0);
  } else {
    trigger.execute(expressionEvent);
  }

  if (expressionEvent.getOutput() == null) {
    Skript.error(
        String.format("The get handler for '%s' did not continue.", which.getPattern())
    );
    return Util.newArray(superType, 0);
  }

  return Converters.convertArray(expressionEvent.getOutput(), types, superType);
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:25,代码来源:CustomExpression.java


示例3: loadTrigger

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
/**
 * For unit testing
 * 
 * @param node
 * @return The loaded Trigger
 */
@Nullable
static Trigger loadTrigger(final SectionNode node) {
	String event = node.getKey();
	if (event == null) {
		assert false : node;
		return null;
	}
	if (event.toLowerCase().startsWith("on "))
		event = "" + event.substring("on ".length());
	
	final NonNullPair<SkriptEventInfo<?>, SkriptEvent> parsedEvent = SkriptParser.parseEvent(event, "can't understand this event: '" + node.getKey() + "'");
	if (parsedEvent == null) {
		assert false;
		return null;
	}
	
	setCurrentEvent("unit test", parsedEvent.getFirst().events);
	try {
		return new Trigger(null, event, parsedEvent.getSecond(), loadItems(node));
	} finally {
		deleteCurrentEvent();
	}
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:30,代码来源:ScriptLoader.java


示例4: unregister

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void unregister(final Trigger t) {
	assert t == this.t;
	this.t = null;
	final Iterator<EvtAtInfo> iter = triggers.values().iterator();
	while (iter.hasNext()) {
		final EvtAtInfo i = iter.next();
		i.list.remove(this);
		if (i.currentIndex >= i.list.size())
			i.currentIndex--;
		if (i.list.isEmpty())
			iter.remove();
	}
	if (triggers.isEmpty())
		unregisterAll();
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:17,代码来源:EvtAtTime.java


示例5: register

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
	public void register(final Trigger trigger) {
//		if (types == null) {
//			final BlockLocation l = new BlockLocation(world, x, y, z);
//			List<Trigger> ts = blockTriggers.get(l);
//			if (ts == null)
//				blockTriggers.put(l, ts = new ArrayList<Trigger>());
//			ts.add(trigger);
//		} else {
		for (final ItemType t : types) {
			for (final ItemData d : t) {
				if (d.getId() > Skript.MAXBLOCKID)
					continue;
				List<Trigger> ts = itemTypeTriggers.get(d.getId());
				if (ts == null)
					itemTypeTriggers.put(d.getId(), ts = new ArrayList<Trigger>());
				ts.add(trigger);
			}
		}
//		}
		if (!registeredExecutor) {
			Bukkit.getPluginManager().registerEvent(PlayerMoveEvent.class, new Listener() {}, SkriptConfig.defaultEventPriority.value(), executor, Skript.getInstance(), true);
			registeredExecutor = true;
		}
	}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:26,代码来源:EvtMoveOn.java


示例6: unregister

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
	public void unregister(final Trigger t) {
//		final Iterator<Entry<BlockLocation, List<Trigger>>> i = blockTriggers.entrySet().iterator();
//		while (i.hasNext()) {
//			final List<Trigger> ts = i.next().getValue();
//			ts.remove(t);
//			if (ts.isEmpty())
//				i.remove();
//		}
		final Iterator<Entry<Integer, List<Trigger>>> i2 = itemTypeTriggers.entrySet().iterator();
		while (i2.hasNext()) {
			final List<Trigger> ts = i2.next().getValue();
			ts.remove(t);
			if (ts.isEmpty())
				i2.remove();
		}
	}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:18,代码来源:EvtMoveOn.java


示例7: unregister

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void unregister(Trigger t) {
  whiches.forEach(which -> {
    Map<SyntaxInfo, Trigger> handlerMap = isChanger ? changerHandlers : expressionHandlers;
    handlerMap.remove(which);

    if (!expressionHandlers.containsKey(which) && !changerHandlers.containsKey(which)) {
      expressions.remove(which.getPattern());
      expressionInfos.remove(which.getPattern());
    }
  });
  updateExpressions();
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:14,代码来源:CustomExpression.java


示例8: change

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode) {
  Trigger trigger = changerHandlers.get(which);
  ExpressionChangeEvent expressionEvent =
      new ExpressionChangeEvent(e, exprs, parseResult, delta, mode);

  if (trigger == null) {
    Skript.error(
        String.format("The custom expression '%s' no longer has a change handler.",
            which.getPattern())
    );
  } else {
    trigger.execute(expressionEvent);
  }
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:16,代码来源:CustomExpression.java


示例9: register

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void register(Trigger t) {
  if (effects.contains(which)) {
    Skript.error(String.format("The custom effect '%s' already has a handler.", which));
    return;
  }
  effects.add(which);
  effectHandlers.put(which, t);
  updateEffects();
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:11,代码来源:CustomEffect.java


示例10: invokeEffect

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
private EffectEvent invokeEffect(Event e) {
  Trigger trigger = effectHandlers.get(which);
  EffectEvent effectEvent = new EffectEvent(e, exprs, parseResult, which, getNext());
  if (trigger == null) {
    Skript.error(String.format("The custom effect '%s' no longer has a handler.", which));
  } else {
    trigger.execute(effectEvent);
  }
  return effectEvent;
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:11,代码来源:CustomEffect.java


示例11: register

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void register(Trigger t) {
  whiches.forEach(which -> {
    String pattern = which.getPattern();
    if (!conditions.contains(pattern)) {
      conditions.add(pattern);
      conditionInfos.put(pattern, which);
      conditionHandlers.put(which, t);
    } else {
      Skript.error(String.format("The custom condition '%s' already has a handler.", pattern));
    }
  });
  updateConditions();
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:15,代码来源:CustomCondition.java


示例12: unregister

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void unregister(Trigger t) {
  whiches.forEach(which -> {
    conditions.remove(which.getPattern());
    conditionInfos.remove(which.getPattern());
    conditionHandlers.remove(which);
  });
  updateConditions();
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:10,代码来源:CustomCondition.java


示例13: check

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public boolean check(Event e) {
  Trigger trigger = conditionHandlers.get(which);
  ConditionEvent conditionEvent = new ConditionEvent(e, exprs, parseResult);
  trigger.execute(conditionEvent);
  return conditionEvent.isMarkedContinue() == !which.isInverted();
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:8,代码来源:CustomCondition.java


示例14: register

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void register(Trigger trigger) {
    if (!afterInitRun) {
        afterInit();
        afterInitRun = true;
    }
}
 
开发者ID:MundoSK,项目名称:MundoSK,代码行数:8,代码来源:MundoEventScope.java


示例15: getTriggers

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
private final static Iterator<Trigger> getTriggers(final Class<? extends Event> event) {
	return new Iterator<Trigger>() {
		@Nullable
		private Class<?> e = event;
		@Nullable
		private Iterator<Trigger> current = null;
		
		@Override
		public boolean hasNext() {
			Iterator<Trigger> current = this.current;
			Class<?> e = this.e;
			while (current == null || !current.hasNext()) {
				if (e == null || !Event.class.isAssignableFrom(e))
					return false;
				final List<Trigger> l = triggers.get(e);
				this.current = current = l == null ? null : l.iterator();
				this.e = e = e.getSuperclass();
			}
			return true;
		}
		
		@Override
		public Trigger next() {
			final Iterator<Trigger> current = this.current;
			if (current == null || !hasNext())
				throw new NoSuchElementException();
			final Trigger next = current.next();
			assert next != null;
			return next;
		}
		
		@Override
		public void remove() {
			throw new UnsupportedOperationException();
		}
	};
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:38,代码来源:SkriptEventHandler.java


示例16: addTrigger

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
static void addTrigger(final Class<? extends Event>[] events, final Trigger trigger) {
	for (final Class<? extends Event> e : events) {
		List<Trigger> ts = triggers.get(e);
		if (ts == null)
			triggers.put(e, ts = new ArrayList<Trigger>());
		ts.add(trigger);
	}
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:9,代码来源:SkriptEventHandler.java


示例17: removeTriggers

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
static ScriptInfo removeTriggers(final File script) {
	final ScriptInfo info = new ScriptInfo();
	info.files = 1;
	
	final Iterator<List<Trigger>> triggersIter = SkriptEventHandler.triggers.values().iterator();
	while (triggersIter.hasNext()) {
		final List<Trigger> ts = triggersIter.next();
		for (int i = 0; i < ts.size(); i++) {
			if (script.equals(ts.get(i).getScript())) {
				info.triggers++;
				ts.remove(i);
				i--;
				if (ts.isEmpty())
					triggersIter.remove();
			}
		}
	}
	
	for (int i = 0; i < selfRegisteredTriggers.size(); i++) {
		final Trigger t = selfRegisteredTriggers.get(i);
		if (script.equals(t.getScript())) {
			info.triggers++;
			((SelfRegisteringSkriptEvent) t.getEvent()).unregister(t);
			selfRegisteredTriggers.remove(i);
			i--;
		}
	}
	
	info.commands = Commands.unregisterCommands(script);
	
	info.functions = Functions.clearFunctions(script);
	
	return info;
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:35,代码来源:SkriptEventHandler.java


示例18: removeAllTriggers

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
static void removeAllTriggers() {
		triggers.clear();
		for (final Trigger t : selfRegisteredTriggers)
			((SelfRegisteringSkriptEvent) t.getEvent()).unregisterAll();
		selfRegisteredTriggers.clear();
//		unregisterEvents();
	}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:8,代码来源:SkriptEventHandler.java


示例19: ScriptFunction

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@SuppressFBWarnings("ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD")
public ScriptFunction(final String name, final Parameter<?>[] parameters, final SectionNode node, @Nullable final ClassInfo<T> returnType, final boolean single) {
	super(name, parameters, returnType, single);
	
	// here to allow recursion
	Functions.functions.put(name, new FunctionData(this));
	
	Functions.currentFunction = this;
	try {
		trigger = new Trigger(node.getConfig().getFile(), "function " + name, new SimpleEvent(), ScriptLoader.loadItems(node));
	} finally {
		Functions.currentFunction = null;
	}
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:15,代码来源:ScriptFunction.java


示例20: register

import ch.njol.skript.lang.Trigger; //导入依赖的package包/类
@Override
public void register(final Trigger t) {
	this.t = t;
	for (final World w : worlds) {
		EvtAtInfo i = triggers.get(w);
		if (i == null) {
			triggers.put(w, i = new EvtAtInfo());
			i.lastTick = (int) w.getTime() - 1;
		}
		i.list.add(this);
		Collections.sort(i.list);
	}
	registerListener();
}
 
开发者ID:nfell2009,项目名称:Skript,代码行数:15,代码来源:EvtAtTime.java



注:本文中的ch.njol.skript.lang.Trigger类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Vec2d类代码示例发布时间:2022-05-16
下一篇:
Java MXSession类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap