【发布时间】:2021-04-14 17:06:33
【问题描述】:
我很困惑。我让它工作了,然后去做了其他事情,然后又发现它不起作用。
现在我的代码是
package com.kingmo.utils.abstractions;
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.Location;
public class SerializableLocation extends Location implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
public SerializableLocation(Location loc) {
super(loc.getWorld(), loc.getX(), loc.getY(), loc.getZ());
}
public SerializableLocation(Map<String, Object> ser) {
this(new Location(Bukkit.getWorld((String) ser.get("world")), (int) ser.get("x"), (int) ser.get("y"),
(int) ser.get("z")));
}
@Override
public Map<String, Object> serialize() {
Map<String, Object> map = new HashMap<>();
map.put("world", this.getWorld().getName());
map.put("x", this.getBlockX());
map.put("y", this.getBlockY());
map.put("z", this.getBlockZ());
return map;
}
@Override
public int hashCode() {
return 31 * (int) (this.getX() + this.getY() + this.getZ() + this.getWorld().getName().hashCode());
}
@Override
public boolean equals(Object o) {
if (!(o instanceof SerializableLocation))
return false;
Location loc = (Location) o;
return loc.getX() == this.getX() && loc.getY() == this.getY() && loc.getZ() == this.getZ()
&& loc.getWorld().getName().equals(this.getWorld().getName());
}
}
如您所见,我有 SerializableLocation#init(Map
【问题讨论】:
标签: java serialization bukkit