9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-29 12:09:07 +00:00
This commit is contained in:
Daniel Mills
2020-11-14 15:08:11 -05:00
parent 468448ff6e
commit 6b8610b72d
12 changed files with 6 additions and 446 deletions

View File

@@ -1,173 +0,0 @@
package com.volmit.iris.manager;
import com.volmit.iris.Iris;
import com.volmit.iris.IrisSettings;
import com.volmit.iris.generator.legacy.scaffold.IrisContext;
import com.volmit.iris.util.ChronoLatch;
import com.volmit.iris.util.FolderWatcher;
import com.volmit.iris.util.J;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import java.io.File;
public class IrisHotloadManager
{
private ChronoLatch latch;
private volatile boolean busy = false;
private FolderWatcher w;
public IrisHotloadManager()
{
if(!IrisSettings.get().studio)
{
w = null;
}
else
{
w = new FolderWatcher(Iris.proj.getWorkspaceFolder());
}
latch = new ChronoLatch(3000);
}
public void check(IrisContext ch)
{
if(!IrisSettings.get().isStudio())
{
return;
}
if(!latch.flip())
{
return;
}
if(busy)
{
return;
}
busy = true;
J.attemptAsync(() ->
{
boolean modified = false;
int c = 0;
try
{
if(w.checkModified())
{
for(File i : w.getCreated())
{
if(i.isDirectory())
{
continue;
}
if(i.getPath().contains(".git"))
{
continue;
}
if(i.getPath().contains("_docs"))
{
continue;
}
if(i.getName().endsWith(".code-workspace"))
{
continue;
}
modified = true;
c++;
Iris.verbose("File Created: " + i.getPath());
}
for(File i : w.getDeleted())
{
if(i.isDirectory())
{
continue;
}
if(i.getPath().contains("_docs"))
{
continue;
}
if(i.getPath().contains(".git"))
{
continue;
}
if(i.getName().endsWith(".code-workspace"))
{
continue;
}
modified = true;
c++;
Iris.verbose("File Deleted: " + i.getPath());
}
for(File i : w.getChanged())
{
if(i.isDirectory())
{
continue;
}
if(i.getPath().contains(".git"))
{
continue;
}
if(i.getPath().contains("_docs"))
{
continue;
}
if(i.getName().endsWith(".code-workspace"))
{
continue;
}
modified = true;
c++;
Iris.verbose("File Modified: " + i.getPath());
}
}
}
catch(Throwable e)
{
}
int cc = c;
if(modified)
{
J.s(() ->
{
String m = "Hotloaded " + cc + " File" + (cc == 1 ? "" : "s");
for(Player i : Bukkit.getOnlinePlayers())
{
i.sendMessage(Iris.instance.getTag("Studio") + m);
}
Bukkit.getConsoleSender().sendMessage(Iris.instance.getTag("Studio") + m);
ch.onHotloaded();
busy = false;
});
}
else
{
busy = false;
}
});
}
}

View File

@@ -1,7 +1,6 @@
package com.volmit.iris.manager.command;
import com.volmit.iris.Iris;
import com.volmit.iris.generator.legacy.scaffold.IrisMetrics;
import com.volmit.iris.scaffold.IrisWorlds;
import com.volmit.iris.scaffold.engine.IrisAccess;
import com.volmit.iris.util.*;
@@ -37,15 +36,7 @@ public class CommandIrisMetrics extends MortarCommand
}
IrisAccess g = IrisWorlds.access(world);
IrisMetrics m = new IrisMetrics(20); // TODO: BROKEN
sender.sendMessage("Thread Count: " + C.BOLD + "" + C.WHITE + g.getThreadCount());
sender.sendMessage("Total : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTotal().getAverage(), 2));
sender.sendMessage(" Terrain : " + C.BOLD + "" + C.WHITE + Form.duration(m.getTerrain().getAverage(), 2));
sender.sendMessage(" Deposits : " + C.BOLD + "" + C.WHITE + Form.duration(m.getDeposits().getAverage(), 2));
sender.sendMessage(" Parallax: " + C.BOLD + "" + C.WHITE + Form.duration(m.getParallax().getAverage(), 2));
sender.sendMessage(" Post : " + C.BOLD + "" + C.WHITE + Form.duration(m.getPost().getAverage(), 2));
sender.sendMessage("Lighting : " + C.BOLD + "" + C.WHITE + Form.duration(m.getUpdate().getAverage(), 2));
sender.sendMessage("Spawns : " + C.BOLD + "" + C.WHITE + Form.duration(m.getSpawns().getAverage(), 2));
// TODO: METRICS
return true;
}