mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-10-25 13:30:10 +00:00
implement terrascript profiling
This commit is contained in:
1 parent
8a10867e5f
commit
e5f4c5dc8d
1 file changed
+23
-12
@@ -29,6 +29,7 @@ import com.dfsek.terra.api.structures.structure.Rotation;
|
|||||||
import com.dfsek.terra.api.structures.structure.buffer.Buffer;
|
import com.dfsek.terra.api.structures.structure.buffer.Buffer;
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.DirectBuffer;
|
import com.dfsek.terra.api.structures.structure.buffer.DirectBuffer;
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer;
|
import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer;
|
||||||
|
import com.dfsek.terra.profiler.ProfileFrame;
|
||||||
import com.dfsek.terra.registry.config.FunctionRegistry;
|
import com.dfsek.terra.registry.config.FunctionRegistry;
|
||||||
import com.dfsek.terra.registry.config.LootRegistry;
|
import com.dfsek.terra.registry.config.LootRegistry;
|
||||||
import com.dfsek.terra.registry.config.ScriptRegistry;
|
import com.dfsek.terra.registry.config.ScriptRegistry;
|
||||||
@@ -105,21 +106,27 @@ public class StructureScript {
|
|||||||
* @return Whether generation was successful
|
* @return Whether generation was successful
|
||||||
*/
|
*/
|
||||||
public boolean execute(Location location, Random random, Rotation rotation) {
|
public boolean execute(Location location, Random random, Rotation rotation) {
|
||||||
StructureBuffer buffer = new StructureBuffer(location);
|
try(ProfileFrame ignore = main.getProfiler().profile("terrascript:" + id)) {
|
||||||
boolean level = applyBlock(new TerraImplementationArguments(buffer, rotation, random, 0));
|
StructureBuffer buffer = new StructureBuffer(location);
|
||||||
buffer.paste();
|
boolean level = applyBlock(new TerraImplementationArguments(buffer, rotation, random, 0));
|
||||||
return level;
|
buffer.paste();
|
||||||
|
return level;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean execute(Location location, Chunk chunk, Random random, Rotation rotation) {
|
public boolean execute(Location location, Chunk chunk, Random random, Rotation rotation) {
|
||||||
StructureBuffer buffer = computeBuffer(location, random, rotation);
|
try(ProfileFrame ignore = main.getProfiler().profile("terrascript_chunk:" + id)) {
|
||||||
buffer.paste(chunk);
|
StructureBuffer buffer = computeBuffer(location, random, rotation);
|
||||||
return buffer.succeeded();
|
buffer.paste(chunk);
|
||||||
|
return buffer.succeeded();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean test(Location location, Random random, Rotation rotation) {
|
public boolean test(Location location, Random random, Rotation rotation) {
|
||||||
StructureBuffer buffer = computeBuffer(location, random, rotation);
|
try(ProfileFrame ignore = main.getProfiler().profile("terrascript_test:" + id)) {
|
||||||
return buffer.succeeded();
|
StructureBuffer buffer = computeBuffer(location, random, rotation);
|
||||||
|
return buffer.succeeded();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private StructureBuffer computeBuffer(Location location, Random random, Rotation rotation) {
|
private StructureBuffer computeBuffer(Location location, Random random, Rotation rotation) {
|
||||||
@@ -135,12 +142,16 @@ public class StructureScript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean executeInBuffer(Buffer buffer, Random random, Rotation rotation, int recursions) {
|
public boolean executeInBuffer(Buffer buffer, Random random, Rotation rotation, int recursions) {
|
||||||
return applyBlock(new TerraImplementationArguments(buffer, rotation, random, recursions));
|
try(ProfileFrame ignore = main.getProfiler().profile("terrascript_recursive:" + id)) {
|
||||||
|
return applyBlock(new TerraImplementationArguments(buffer, rotation, random, recursions));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean executeDirect(Location location, Random random, Rotation rotation) {
|
public boolean executeDirect(Location location, Random random, Rotation rotation) {
|
||||||
DirectBuffer buffer = new DirectBuffer(location);
|
try(ProfileFrame ignore = main.getProfiler().profile("terrascript_direct:" + id)) {
|
||||||
return applyBlock(new TerraImplementationArguments(buffer, rotation, random, 0));
|
DirectBuffer buffer = new DirectBuffer(location);
|
||||||
|
return applyBlock(new TerraImplementationArguments(buffer, rotation, random, 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
|
|||||||
Reference in new issue
Block a user