Fix Custom Machinery models
This commit is contained in:
parent
4d3aaceb9c
commit
0c82223248
|
|
@ -1,5 +1,6 @@
|
||||||
package org.embeddedt.modernfix.dynamicresources;
|
package org.embeddedt.modernfix.dynamicresources;
|
||||||
|
|
||||||
|
import com.google.common.collect.ImmutableSet;
|
||||||
import com.mojang.math.Transformation;
|
import com.mojang.math.Transformation;
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
|
||||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||||
|
|
@ -25,6 +26,15 @@ import java.util.function.BiFunction;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class DynamicBakedModelProvider implements Map<ResourceLocation, BakedModel> {
|
public class DynamicBakedModelProvider implements Map<ResourceLocation, BakedModel> {
|
||||||
|
/**
|
||||||
|
* The list of blacklisted resource locations that are never baked as top-level models.
|
||||||
|
*
|
||||||
|
* This is a hack to get around the fact that we don't really know exactly what models were supposed to end up
|
||||||
|
* in the baked registry ahead of time.
|
||||||
|
*/
|
||||||
|
private static final ImmutableSet<ResourceLocation> BAKE_SKIPPED_TOPLEVEL = ImmutableSet.<ResourceLocation>builder()
|
||||||
|
.add(new ResourceLocation("custommachinery", "block/custom_machine_block"))
|
||||||
|
.build();
|
||||||
public static DynamicBakedModelProvider currentInstance = null;
|
public static DynamicBakedModelProvider currentInstance = null;
|
||||||
private final ModelBakery bakery;
|
private final ModelBakery bakery;
|
||||||
private final Map<Triple<ResourceLocation, Transformation, Boolean>, BakedModel> bakedCache;
|
private final Map<Triple<ResourceLocation, Transformation, Boolean>, BakedModel> bakedCache;
|
||||||
|
|
@ -135,7 +145,10 @@ public class DynamicBakedModelProvider implements Map<ResourceLocation, BakedMod
|
||||||
return model;
|
return model;
|
||||||
else {
|
else {
|
||||||
try {
|
try {
|
||||||
model = bakery.bake((ResourceLocation)o, BlockModelRotation.X0_Y0);
|
if(BAKE_SKIPPED_TOPLEVEL.contains((ResourceLocation)o))
|
||||||
|
model = missingModel;
|
||||||
|
else
|
||||||
|
model = bakery.bake((ResourceLocation)o, BlockModelRotation.X0_Y0);
|
||||||
} catch(RuntimeException e) {
|
} catch(RuntimeException e) {
|
||||||
ModernFix.LOGGER.error("Exception baking {}: {}", o, e);
|
ModernFix.LOGGER.error("Exception baking {}: {}", o, e);
|
||||||
model = missingModel;
|
model = missingModel;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user