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


Java Changer.ChangeMode方法代码示例

本文整理汇总了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);
	}

}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:27,代码来源:SExprItemLayers.java

示例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));
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:21,代码来源:ExprJavaCall.java

示例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);
	}
}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:26,代码来源:SExprBannerBlockLayers.java

示例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);
	}
}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:21,代码来源:SExprItemBaseColor.java

示例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);
	}
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:19,代码来源:ExprClientWeather.java

示例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;
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:8,代码来源:CustomExpression.java

示例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;
}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:8,代码来源:SExprItemBaseColor.java

示例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);
	}
}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:29,代码来源:SExprBeaconEffects.java

示例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;
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:9,代码来源:ExprJavaCall.java

示例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;
}
 
开发者ID:btk5h,项目名称:skript-mirror,代码行数:14,代码来源:Types.java

示例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);
	}
}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:9,代码来源:SExprPotionItemEffects.java

示例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;
}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:11,代码来源:SExprThrownPotionEffects.java

示例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;
}
 
开发者ID:Syst3ms,项目名称:QuarSK,代码行数:10,代码来源:SExprItemEffectTypeDuration.java

示例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;
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:8,代码来源:ExprMetadata.java

示例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;
}
 
开发者ID:TheLimeGlass,项目名称:Skellett,代码行数:8,代码来源:ExprStylishPlayerBoard.java


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