This is what a non working file looks like

{
  "credit": "Made with Blockbench",
  "display": {
    "firstperson_lefthand": {
      "scale": [
        0.5,
        0.5,
        0.5
      ],
      "translation": [
        -3.75,
        2.25,
        4.75
      ]
    },
    "firstperson_righthand": {
      "scale": [
        0.5,
        0.5,
        0.5
      ],
      "translation": [
        -3.75,
        2.25,
        4.75
      ]
    },
    "fixed": {
      "translation": [
        0,
        0,
        1.5
      ]
    },
    "ground": {
      "scale": [
        0.75,
        0.75,
        0.75
      ],
      "translation": [
        0,
        4.25,
        0
      ]
    },
    "gui": {
      "rotation": [
        0,
        30.75,
        0
      ],
      "scale": [
        0.75,
        0.75,
        0.75
      ]
    },
    "head": {
      "translation": [
        0,
        14.25,
        0
      ]
    },
    "thirdperson_lefthand": {
      "scale": [
        0.25,
        0.3,
        0.25
      ],
      "translation": [
        0,
        2.25,
        0
      ]
    },
    "thirdperson_righthand": {
      "scale": [
        0.25,
        0.3,
        0.25
      ],
      "translation": [
        0,
        2.25,
        1
      ]
    }
  },
  "elements": [
    {
      "faces": {
        "down": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "east": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "north": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "south": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "up": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "west": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        }
      },
      "from": [
        2,
        0,
        2
      ],
      "name": "Base",
      "to": [
        14,
        14,
        14
      ]
    },
    {
      "faces": {
        "down": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "east": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        },
        "north": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        },
        "south": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        },
        "up": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "west": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        }
      },
      "from": [
        1,
        14,
        1
      ],
      "name": "Top",
      "to": [
        15,
        16,
        15
      ]
    }
  ],
  "groups": [
    {
      "children": [
        0,
        1
      ],
      "color": 0,
      "name": "Stone Pedestal",
      "origin": [
        0,
        0,
        0
      ]
    }
  ],
  "textures": {
    "0": "minecraft:block/cobblemon:black_tumblestone_bricks",
    "particle": "minecraft:block/cobblemon:black_tumblestone_bricks"
  }
}

This one is working

{
  "credit": "Made with Blockbench",
  "display": {
    "firstperson_lefthand": {
      "scale": [
        0.5,
        0.5,
        0.5
      ],
      "translation": [
        -3.75,
        2.25,
        4.75
      ]
    },
    "firstperson_righthand": {
      "scale": [
        0.5,
        0.5,
        0.5
      ],
      "translation": [
        -3.75,
        2.25,
        4.75
      ]
    },
    "fixed": {
      "translation": [
        0,
        0,
        1.5
      ]
    },
    "ground": {
      "scale": [
        0.75,
        0.75,
        0.75
      ],
      "translation": [
        0,
        4.25,
        0
      ]
    },
    "gui": {
      "rotation": [
        0,
        30.75,
        0
      ],
      "scale": [
        0.75,
        0.75,
        0.75
      ]
    },
    "head": {
      "translation": [
        0,
        14.25,
        0
      ]
    },
    "thirdperson_lefthand": {
      "scale": [
        0.25,
        0.3,
        0.25
      ],
      "translation": [
        0,
        2.25,
        0
      ]
    },
    "thirdperson_righthand": {
      "scale": [
        0.25,
        0.3,
        0.25
      ],
      "translation": [
        0,
        2.25,
        1
      ]
    }
  },
  "elements": [
    {
      "faces": {
        "down": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "east": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "north": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "south": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "up": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "west": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        }
      },
      "from": [
        2,
        0,
        2
      ],
      "name": "Base",
      "to": [
        14,
        14,
        14
      ]
    },
    {
      "faces": {
        "down": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "east": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        },
        "north": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        },
        "south": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        },
        "up": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            16
          ]
        },
        "west": {
          "texture": "#0",
          "uv": [
            0,
            0,
            16,
            2
          ]
        }
      },
      "from": [
        1,
        14,
        1
      ],
      "name": "Top",
      "to": [
        15,
        16,
        15
      ]
    }
  ],
  "groups": [
    {
      "children": [
        0,
        1
      ],
      "color": 0,
      "name": "Stone Pedestal",
      "origin": [
        0,
        0,
        0
      ]
    }
  ],
  "textures": {
    "0": "cobblemon:block/cobblemon:black_tumblestone_block",
    "particle": "cobblemon:block/cobblemon:black_tumblestone_block"
  }
}

but I use datagen to generate so how is the output different? 

package net.mattias.pedestal.datagen.custom;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.mattias.pedestal.Pedestals;
import net.mattias.pedestal.util.PedestalVariant;
import net.mattias.pedestal.util.PedestalVariants;
import net.minecraft.data.DataOutput;
import net.minecraft.data.DataProvider;
import net.minecraft.data.DataWriter;
import net.minecraft.registry.Registries;
import net.minecraft.util.Identifier;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.concurrent.CompletableFuture;

public class PedestalModelGenerator implements DataProvider {
	private final FabricDataOutput output;
	private final Gson gson = new GsonBuilder().setPrettyPrinting().create();

