diff --git a/docs/scarpet/api/Auxiliary.md b/docs/scarpet/api/Auxiliary.md index 0c8db933..99ee6b53 100644 --- a/docs/scarpet/api/Auxiliary.md +++ b/docs/scarpet/api/Auxiliary.md @@ -683,7 +683,8 @@ it could either mean your input is wrong, or statistic effectively has a value o ### `system_info()`, `system_info(property)` -Fetches the value of a system property or returns all inforation as a map when called without any arguments. It can be used to +Fetches the value of one of the following system properties. If called without arguments, it returns a list of +available system_info options. It can be used to fetch various information, mostly not changing, or only available via low level system calls. In all circumstances, these are only provided as read-only. diff --git a/src/main/java/carpet/fakes/SpawnHelperInnerInterface.java b/src/main/java/carpet/fakes/SpawnHelperInnerInterface.java index a416cf8c..6736fcb6 100644 --- a/src/main/java/carpet/fakes/SpawnHelperInnerInterface.java +++ b/src/main/java/carpet/fakes/SpawnHelperInnerInterface.java @@ -5,6 +5,4 @@ import net.minecraft.world.level.PotentialCalculator; public interface SpawnHelperInnerInterface { PotentialCalculator getPotentialCalculator(); - - int cmGetChunkCount(); } diff --git a/src/main/java/carpet/mixins/SpawnState_scarpetMixin.java b/src/main/java/carpet/mixins/SpawnState_scarpetMixin.java index 773e60c3..c670a4d4 100644 --- a/src/main/java/carpet/mixins/SpawnState_scarpetMixin.java +++ b/src/main/java/carpet/mixins/SpawnState_scarpetMixin.java @@ -10,8 +10,6 @@ import org.spongepowered.asm.mixin.Shadow; @Mixin(NaturalSpawner.SpawnState.class) public class SpawnState_scarpetMixin implements SpawnHelperInnerInterface { - @Shadow @Final private int spawnableChunkCount; - @Shadow @Final private PotentialCalculator spawnPotential; @Override @@ -19,11 +17,4 @@ public class SpawnState_scarpetMixin implements SpawnHelperInnerInterface { return spawnPotential; } - - @Override - public int cmGetChunkCount() { - return spawnableChunkCount; - } - - } diff --git a/src/main/java/carpet/script/api/Monitoring.java b/src/main/java/carpet/script/api/Monitoring.java index 0778620c..1a9e7763 100644 --- a/src/main/java/carpet/script/api/Monitoring.java +++ b/src/main/java/carpet/script/api/Monitoring.java @@ -27,7 +27,7 @@ public class Monitoring { { if (lv.size() == 0) { - return SystemInfo.getAll((CarpetContext) c); + return SystemInfo.getAll(); } if (lv.size() == 1) { String what = lv.get(0).getString(); @@ -45,7 +45,7 @@ public class Monitoring { NaturalSpawner.SpawnState info = world.getChunkSource().getLastSpawnState(); if (info == null) return Value.NULL; Object2IntMap mobcounts = info.getMobCategoryCounts(); - int chunks = ((SpawnHelperInnerInterface)info).cmGetChunkCount(); + int chunks = info.getSpawnableChunkCount(); if (lv.size() == 0) { Map retDict = new HashMap<>(); diff --git a/src/main/java/carpet/script/utils/SystemInfo.java b/src/main/java/carpet/script/utils/SystemInfo.java index d0aec077..f39f675d 100644 --- a/src/main/java/carpet/script/utils/SystemInfo.java +++ b/src/main/java/carpet/script/utils/SystemInfo.java @@ -215,9 +215,9 @@ public class SystemInfo { { return options.getOrDefault(what, c -> null).apply(cc); } - public static Value getAll(CarpetContext cc) + public static Value getAll() { - return MapValue.wrap(options.entrySet().stream().collect(Collectors.toMap(e -> new StringValue(e.getKey()), e -> e.getValue().apply(cc)))); + return ListValue.wrap(options.keySet().stream().map(StringValue::of).collect(Collectors.toList())); } }