abstract addon id

This commit is contained in:
Zoë 2022-07-03 13:44:53 -07:00
parent 7a4bf38cbc
commit 21d8be4726
6 changed files with 67 additions and 27 deletions

View File

@ -0,0 +1,16 @@
package com.dfsek.terra.fabric;
import com.dfsek.terra.mod.MinecraftAddon;
import com.dfsek.terra.mod.ModPlatform;
public class FabricAddon extends MinecraftAddon {
public FabricAddon(ModPlatform modPlatform) {
super(modPlatform);
}
@Override
public String getID() {
return "terra-fabric";
}
}

View File

@ -143,4 +143,9 @@ public class PlatformImpl extends ModPlatform {
public @NotNull ItemHandle getItemHandle() {
return itemHandle;
}
@Override
public BaseAddon getPlatformAddon() {
return new FabricAddon(this);
}
}

View File

@ -0,0 +1,16 @@
package com.dfsek.terra.forge;
import com.dfsek.terra.mod.MinecraftAddon;
import com.dfsek.terra.mod.ModPlatform;
public class ForgeAddon extends MinecraftAddon {
public ForgeAddon(ModPlatform modPlatform) {
super(modPlatform);
}
@Override
public String getID() {
return "terra-forge";
}
}

View File

@ -132,4 +132,10 @@ public class PlatformImpl extends ModPlatform {
public @NotNull ItemHandle getItemHandle() {
return itemHandle;
}
@Override
public BaseAddon getPlatformAddon() {
return new ForgeAddon(this);
}
}

View File

@ -33,7 +33,7 @@ import com.dfsek.terra.mod.config.PreLoadCompatibilityOptions;
import com.dfsek.terra.mod.config.VanillaBiomeProperties;
public final class MinecraftAddon implements BaseAddon {
public abstract class MinecraftAddon implements BaseAddon {
private static final Version VERSION = Versions.getVersion(1, 0, 0);
private static final Logger logger = LoggerFactory.getLogger(MinecraftAddon.class);
private final ModPlatform modPlatform;
@ -72,9 +72,4 @@ public final class MinecraftAddon implements BaseAddon {
public Version getVersion() {
return VERSION;
}
@Override
public String getID() {
return "terra-mod";
}
}

View File

@ -89,6 +89,8 @@ public abstract class ModPlatform extends AbstractPlatform {
@Override
protected Iterable<BaseAddon> platformAddon() {
return List.of(new MinecraftAddon(this));
return List.of(getPlatformAddon());
}
protected abstract BaseAddon getPlatformAddon();
}