	public PedestalModelGenerator(FabricDataOutput fabricDataOutput) {
		this.output = fabricDataOutput;
	}

	@Override
	public CompletableFuture<?> run(DataWriter writer) {
		return CompletableFuture.supplyAsync(() -> {
			try {
				JsonObject template = loadTemplate();

				for (PedestalVariant pedestalVariant : PedestalVariants.VARIANTS) {
					try {
						JsonObject model = template.deepCopy();

						JsonObject textures = model.getAsJsonObject("textures");

						Identifier baseBlockId = Registries.BLOCK.getId(pedestalVariant.baseBlock().get());

						textures.addProperty("0", baseBlockId.getNamespace() + ":block/" + pedestalVariant.textureName());
						textures.addProperty("particle", baseBlockId.getNamespace() + ":block/" + pedestalVariant.textureName());

						if(pedestalVariant.textureName().contains("glass")) {
							model.addProperty("render_type", "translucent");
						}

						Path modelFile = output.resolvePath(DataOutput.OutputType.RESOURCE_PACK).resolve(Pedestals.MOD_ID + "/models/block/" + pedestalVariant.registryName() + ".json");

						Files.createDirectories(modelFile.getParent());
						DataProvider.writeToPath(writer, model, modelFile).get();
					} catch (Exception e) {
						Pedestals.LOGGER.warn("Failed to generate model for: " + pedestalVariant.registryName());
						e.printStackTrace();
					}
				}
			} catch (IOException e) {
				Pedestals.LOGGER.error("Failed to do something");
				throw new RuntimeException(e);
			}
			return null;
		});
	}

	private JsonObject loadTemplate() throws IOException {
		InputStream stream = getClass().getClassLoader().getResourceAsStream("assets/pedestals/template/models/block/pedestal.json");
		if (stream == null) throw new FileNotFoundException("Pedestal template model not found");
		return gson.fromJson(new InputStreamReader(stream), JsonObject.class);
	}

	@Override
	public String getName() {
		return "Pedestal Model Generator";
	}
}
package net.mattias.pedestal.blocks.custom;

import net.mattias.pedestal.util.PedestalVariant;
import net.mattias.pedestal.util.PedestalVariants;
import net.minecraft.registry.Registries;
import net.minecraft.util.Identifier;

import java.util.List;

public class CobblemonVariants {

	public static void define() {
		VARIANTS.forEach(PedestalVariants::register);
	}

	public static final List<PedestalVariant> VARIANTS = List.of(

			new PedestalVariant("apricorn_planks_pedestal", "apricorn_planks", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "apricorn_planks"))),
			new PedestalVariant("apricorn_log_pedestal", "apricorn_log", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "apricorn_planks"))),

			new PedestalVariant("tumblestone_pedestal", "tumblestone_block", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "tumblestone_block"))),
			new PedestalVariant("polished_tumblestone_pedestal", "polished_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "polished_tumblestone"))),
			new PedestalVariant("chiseled_polished_tumblestone_pedestal", "chiseled_polished_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "chiseled_polished_tumblestone"))),
			new PedestalVariant("tumblestone_bricks_pedestal", "tumblestone_bricks", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "tumblestone_bricks"))),
			new PedestalVariant("chiseled_tumblestone_bricks_pedestal", "chiseled_tumblestone_bricks", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "chiseled_tumblestone_bricks"))),
			new PedestalVariant("smooth_tumblestone_pedestal", "smooth_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "smooth_tumblestone"))),

			new PedestalVariant("black_tumblestone_pedestal", "black_tumblestone_block", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "black_tumblestone_block"))),
			new PedestalVariant("polished_black_tumblestone_pedestal", "polished_black_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "polished_black_tumblestone"))),
			new PedestalVariant("chiseled_polished_black_tumblestone_pedestal", "chiseled_polished_black_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "chiseled_polished_black_tumblestone"))),
			new PedestalVariant("black_tumblestone_bricks_pedestal", "black_tumblestone_bricks", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "black_tumblestone_bricks"))),
			new PedestalVariant("chiseled_black_tumblestone_bricks_pedestal", "chiseled_black_tumblestone_bricks", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "chiseled_black_tumblestone_bricks"))),
			new PedestalVariant("smooth_black_tumblestone_pedestal", "smooth_black_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "smooth_black_tumblestone"))),

			new PedestalVariant("sky_tumblestone_pedestal", "sky_tumblestone_block", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "sky_tumblestone_block"))),
			new PedestalVariant("polished_sky_tumblestone_pedestal", "polished_sky_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "polished_sky_tumblestone"))),
			new PedestalVariant("chiseled_polished_sky_tumblestone_pedestal", "chiseled_polished_sky_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "chiseled_polished_sky_tumblestone"))),
			new PedestalVariant("sky_tumblestone_bricks_pedestal", "sky_tumblestone_bricks", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "sky_tumblestone_bricks"))),
			new PedestalVariant("chiseled_sky_tumblestone_bricks_pedestal", "chiseled_sky_tumblestone_bricks", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "chiseled_sky_tumblestone_bricks"))),
			new PedestalVariant("smooth_sky_tumblestone_pedestal", "smooth_sky_tumblestone", () -> Registries.BLOCK.get(Identifier.of("cobblemon", "smooth_sky_tumblestone")))
	);
}