mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 10:12:53 +00:00
Fix regens
This commit is contained in:
parent
4a1de4c0da
commit
fe78d4f1e7
@ -60,75 +60,77 @@ public class CommandIrisRegen extends MortarCommand {
|
|||||||
|
|
||||||
if(IrisToolbelt.isIrisWorld(sender.player().getWorld()))
|
if(IrisToolbelt.isIrisWorld(sender.player().getWorld()))
|
||||||
{
|
{
|
||||||
PlatformChunkGenerator plat = IrisToolbelt.access(sender.player().getWorld());
|
J.a(() -> {
|
||||||
Engine engine = plat.getEngine();
|
PlatformChunkGenerator plat = IrisToolbelt.access(sender.player().getWorld());
|
||||||
try
|
Engine engine = plat.getEngine();
|
||||||
{
|
try
|
||||||
int vd = Integer.parseInt(args[0]);
|
|
||||||
int rg = 0;
|
|
||||||
Chunk cx = sender.player().getLocation().getChunk();
|
|
||||||
KList<Runnable> js = new KList<>();
|
|
||||||
BurstExecutor b = MultiBurst.burst.burst();
|
|
||||||
b.setMulticore(false);
|
|
||||||
int rad = engine.getMantle().getRealRadius();
|
|
||||||
for(int i = -(vd+rad); i <= vd+rad; i++) {
|
|
||||||
for (int j = -(vd+rad); j <= vd+rad; j++) {
|
|
||||||
engine.getMantle().getMantle().deleteChunk(i + cx.getX(), j + cx.getZ());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for(int i = -vd; i <= vd; i++)
|
|
||||||
{
|
{
|
||||||
for(int j = -vd; j <= vd; j++)
|
int vd = Integer.parseInt(args[0]);
|
||||||
{
|
int rg = 0;
|
||||||
int finalJ = j;
|
Chunk cx = sender.player().getLocation().getChunk();
|
||||||
int finalI = i;
|
KList<Runnable> js = new KList<>();
|
||||||
b.queue(() -> plat.injectChunkReplacement(sender.player().getWorld(), finalI + cx.getX(), finalJ + cx.getZ(), (f) -> {
|
BurstExecutor b = MultiBurst.burst.burst();
|
||||||
synchronized (js)
|
b.setMulticore(false);
|
||||||
{
|
int rad = engine.getMantle().getRealRadius();
|
||||||
js.add(f);
|
for(int i = -(vd+rad); i <= vd+rad; i++) {
|
||||||
}
|
for (int j = -(vd+rad); j <= vd+rad; j++) {
|
||||||
}));
|
engine.getMantle().getMantle().deleteChunk(i + cx.getX(), j + cx.getZ());
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
b.complete();
|
|
||||||
sender.sendMessage("Regenerating " + Form.f(js.size()) + " Sections");
|
|
||||||
QueueJob<Runnable> r = new QueueJob<>() {
|
|
||||||
final KList<Future<?>> futures = new KList<>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void execute(Runnable runnable) {
|
|
||||||
futures.add(J.sfut(runnable));
|
|
||||||
|
|
||||||
if(futures.size() > 64)
|
|
||||||
{
|
|
||||||
while(futures.isNotEmpty())
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
futures.remove(0).get();
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (ExecutionException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
for(int i = -vd; i <= vd; i++)
|
||||||
public String getName() {
|
{
|
||||||
return "Regenerating";
|
for(int j = -vd; j <= vd; j++)
|
||||||
|
{
|
||||||
|
int finalJ = j;
|
||||||
|
int finalI = i;
|
||||||
|
b.queue(() -> plat.injectChunkReplacement(sender.player().getWorld(), finalI + cx.getX(), finalJ + cx.getZ(), (f) -> {
|
||||||
|
synchronized (js)
|
||||||
|
{
|
||||||
|
js.add(f);
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
|
||||||
r.queue(js);
|
|
||||||
r.execute(sender);
|
|
||||||
}
|
|
||||||
|
|
||||||
catch(Throwable e)
|
b.complete();
|
||||||
{
|
sender.sendMessage("Regenerating " + Form.f(js.size()) + " Sections");
|
||||||
sender.sendMessage("Unable to parse view-distance");
|
QueueJob<Runnable> r = new QueueJob<>() {
|
||||||
}
|
final KList<Future<?>> futures = new KList<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void execute(Runnable runnable) {
|
||||||
|
futures.add(J.sfut(runnable));
|
||||||
|
|
||||||
|
if(futures.size() > 64)
|
||||||
|
{
|
||||||
|
while(futures.isNotEmpty())
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
futures.remove(0).get();
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (ExecutionException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return "Regenerating";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
r.queue(js);
|
||||||
|
r.execute(sender);
|
||||||
|
}
|
||||||
|
|
||||||
|
catch(Throwable e)
|
||||||
|
{
|
||||||
|
sender.sendMessage("Unable to parse view-distance");
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user