Я добавляю значения в асинхронную карту, используя BukkitRunnable, а затем хочу вернуть карту.
public Map<String, Object> test() {
final Map<String, Object> testMap = new HashMap<>();
new BukkitRunnable() {
@Override
public void run() {
testMap.put("A", 1);
testMap.put("B", 2);
}
}.runTaskAsynchronously(bridge);
return testMap;
}
Если я хочу использовать эту карту, она всегда будет пустой. Он возвращается до того, как значения добавляются на карту, так как я добавляю их в другой поток.
Я действительно хочу использовать BukkitRunnable, а не Future. Как я могу это сделать? Мне нужно было бы вернуть карту с задержкой или, что еще лучше, вернуть карту каким-либо образом из BukkitRunnable.