Skip to content

Instantly share code, notes, and snippets.

@AzureDoom
Created November 13, 2020 16:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AzureDoom/398ace5e6228dd4eadf05baf6619fad5 to your computer and use it in GitHub Desktop.
Save AzureDoom/398ace5e6228dd4eadf05baf6619fad5 to your computer and use it in GitHub Desktop.
public class DoomProjectilesRender<T extends AbstractArrowEntity & IAnimatable> extends EntityRenderer
implements IGeoRenderer {
private final AnimatedGeoModel<T> modelProvider;
protected DoomProjectilesRender(EntityRendererManager renderManager, AnimatedGeoModel<T> modelProvider) {
super(renderManager);
this.modelProvider = modelProvider;
}
private static Map<Class<? extends AbstractArrowEntity>, DoomProjectilesRender> renderers = new ConcurrentHashMap<>();
static {
AnimationController.addModelFetcher((IAnimatable object) -> {
if (object instanceof AbstractArrowEntity) {
DoomProjectilesRender<?> renderer = renderers.get(object.getClass());
return renderer == null ? null : renderer.getGeoModelProvider();
}
return null;
});
}
@Override
public AnimatedGeoModel<T> getGeoModelProvider() {
return this.modelProvider;
}
@Override
public ResourceLocation getTextureLocation(Object instance) {
return this.getTextureLocation(instance);
}
@Override
public ResourceLocation getEntityTexture(Entity entity) {
return this.getEntityTexture(entity);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment