Dertiende
Активный участник
- Баллы
- 61
Всем привет! Прошу помочь с примером реализации getSchelduler.runTaskAsynchronously. Чем проще это будет, тем собственно лучше.
Вопросы:
- Как его вызывать при обработке команды?
- Какие требования к методу и его содержимому?(взаимодействия с BukkitAPI внутри метода не предусмотрено)
Есть метод в плагине, который создает таблицу с чанками для дальнейшего хранения в ней информации по чанкам. Чанков много...
С Java знаком постольку поскольку, поиск по гитхабу и существующим темам задачу не упростил.
Сам метод:
Очень прошу любителей отправлять молодежь на изучение мат.части проявить терпения.
Вопросы:
- Как его вызывать при обработке команды?
- Какие требования к методу и его содержимому?(взаимодействия с BukkitAPI внутри метода не предусмотрено)
Есть метод в плагине, который создает таблицу с чанками для дальнейшего хранения в ней информации по чанкам. Чанков много...
С Java знаком постольку поскольку, поиск по гитхабу и существующим темам задачу не упростил.
Сам метод:
PHP:
public Runnable dbChunksRefresh(World w, int radiusX, int radiusZ)
{
try
{
String wName = w.getName();
String url = "jdbc:mysql://localhost:3307/minetest";
Connection con = DriverManager.getConnection(url,"root","");
String sqlDrop = "DROP TABLE IF EXISTS "+wName+";";
String sqlCreate = "CREATE TABLE IF NOT EXISTS "+wName+" (" +
"Id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY (Id), " +
"x INT, " +
"z INT, " +
"Region INT);";
Statement Table = con.createStatement();
Table.executeUpdate(sqlDrop);
Table.executeUpdate(sqlCreate);
int xMax = radiusX + 500;
int zMax = radiusZ + 500;
int xMin = -xMax;
int zMin = -zMax;
log.info("xmin:"+xMin);
log.info("zmin:"+zMin);
log.info("xmax:"+xMax);
log.info("zmax:"+zMax);
log.info("radiusx:"+radiusX);
log.info("radiusz:"+radiusZ);
int startX = findChunkStartPoint(xMin);
int startZ = findChunkStartPoint(xMin);;
log.info("startx:"+startX);
log.info("startz:"+startZ);
int x = startX;
int z = startZ;
log.info("x:"+x);
log.info("z:"+z);
while (x<=radiusX)
{
log.info("working on: "+x);
while (z<=radiusZ)
{
String sql = "INSERT INTO "+wName+" (x, z) Values (?, ?);";
PreparedStatement insertChunk = con.prepareStatement(sql);
insertChunk.setInt(1,x);
insertChunk.setInt(2,z);
insertChunk.executeUpdate();
z+=16;
}
x+=16;
z = startZ;
}
}
catch (Exception e)
{
log.warning(e.getMessage());
}
return null;