diff --git a/src/main/java/com/mattmalec/pterodactyl4j/application/entities/ApplicationEgg.java b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/ApplicationEgg.java index 4c21b3d..8d1fd72 100644 --- a/src/main/java/com/mattmalec/pterodactyl4j/application/entities/ApplicationEgg.java +++ b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/ApplicationEgg.java @@ -74,6 +74,8 @@ public interface ApplicationEgg extends Egg, ISnowflake { */ String getDockerImage(); + List getDockerImages(); + /** * The stop command for the ApplicationEgg *
This is ran when a user executes {@link ClientServer#stop()} or hits the Stop button on the panel diff --git a/src/main/java/com/mattmalec/pterodactyl4j/application/entities/DockerImage.java b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/DockerImage.java new file mode 100644 index 0000000..50a88a0 --- /dev/null +++ b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/DockerImage.java @@ -0,0 +1,7 @@ +package com.mattmalec.pterodactyl4j.application.entities; + +public interface DockerImage { + String getName(); + + String getImage(); +} diff --git a/src/main/java/com/mattmalec/pterodactyl4j/application/entities/impl/ApplicationEggImpl.java b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/impl/ApplicationEggImpl.java index a55d865..e23b7c6 100644 --- a/src/main/java/com/mattmalec/pterodactyl4j/application/entities/impl/ApplicationEggImpl.java +++ b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/impl/ApplicationEggImpl.java @@ -19,6 +19,7 @@ import com.mattmalec.pterodactyl4j.EnvironmentValue; import com.mattmalec.pterodactyl4j.PteroAction; import com.mattmalec.pterodactyl4j.application.entities.ApplicationEgg; +import com.mattmalec.pterodactyl4j.application.entities.DockerImage; import com.mattmalec.pterodactyl4j.application.entities.Nest; import com.mattmalec.pterodactyl4j.application.entities.Script; import com.mattmalec.pterodactyl4j.requests.CompletedPteroAction; @@ -82,6 +83,16 @@ public String getDockerImage() { return json.getString("docker_image"); } + @Override + public List getDockerImages() { + JSONObject images = json.getJSONObject("docker_images"); + List dockerImages = new ArrayList<>(); + for (String key : images.keySet()) { + dockerImages.add(new DockerImageImpl(key, images.getString(key))); + } + return dockerImages; + } + @Override public String getStopCommand() { return json.getString("stop"); diff --git a/src/main/java/com/mattmalec/pterodactyl4j/application/entities/impl/DockerImageImpl.java b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/impl/DockerImageImpl.java new file mode 100644 index 0000000..680344b --- /dev/null +++ b/src/main/java/com/mattmalec/pterodactyl4j/application/entities/impl/DockerImageImpl.java @@ -0,0 +1,22 @@ +package com.mattmalec.pterodactyl4j.application.entities.impl; + +import com.mattmalec.pterodactyl4j.application.entities.DockerImage; + +public class DockerImageImpl implements DockerImage { + private final String name; + private final String image; + + public DockerImageImpl(String name, String image) { + this.name = name; + this.image = image; + } + @Override + public String getName() { + return name; + } + + @Override + public String getImage() { + return image; + } +}