本文整理汇总了Java中ch.njol.skript.classes.Changer.ChangeMode方法的典型用法代码示例。如果您正苦于以下问题:Java Changer.ChangeMode方法的具体用法?Java Changer.ChangeMode怎么用?Java Changer.ChangeMode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ch.njol.skript.classes.Changer
的用法示例。
在下文中一共展示了Changer.ChangeMode方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: change
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public void change(Event e, Object[] delta, @NotNull Changer.ChangeMode mode) {
ItemStack i = item.getSingle(e);
if (i == null) {
return;
}
if (i.getType() == Material.BANNER || i.getType() == Material.SHIELD) {
BannerMeta meta = ((BannerMeta) i.getItemMeta());
switch (mode) {
case ADD:
Arrays.asList(((Pattern[]) delta)).forEach(meta::addPattern);
break;
case SET:
meta.setPatterns(Arrays.asList(((Pattern[]) delta)));
break;
case DELETE:
case RESET:
for (int j = 1; j <= meta.numberOfPatterns(); j++) {
meta.removePattern(j);
}
break;
}
i.setItemMeta(meta);
}
}
示例2: change
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode) {
Object target = targetArg.getSingle(e);
if (target == null) {
return;
}
Object[] args = new Object[1];
switch (mode) {
case SET:
args[0] = delta[0];
break;
case DELETE:
args[0] = null;
break;
}
invoke(target, args, getDescriptor(e));
}
示例3: change
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public void change(Event e, Object[] delta, @NotNull Changer.ChangeMode mode) {
Block b = block.getSingle(e);
if (b == null) {
return;
}
if (b.getType() == Material.BANNER) {
Banner banner = (Banner) b.getState();
Pattern[] patterns = (Pattern[]) delta;
switch (mode) {
case ADD:
Arrays.asList(patterns).forEach(banner::addPattern);
break;
case SET:
banner.setPatterns(Arrays.asList(patterns));
break;
case DELETE:
case RESET:
for (int i = 1; i <= banner.numberOfPatterns(); i++)
banner.removePattern(i);
break;
}
banner.update(true, false);
}
}
示例4: change
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public void change(Event e, Object[] delta, @NotNull Changer.ChangeMode mode) {
ItemStack i = item.getSingle(e);
if (i == null) {
return;
}
if (i.getType() == Material.BANNER || i.getType() == Material.SHIELD) {
BannerMeta meta = ((BannerMeta) i.getItemMeta());
switch (mode) {
case SET:
Color c = (Color) delta[0];
meta.setBaseColor(c.getWoolColor());
break;
case RESET:
meta.setBaseColor(DyeColor.WHITE);
break;
}
i.setItemMeta(meta);
}
}
示例5: change
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public void change(Event e, Object[] delta, Changer.ChangeMode mode){
if (mode == ChangeMode.SET) {
String w = (String)delta[0];
WeatherType t = null;
try {
t = WeatherType.valueOf(w.replace("\"", "").trim().replace(" ", "_").toUpperCase());
} catch (IllegalArgumentException error) {
Bukkit.getConsoleSender().sendMessage(Skellett.cc(Skellett.prefix + "&cUnknown weather type " + w));
return;
}
if (t != null) {
player.getSingle(e).setPlayerWeather(t);
}
} else if (mode == ChangeMode.RESET) {
player.getSingle(e).setPlayerWeather(WeatherType.CLEAR);
}
}
示例6: ExpressionChangeEvent
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
public ExpressionChangeEvent(Event event, Expression<?>[] expressions,
SkriptParser.ParseResult parseResult, Object[] delta,
Changer.ChangeMode mode) {
super(event, expressions, parseResult);
this.delta = delta;
this.mode = mode;
}
示例7: acceptChange
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Nullable
@Override
public Class<?>[] acceptChange(Changer.ChangeMode mode) {
return (mode == Changer.ChangeMode.SET || mode == Changer.ChangeMode.RESET)
? CollectionUtils.array(Color.class)
: null;
}
示例8: change
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public void change(Event e, Object[] delta, @NotNull Changer.ChangeMode changeMode) {
Block b = beacon.getSingle(e);
if (b == null) {
return;
}
if (b.getType() == Material.BEACON) {
Beacon state = ((Beacon) b.getState());
switch (changeMode) {
case SET:
if (isPrimary) {
state.setPrimaryEffect((PotionEffectType) delta[0]);
} else {
state.setSecondaryEffect((PotionEffectType) delta[0]);
}
break;
case DELETE:
case RESET:
if (isPrimary) {
state.setPrimaryEffect(null);
} else {
state.setSecondaryEffect(null);
}
break;
}
state.update(true, false);
}
}
示例9: acceptChange
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public Class<?>[] acceptChange(Changer.ChangeMode mode) {
if (type == Type.FIELD &&
(mode == Changer.ChangeMode.SET || mode == Changer.ChangeMode.DELETE)) {
return new Class<?>[]{Object.class};
}
return null;
}
示例10: parse
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public Changer.ChangeMode parse(String s, ParseContext context) {
s = s.toUpperCase();
if (s.startsWith("TO ")) {
s = s.substring(3).trim();
try {
return Changer.ChangeMode.valueOf(s.replace(' ', '_'));
} catch (IllegalArgumentException ex) {
return null;
}
}
return null;
}
示例11: acceptChange
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public Class<?>[] acceptChange(Changer.ChangeMode mode) {
if (mode != Changer.ChangeMode.REMOVE && mode != Changer.ChangeMode.REMOVE_ALL) {
return CollectionUtils.array(PotionEffect[].class);
} else {
return CollectionUtils.array(PotionEffectType[].class);
}
}
示例12: acceptChange
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Nullable
@Override
public Class<?>[] acceptChange(Changer.ChangeMode mode) {
if (mode == Changer.ChangeMode.REMOVE) {
return CollectionUtils.array(PotionEffectType.class);
} else if (mode != Changer.ChangeMode.RESET) {
return CollectionUtils.array(PotionEffect[].class);
}
return null;
}
示例13: acceptChange
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Nullable
@Override
public Class<?>[] acceptChange(Changer.ChangeMode mode) {
if (mode != Changer.ChangeMode.REMOVE_ALL && mode != Changer.ChangeMode.RESET
&& mode != Changer.ChangeMode.DELETE) {
return CollectionUtils.array(Timespan.class);
}
return null;
}
示例14: acceptChange
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public Class<?>[] acceptChange(final Changer.ChangeMode mode) {
if (mode == ChangeMode.SET || mode == ChangeMode.RESET || mode == ChangeMode.DELETE) {
return CollectionUtils.array(Object.class);
}
return null;
}
示例15: acceptChange
import ch.njol.skript.classes.Changer; //导入方法依赖的package包/类
@Override
public Class<?>[] acceptChange(final Changer.ChangeMode mode) {
if (mode == ChangeMode.SET || mode == ChangeMode.RESET) {
return CollectionUtils.array(String.class);
}
return null;
}