public void init() {
deleteGlTexture();
int maximumTextureSize = Minecraft.getGLMaximumTextureSize();
stitcher = new DynamicStitcher(maximumTextureSize, maximumTextureSize, 0, mipmapLevels);
listAnimatedSprites.clear();
initMissingImage();
missingImage.generateMipmaps(mipmapLevels);
spritesNeedingUpload.add(missingImage);
stitcher.addSprite(missingImage);
TextureUtil.allocateTextureImpl(getGlTextureId(), mipmapLevels, stitcher.getImageWidth(), stitcher.getImageHeight());
LOGGER.info("Created {}x{} '{}' atlas", stitcher.getImageWidth(), stitcher.getImageHeight(), basePath);
EventUtil.postEventAllowingErrors(new TextureStitchEvent.Pre(this));
ModelLoader.White.INSTANCE.register(this);
mapRegisteredSprites.put("builtin/white", ModelLoader.White.INSTANCE);
ModelDynBucket.LoaderDynBucket.INSTANCE.register(this);
EventUtil.postEventAllowingErrors(new TextureStitchEvent.Post(this));
}