这是一个关于随机的 Lib 模组,已在 GitHub 开源。
此模组可以对数字,字符串,颜色,物品,方块,附魔以及实体类型进行随机,对于玩家,可以使用以下两个指令进行关于随机的操作:
/random <type(number|string|color|item|block|enchant|entity)> <length(仅在 type 为 number 或 string 时生效,type 为 number 时,该参数指最大随机数,type 为 string 时,该参数为随机字符串长度。)> 随机,失败返回 null 或报错。
/aboutRandom <type(number|string|color|item|block|enchant|entity)> 查看指定类型的随机所需的参数。
对于开发者而言,可以在您的项目中的加入以下代码来调用此模组:
public static String InvokeLib(Class clazz,String f, String... args){
try{
Method method = clazz.getMethod(f,new Class[args.length]);
method.setAccessible(true);
Object instance = clazz.getDeclaredConstructor().newInstance();
return (String)method.invoke(instance,(Object[]) args);
}
catch (Exception e){
String argss = "";
for(String arg:args){
if(argss.equals("")){
argss = arg;
}
else{
argss = argss + "," + arg;
}
}
System.out.println("Failed to invoke "+ f + " args: " + argss);
return "Failed to invoke "+ f +" args: "+ argss + "\n" + getExceptionText(e);
}
}
public static String getExceptionText(Exception e){
String text = e.toString();
for(StackTraceElement ste:e.getStackTrace()){
text=text+"\nat "+ste;
}
return text;
}
注意:请在调用该代码前先检查是否已加载该模组,否则将会报错。