start working on error handling stuff

This commit is contained in:
dfsek
2025-12-29 22:18:44 -07:00
parent 9a16336f53
commit cb08401536
76 changed files with 212 additions and 165 deletions

View File

@@ -274,7 +274,7 @@ public abstract class AbstractPlatform implements Platform {
.append("- ")
.append(addon.getID())
.append("@")
.append(addon.getVersion().getFormatted());
.append(addon.version().getFormatted());
}
logger.info(builder.toString());

View File

@@ -41,13 +41,13 @@ public class DependencySorter {
}
private void sortDependencies(BaseAddon addon, List<BaseAddon> sort) {
addon.getDependencies().forEach((id, range) -> {
addon.dependencies().forEach((id, range) -> {
BaseAddon dependency = get(id, addon);
if(!range.isSatisfiedBy(dependency.getVersion())) {
if(!range.isSatisfiedBy(dependency.version())) {
throw new DependencyVersionException(
"Addon " + addon.getID() + " specifies dependency on " + id + ", versions " + range.getFormatted() +
", but non-matching version " + dependency.getVersion().getFormatted() + " is installed.");
", but non-matching version " + dependency.version().getFormatted() + " is installed.");
}
if(!visited.get(dependency.getID())) { // if we've not visited it yet
@@ -63,14 +63,14 @@ public class DependencySorter {
private BaseAddon get(String id, BaseAddon addon) {
if(!addons.containsKey(id)) {
throw new DependencyException("Addon " + addon.getID() + " specifies dependency on " + id + ", versions " +
addon.getDependencies().get(id).getFormatted() +
addon.dependencies().get(id).getFormatted() +
", but no such addon is installed.");
}
return addons.get(id);
}
private void checkDependencies(BaseAddon base, BaseAddon current) {
current.getDependencies().forEach((id, range) -> {
current.dependencies().forEach((id, range) -> {
BaseAddon dependency = get(id, current);
if(dependency.getID().equals(base.getID())) {
throw new CircularDependencyException(

View File

@@ -15,7 +15,7 @@ public class EphemeralAddon implements BaseAddon {
}
@Override
public Version getVersion() {
public Version version() {
return version;
}

View File

@@ -36,7 +36,7 @@ public class InternalAddon implements BaseAddon {
}
@Override
public Version getVersion() {
public Version version() {
return VERSION;
}
}

View File

@@ -61,7 +61,7 @@ public class GenericLoaders implements LoaderRegistrar {
if(platform != null) {
registry.registerLoader(BaseAddon.class, platform.getAddons())
.registerLoader(BlockType.class, (type, object, configLoader, depthTracker) -> platform
.getWorldHandle().createBlockState((String) object).getBlockType())
.getWorldHandle().createBlockState((String) object).blockType())
.registerLoader(BlockState.class, (type, object, configLoader, depthTracker) -> platform
.getWorldHandle().createBlockState((String) object));
}

View File

@@ -59,7 +59,7 @@ public class FunctionalEventHandlerImpl implements FunctionalEventHandler {
throw e; // Rethrow if it's fail-through.
// else warn
logger.warn("Exception occurred during event handling. Report this to the maintainers of {}@{}",
context.getAddon().getID(), context.getAddon().getVersion().getFormatted(), e);
context.getAddon().getID(), context.getAddon().version().getFormatted(), e);
}
});
}