Skip to content

Commit

Permalink
Update CompositeModelBuilder to new format expected by the loader
Browse files Browse the repository at this point in the history
  • Loading branch information
XFactHD committed Dec 4, 2024
1 parent 6f9aa3c commit 28a32a4
Showing 1 changed file with 7 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,24 +16,25 @@
import net.minecraft.resources.ResourceLocation;
import net.neoforged.neoforge.client.model.generators.CustomLoaderBuilder;
import net.neoforged.neoforge.client.model.generators.ModelBuilder;
import net.neoforged.neoforge.client.model.generators.ModelFile;
import net.neoforged.neoforge.common.data.ExistingFileHelper;

public class CompositeModelBuilder<T extends ModelBuilder<T>> extends CustomLoaderBuilder<T> {
public static <T extends ModelBuilder<T>> CompositeModelBuilder<T> begin(T parent, ExistingFileHelper existingFileHelper) {
return new CompositeModelBuilder<>(parent, existingFileHelper);
}

private final Map<String, T> childModels = new LinkedHashMap<>();
private final Map<String, ResourceLocation> childModels = new LinkedHashMap<>();
private final List<String> itemRenderOrder = new ArrayList<>();

protected CompositeModelBuilder(T parent, ExistingFileHelper existingFileHelper) {
super(ResourceLocation.fromNamespaceAndPath("neoforge", "composite"), parent, existingFileHelper, false);
}

public CompositeModelBuilder<T> child(String name, T modelBuilder) {
public CompositeModelBuilder<T> child(String name, ModelFile model) {
Preconditions.checkNotNull(name, "name must not be null");
Preconditions.checkNotNull(modelBuilder, "modelBuilder must not be null");
childModels.put(name, modelBuilder);
Preconditions.checkNotNull(model, "model must not be null");
childModels.put(name, model.getLocation());
itemRenderOrder.add(name);
return this;
}
Expand All @@ -54,8 +55,8 @@ public JsonObject toJson(JsonObject json) {
json = super.toJson(json);

JsonObject children = new JsonObject();
for (Map.Entry<String, T> entry : childModels.entrySet()) {
children.add(entry.getKey(), entry.getValue().toJson());
for (Map.Entry<String, ResourceLocation> entry : childModels.entrySet()) {
children.addProperty(entry.getKey(), entry.getValue().toString());
}
json.add("children", children);

Expand Down

0 comments on commit 28a32a4

Please sign in to comment.