当前位置: 首页>>代码示例>>Java>>正文


Java TextTemplate.of方法代码示例

本文整理汇总了Java中org.spongepowered.api.text.TextTemplate.of方法的典型用法代码示例。如果您正苦于以下问题:Java TextTemplate.of方法的具体用法?Java TextTemplate.of怎么用?Java TextTemplate.of使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.spongepowered.api.text.TextTemplate的用法示例。


在下文中一共展示了TextTemplate.of方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: toTemplate

import org.spongepowered.api.text.TextTemplate; //导入方法依赖的package包/类
private TextTemplate toTemplate(String text)
{
    List<TextRepresentable> parts = new LinkedList<>();
    Matcher matcher = PLACEHOLDER_PATTERN.matcher(text);
    int lastIndex = 0;
    while (matcher.find())
    {
        parts.add(TextSerializers.PLAIN.deserialize(text.substring(lastIndex, matcher.start())));
        parts.add(TextTemplate.arg(text.substring(matcher.start() + 1, matcher.end() - 1)).build());
        lastIndex = matcher.end();
    }
    if (lastIndex < text.length())
    {
        parts.add(Text.builder(text.substring(lastIndex)).build());
    }
    return TextTemplate.of(ARG_BOUNDARY, ARG_BOUNDARY, parts.toArray());
}
 
开发者ID:ustc-zzzz,项目名称:VirtualChest,代码行数:18,代码来源:VirtualChestPlaceholderManager.java

示例2: multi

import org.spongepowered.api.text.TextTemplate; //导入方法依赖的package包/类
private static TextTemplate multi(String p, Pattern pattern, Text t) {
	TextTemplate out = TextTemplate.of();
	Matcher m = pattern.matcher(p);
	m.find();
	String p2 = m.group();
	String ex = m.group(1);
	String pre = p2.substring(0, p2.indexOf(ex));
	String post = p2.substring(p2.indexOf(ex) + ex.length());
	String pt = p.substring(0, p.indexOf(p2));
	String ppt = p.substring(p.indexOf(p2) + p2.length());
	boolean recurse = false;
	if (pattern.matcher(ppt).find()) {
		recurse = true;
	}
	Text.Builder ptt = Text.builder(pt).format(t.getFormat());
	Text.Builder pptt = Text.builder(ppt).format(t.getFormat());
	t.getClickAction().ifPresent(c -> {
		ptt.onClick(c);
		pptt.onClick(c);
	});
	t.getShiftClickAction().ifPresent(c -> {
		ptt.onShiftClick(c);
		pptt.onShiftClick(c);
	});
	t.getHoverAction().ifPresent(c -> {
		ptt.onHover(c);
		pptt.onHover(c);
	});
	Text pretext = ptt.build();
	Text posttext = pptt.build();
	if (recurse) {
		return out
				.concat(TextTemplate.of(pre, post,
						new Object[] { pretext, TextTemplate.arg(ex).format(t.getFormat()) }))
				.concat(multi(ppt, pattern, t));
	} else {
		return out.concat(TextTemplate.of(pre, post,
				new Object[] { pretext, TextTemplate.arg(ex).format(t.getFormat()), posttext }));
	}
}
 
开发者ID:rojo8399,项目名称:PlaceholderAPI,代码行数:41,代码来源:TextUtils.java


注:本文中的org.spongepowered.api.text.TextTemplate.of方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。