我尝试在我的bukkit服务器中加载插件时遇到NullPointerException,但Eclipse中没有错误.我的插件是Rush pluing,很多东西没有使用/丢失.错误是这样的:
[18:11:10] [Server thread/ERROR]: Could not load 'plugins\rush.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.NullPointerException
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:182) ~ [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:308) ~ [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:231) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.java:255) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at org.bukkit.craftbukkit.v1_7_R1.CraftServer.<init>(CraftServer.java:233) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.PlayerList.<init>(PlayerList.java:63) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.DedicatedPlayerList.<init>(SourceFile:14) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.java:126) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java:424) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:617) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
Caused by: java.lang.NullPointerException
at me.mailh.Rush.MainRush.<init>(MainRush.java:62) ~[?:?]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.7.0_45]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.7.0_45]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~ [?:1.7.0_45]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.7.0_45]
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:178) ~ [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks]
... 9 more
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
package me.mailh.Rush;
import …Run Code Online (Sandbox Code Playgroud) 有没有办法在 Swift 中将十六进制字符串转换为 base64?例如,我想转换:
BA5E64C0DE
Run Code Online (Sandbox Code Playgroud)
到:
ul5kwN4=
Run Code Online (Sandbox Code Playgroud)
可以使用以下方法将普通字符串转换为 base64:
let hex: String = "BA5E64C0DE"
let utf8str: NSData = hex.dataUsingEncoding(NSUTF8StringEncoding)!
let base64Encoded: NSString = utf8str.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
let base64: String = (base64Encoded as String)
Run Code Online (Sandbox Code Playgroud)
但这会产生以下结果:
QkE1RTY0QzBERQ==
Run Code Online (Sandbox Code Playgroud)
因为它只是将十六进制视为普通的 UTF-8 字符串,而不是十六进制。
可以通过循环遍历每六个十六进制字符并将其转换为四个相应的 Base64 字符来正确地将其转换为 Base64,但这将是非常低效的,并且非常愚蠢(需要 17,830,160 个 if 语句):
if(hex == "000000"){base64+="AAAA"}
else if(hex == "000001"){base64+="AAAB"}
else if(hex == "000002"){base64+="AAAC"}
else if(hex == "BA5E64"){base64+="ul5k"}
//...
Run Code Online (Sandbox Code Playgroud)
如果有这样的东西就好了:
let hex: String = "BA5E64C0DE"
let data: NSData = hex.dataUsingEncoding(NSHexadecimalEncoding)!
let base64Encoded: NSString = data.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0)) …Run Code Online (Sandbox Code Playgroud) 通过Swift的基础知识,我注意到有两种方法可以将数据添加到数组中.
一种方法是使用该.append方法,另一种方法是使用+=运算符(允许添加> 2项数组).
使用+=和.append只想添加单个项目到阵列时有什么区别吗?
fooArray.append("Bar")
Run Code Online (Sandbox Code Playgroud)
与
fooArray += ["Bar"]
Run Code Online (Sandbox Code Playgroud) 给定一个简短的URL https://itun.es/us/JB7h_,如何将其扩展为完整的URL?
这是我的新库存代码Bukkit.
package com;
import org.bukkit.craftbukkit.v1_6_R2.inventory.CraftInventoryCustom;
import org.bukkit.inventory.*;
public class Server_Doc extends CraftInventoryCustom implements CraftingInventory, Inventory {
InventoryHolder IH;
public Server_Doc(InventoryHolder owner, int size) {
super(owner, size);
ItemStack items = new ItemStack(278);
((Inventory) owner).addItem(items);
// TODO Auto-generated constructor stub
}
@Override
public ItemStack[] getMatrix() {
// TODO Auto-generated method stub
return null;
}
@Override
public Recipe getRecipe() {
// TODO Auto-generated method stub
return null;
}
@Override
public ItemStack getResult() {
// TODO Auto-generated method stub
return null;
} …Run Code Online (Sandbox Code Playgroud) 我试图将报告中的个别记录保存为PDF文件.使用Access 2010.我得到了它的工作,但我需要在开始日期和结束日期,我似乎无法弄清楚语法.这是我到目前为止:
DoCmd.OpenReport "Rpt Form Responses", acViewReport, , "[Facility Number]=" & temp & _ And [Service Date] Between & begindate And enddate;
Run Code Online (Sandbox Code Playgroud)
顶线工作正常,但当我添加第二个我无法让它工作.我已经尝试了所有限定符',"以及#语法的许多不同变体而没有运气.
begindate和enddate是我从输入框中捕获的字符串.我应该将这些更改为约会吗?我已经在这里做了很多阅读,并根据建议我考虑在表单上放置一个开头和结尾的文本框,但我想我宁愿做输入框.
当我尝试将其plugin.yml用于Bukkit插件时:
main: me.tommy.kit.Kit
name: Kit
version: 0.1
author: Tommywells123
description: Gives kits!
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
[11:35:18 ERROR]: Could not load 'plugins/Kit.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:150) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:133) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.craftbukkit.v1_7_R3.CraftServer.loadPlugins(CraftServer.java:357) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.craftbukkit.v1_7_R3.CraftServer.reload(CraftServer.java:799) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.Bukkit.reload(Bukkit.java:288) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchCommand(CraftServer.java:703) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at org.bukkit.craftbukkit.v1_7_R3.CraftServer.dispatchServerCommand(CraftServer.java:690) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at net.minecraft.server.v1_7_R3.DedicatedServer.aB(DedicatedServer.java:296) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at net.minecraft.server.v1_7_R3.DedicatedServer.v(DedicatedServer.java:261) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at net.minecraft.server.v1_7_R3.MinecraftServer.u(MinecraftServer.java:558) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at net.minecraft.server.v1_7_R3.MinecraftServer.run(MinecraftServer.java:469) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
at net.minecraft.server.v1_7_R3.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Bukkit-1.7.2-R0.3-59-g6efeddf-b3074jnks]
Caused by: java.io.FileNotFoundException: Jar does not contain plugin.yml
... 14 more
Run Code Online (Sandbox Code Playgroud) 我编写了一个没有错误的Bukkit插件,但在游戏中它有一个问题.
每当使用该命令时,它都不会执行它应该执行的操作.相反,它向我发送了一条大胆的信息,说明我打字的内容/leaving.
这是我的代码:
public class SeeYouSoon extends JavaPlugin{
// Start
@Override
public void onEnable(){
}
@Override
public void onDisable() {
}
//Commands
public boolean onCommand(CommandSender sender, Command cmd, String[] args){
if(cmd.getName().equalsIgnoreCase("leaving")){
Player player = (Player) sender;
Bukkit.broadcastMessage(ChatColor.RED + player.getName() + ChatColor.LIGHT_PURPLE + ChatColor.ITALIC + " is about to leave the server. Please say your goodbyes!");
Bukkit.getScheduler().runTaskLater(this, new Runnable() {
public void run() {
//Run your function or change stuff here.
player.kickPlayer(ChatColor.RED + "Kicked:" + ChatColor.WHITE + " You …Run Code Online (Sandbox Code Playgroud) 有没有办法Tuple在Java中创建,而不必创建多个类?
例如,可以为每个不同类型的元组创建一个不同的类,每个类具有不同的数量Type Parameters:
public class SingleTuple<T>{}
public class DoubleTuple<T1, T2>{}
public class TripleTuple<T1, T2, T3>{}
public class QuadraTuple<T1, T2, T3, T4>{}
public class PentaTuple<T1, T2, T3, T4, T5>{}
Run Code Online (Sandbox Code Playgroud)
并且还可以通过以下方式创建一个没有任何元组的Tuple对象Type Parameters:
public class Tuple{
private Object[] objects;
public Tuple(Object... objects){
this.objects = objects;
}
public Object get(int index){
return this.objects[index];
}
}
Run Code Online (Sandbox Code Playgroud)
除非使用它,否则一旦将它们从元组中取出,所有对象都必须被转换为正确的子类,使其像一个ArrayList<Object>但具有较少的特征.
有没有办法只创建一个单一的类,并且有多个Type Parameters没有定义所有这些(如第一个例子中),使用这样的东西?
public class Tuple<T...>{
}
Run Code Online (Sandbox Code Playgroud)