chore: format Minecraft.Client

This commit is contained in:
Tropical
2026-03-13 17:10:10 -05:00
parent 33d0737d1d
commit e8424f2000
531 changed files with 67709 additions and 62690 deletions

View File

@@ -76,117 +76,127 @@ double EntityRenderDispatcher::xOff = 0.0;
double EntityRenderDispatcher::yOff = 0.0;
double EntityRenderDispatcher::zOff = 0.0;
EntityRenderDispatcher *EntityRenderDispatcher::instance = NULL;
EntityRenderDispatcher* EntityRenderDispatcher::instance = NULL;
void EntityRenderDispatcher::staticCtor()
{
instance = new EntityRenderDispatcher();
void EntityRenderDispatcher::staticCtor() {
instance = new EntityRenderDispatcher();
}
EntityRenderDispatcher::EntityRenderDispatcher()
{
glEnable(GL_LIGHTING);
renderers[eTYPE_SPIDER] = new SpiderRenderer();
renderers[eTYPE_CAVESPIDER] = new SpiderRenderer();
renderers[eTYPE_PIG] = new PigRenderer(new PigModel(), new PigModel(0.5f), 0.7f);
renderers[eTYPE_SHEEP] = new SheepRenderer(new SheepModel(), new SheepFurModel(), 0.7f);
renderers[eTYPE_COW] = new CowRenderer(new CowModel(), 0.7f);
renderers[eTYPE_MUSHROOMCOW] = new MushroomCowRenderer(new CowModel(), 0.7f);
renderers[eTYPE_WOLF] = new WolfRenderer(new WolfModel(), new WolfModel(), 0.5f);
renderers[eTYPE_CHICKEN] = new ChickenRenderer(new ChickenModel(), 0.3f);
renderers[eTYPE_OZELOT] = new OzelotRenderer(new OzelotModel(), 0.4f);
renderers[eTYPE_SILVERFISH] = new SilverfishRenderer();
renderers[eTYPE_CREEPER] = new CreeperRenderer();
renderers[eTYPE_ENDERMAN] = new EndermanRenderer();
renderers[eTYPE_SNOWMAN] = new SnowManRenderer();
renderers[eTYPE_SKELETON] = new HumanoidMobRenderer(new SkeletonModel(), 0.5f);
renderers[eTYPE_BLAZE] = new BlazeRenderer();
renderers[eTYPE_ZOMBIE] = new ZombieRenderer();
renderers[eTYPE_PIGZOMBIE] = new HumanoidMobRenderer(new ZombieModel(), 0.5f);
renderers[eTYPE_SLIME] = new SlimeRenderer(new SlimeModel(16), new SlimeModel(0), 0.25f);
renderers[eTYPE_LAVASLIME] = new LavaSlimeRenderer();
renderers[eTYPE_PLAYER] = new PlayerRenderer();
renderers[eTYPE_GIANT] = new GiantMobRenderer(new ZombieModel(), 0.5f, 6);
renderers[eTYPE_GHAST] = new GhastRenderer();
renderers[eTYPE_SQUID] = new SquidRenderer(new SquidModel(), 0.7f);
renderers[eTYPE_VILLAGER] = new VillagerRenderer();
renderers[eTYPE_VILLAGERGOLEM] = new VillagerGolemRenderer();
renderers[eTYPE_MOB] = new MobRenderer(new HumanoidModel(), 0.5f);
renderers[eTYPE_ENDERDRAGON] = new EnderDragonRenderer();
renderers[eTYPE_ENDER_CRYSTAL] = new EnderCrystalRenderer();
renderers[eTYPE_ENTITY] = new DefaultRenderer();
renderers[eTYPE_PAINTING] = new PaintingRenderer();
renderers[eTYPE_ITEM_FRAME] = new ItemFrameRenderer();
renderers[eTYPE_ARROW] = new ArrowRenderer();
renderers[eTYPE_SNOWBALL] = new ItemSpriteRenderer(Item::snowBall);
renderers[eTYPE_THROWNENDERPEARL] = new ItemSpriteRenderer(Item::enderPearl);
renderers[eTYPE_EYEOFENDERSIGNAL] = new ItemSpriteRenderer(Item::eyeOfEnder);
renderers[eTYPE_THROWNEGG] = new ItemSpriteRenderer(Item::egg);
renderers[eTYPE_THROWNPOTION] = new ItemSpriteRenderer(Item::potion, PotionBrewing::THROWABLE_MASK);
renderers[eTYPE_THROWNEXPBOTTLE] = new ItemSpriteRenderer(Item::expBottle);
renderers[eTYPE_FIREBALL] = new FireballRenderer(2.0f);
renderers[eTYPE_SMALL_FIREBALL] = new FireballRenderer(0.5f);
renderers[eTYPE_DRAGON_FIREBALL] = new FireballRenderer(2.0f); // 4J Added TU9
renderers[eTYPE_ITEMENTITY] = new ItemRenderer();
renderers[eTYPE_EXPERIENCEORB] = new ExperienceOrbRenderer();
renderers[eTYPE_PRIMEDTNT] = new TntRenderer();
renderers[eTYPE_FALLINGTILE] = new FallingTileRenderer();
renderers[eTYPE_MINECART] = new MinecartRenderer();
renderers[eTYPE_BOAT] = new BoatRenderer();
renderers[eTYPE_FISHINGHOOK] = new FishingHookRenderer();
renderers[eTYPE_LIGHTNINGBOLT] = new LightningBoltRenderer();
renderers[eTYPE_ARROW] = new ArrowRenderer();
glDisable(GL_LIGHTING);
EntityRenderDispatcher::EntityRenderDispatcher() {
glEnable(GL_LIGHTING);
renderers[eTYPE_SPIDER] = new SpiderRenderer();
renderers[eTYPE_CAVESPIDER] = new SpiderRenderer();
renderers[eTYPE_PIG] =
new PigRenderer(new PigModel(), new PigModel(0.5f), 0.7f);
renderers[eTYPE_SHEEP] =
new SheepRenderer(new SheepModel(), new SheepFurModel(), 0.7f);
renderers[eTYPE_COW] = new CowRenderer(new CowModel(), 0.7f);
renderers[eTYPE_MUSHROOMCOW] =
new MushroomCowRenderer(new CowModel(), 0.7f);
renderers[eTYPE_WOLF] =
new WolfRenderer(new WolfModel(), new WolfModel(), 0.5f);
renderers[eTYPE_CHICKEN] = new ChickenRenderer(new ChickenModel(), 0.3f);
renderers[eTYPE_OZELOT] = new OzelotRenderer(new OzelotModel(), 0.4f);
renderers[eTYPE_SILVERFISH] = new SilverfishRenderer();
renderers[eTYPE_CREEPER] = new CreeperRenderer();
renderers[eTYPE_ENDERMAN] = new EndermanRenderer();
renderers[eTYPE_SNOWMAN] = new SnowManRenderer();
renderers[eTYPE_SKELETON] =
new HumanoidMobRenderer(new SkeletonModel(), 0.5f);
renderers[eTYPE_BLAZE] = new BlazeRenderer();
renderers[eTYPE_ZOMBIE] = new ZombieRenderer();
renderers[eTYPE_PIGZOMBIE] =
new HumanoidMobRenderer(new ZombieModel(), 0.5f);
renderers[eTYPE_SLIME] =
new SlimeRenderer(new SlimeModel(16), new SlimeModel(0), 0.25f);
renderers[eTYPE_LAVASLIME] = new LavaSlimeRenderer();
renderers[eTYPE_PLAYER] = new PlayerRenderer();
renderers[eTYPE_GIANT] = new GiantMobRenderer(new ZombieModel(), 0.5f, 6);
renderers[eTYPE_GHAST] = new GhastRenderer();
renderers[eTYPE_SQUID] = new SquidRenderer(new SquidModel(), 0.7f);
renderers[eTYPE_VILLAGER] = new VillagerRenderer();
renderers[eTYPE_VILLAGERGOLEM] = new VillagerGolemRenderer();
renderers[eTYPE_MOB] = new MobRenderer(new HumanoidModel(), 0.5f);
renderers[eTYPE_ENDERDRAGON] = new EnderDragonRenderer();
renderers[eTYPE_ENDER_CRYSTAL] = new EnderCrystalRenderer();
renderers[eTYPE_ENTITY] = new DefaultRenderer();
renderers[eTYPE_PAINTING] = new PaintingRenderer();
renderers[eTYPE_ITEM_FRAME] = new ItemFrameRenderer();
renderers[eTYPE_ARROW] = new ArrowRenderer();
renderers[eTYPE_SNOWBALL] = new ItemSpriteRenderer(Item::snowBall);
renderers[eTYPE_THROWNENDERPEARL] =
new ItemSpriteRenderer(Item::enderPearl);
renderers[eTYPE_EYEOFENDERSIGNAL] =
new ItemSpriteRenderer(Item::eyeOfEnder);
renderers[eTYPE_THROWNEGG] = new ItemSpriteRenderer(Item::egg);
renderers[eTYPE_THROWNPOTION] =
new ItemSpriteRenderer(Item::potion, PotionBrewing::THROWABLE_MASK);
renderers[eTYPE_THROWNEXPBOTTLE] = new ItemSpriteRenderer(Item::expBottle);
renderers[eTYPE_FIREBALL] = new FireballRenderer(2.0f);
renderers[eTYPE_SMALL_FIREBALL] = new FireballRenderer(0.5f);
renderers[eTYPE_DRAGON_FIREBALL] =
new FireballRenderer(2.0f); // 4J Added TU9
renderers[eTYPE_ITEMENTITY] = new ItemRenderer();
renderers[eTYPE_EXPERIENCEORB] = new ExperienceOrbRenderer();
renderers[eTYPE_PRIMEDTNT] = new TntRenderer();
renderers[eTYPE_FALLINGTILE] = new FallingTileRenderer();
renderers[eTYPE_MINECART] = new MinecartRenderer();
renderers[eTYPE_BOAT] = new BoatRenderer();
renderers[eTYPE_FISHINGHOOK] = new FishingHookRenderer();
renderers[eTYPE_LIGHTNINGBOLT] = new LightningBoltRenderer();
renderers[eTYPE_ARROW] = new ArrowRenderer();
glDisable(GL_LIGHTING);
AUTO_VAR(itEnd, renderers.end());
for( classToRendererMap::iterator it = renderers.begin(); it != itEnd; it++ )
{
it->second->init(this);
}
AUTO_VAR(itEnd, renderers.end());
for (classToRendererMap::iterator it = renderers.begin(); it != itEnd;
it++) {
it->second->init(this);
}
isGuiRender = false; // 4J added
isGuiRender = false; // 4J added
}
EntityRenderer *EntityRenderDispatcher::getRenderer(eINSTANCEOF e)
{
//EntityRenderer * r = renderers[e];
AUTO_VAR(it, renderers.find( e )); // 4J Stu - The .at and [] accessors insert elements if they don't exist
EntityRenderer* EntityRenderDispatcher::getRenderer(eINSTANCEOF e) {
// EntityRenderer * r = renderers[e];
AUTO_VAR(it, renderers.find(e)); // 4J Stu - The .at and [] accessors
// insert elements if they don't exist
if( it == renderers.end() )
{
// New renderer mapping required in above table
__debugbreak();
}
/* 4J - not doing this hierarchical search anymore. We need to explicitly add renderers for any eINSTANCEOF type that we want to be able to render
if (it == renderers.end() && e != Entity::_class)
{
EntityRenderer *r = getRenderer(dynamic_cast<Entity::Class *>( e->getSuperclass() ));
renderers.insert( classToRendererMap::value_type( e, r ) );
return r;
//assert(false);
}*/
return it->second;
if (it == renderers.end()) {
// New renderer mapping required in above table
__debugbreak();
}
/* 4J - not doing this hierarchical search anymore. We need to explicitly
add renderers for any eINSTANCEOF type that we want to be able to render if (it
== renderers.end() && e != Entity::_class)
{
EntityRenderer *r = getRenderer(dynamic_cast<Entity::Class *>(
e->getSuperclass() )); renderers.insert( classToRendererMap::value_type( e, r )
); return r;
//assert(false);
}*/
return it->second;
}
EntityRenderer *EntityRenderDispatcher::getRenderer(std::shared_ptr<Entity> e)
{
return getRenderer(e->GetType());
EntityRenderer* EntityRenderDispatcher::getRenderer(std::shared_ptr<Entity> e) {
return getRenderer(e->GetType());
}
void EntityRenderDispatcher::prepare(Level *level, Textures *textures, Font *font, std::shared_ptr<Mob> player, Options *options, float a)
{
void EntityRenderDispatcher::prepare(Level* level, Textures* textures,
Font* font, std::shared_ptr<Mob> player,
Options* options, float a) {
this->level = level;
this->textures = textures;
this->options = options;
this->cameraEntity = player;
this->font = font;
if (player->isSleeping())
{
int t = level->getTile(Mth::floor(player->x), Mth::floor(player->y), Mth::floor(player->z));
if (t == Tile::bed_Id)
{
int data = level->getData(Mth::floor(player->x), Mth::floor(player->y), Mth::floor(player->z));
if (player->isSleeping()) {
int t = level->getTile(Mth::floor(player->x), Mth::floor(player->y),
Mth::floor(player->z));
if (t == Tile::bed_Id) {
int data =
level->getData(Mth::floor(player->x), Mth::floor(player->y),
Mth::floor(player->z));
int direction = data & 3;
playerRotY = (float)(direction * 90 + 180);
@@ -197,45 +207,38 @@ void EntityRenderDispatcher::prepare(Level *level, Textures *textures, Font *fon
playerRotX = player->xRotO + (player->xRot - player->xRotO) * a;
}
std::shared_ptr<Player> pl = std::dynamic_pointer_cast<Player>(player);
if (pl->ThirdPersonView() == 2)
{
playerRotY += 180;
}
std::shared_ptr<Player> pl = std::dynamic_pointer_cast<Player>(player);
if (pl->ThirdPersonView() == 2) {
playerRotY += 180;
}
xPlayer = player->xOld + (player->x - player->xOld) * a;
yPlayer = player->yOld + (player->y - player->yOld) * a;
zPlayer = player->zOld + (player->z - player->zOld) * a;
}
void EntityRenderDispatcher::render(std::shared_ptr<Entity> entity, float a)
{
void EntityRenderDispatcher::render(std::shared_ptr<Entity> entity, float a) {
double x = entity->xOld + (entity->x - entity->xOld) * a;
double y = entity->yOld + (entity->y - entity->yOld) * a;
double z = entity->zOld + (entity->z - entity->zOld) * a;
// Fix for #61057 - TU7: Gameplay: Boat is glitching when player float forward and turning.
// Fix to handle the case that yRot and yRotO wrap over the 0/360 line
float rotDiff = entity->yRot - entity->yRotO;
if( rotDiff > 180 || rotDiff < -180)
{
if(entity->yRot > entity->yRotO)
{
rotDiff = (entity->yRot - 360) - entity->yRotO;
}
else
{
rotDiff = entity->yRot - (entity->yRotO - 360);
}
}
float r = entity->yRotO + (rotDiff) * a;
// Fix for #61057 - TU7: Gameplay: Boat is glitching when player float
// forward and turning. Fix to handle the case that yRot and yRotO wrap over
// the 0/360 line
float rotDiff = entity->yRot - entity->yRotO;
if (rotDiff > 180 || rotDiff < -180) {
if (entity->yRot > entity->yRotO) {
rotDiff = (entity->yRot - 360) - entity->yRotO;
} else {
rotDiff = entity->yRot - (entity->yRotO - 360);
}
}
float r = entity->yRotO + (rotDiff)*a;
int col = entity->getLightColor(a);
if (entity->isOnFire())
{
col = SharedConstants::FULLBRIGHT_LIGHTVALUE;
}
if (entity->isOnFire()) {
col = SharedConstants::FULLBRIGHT_LIGHTVALUE;
}
int u = col % 65536;
int v = col / 65536;
glMultiTexCoord2f(GL_TEXTURE1, u / 1.0f, v / 1.0f);
@@ -244,37 +247,32 @@ void EntityRenderDispatcher::render(std::shared_ptr<Entity> entity, float a)
render(entity, x - xOff, y - yOff, z - zOff, r, a);
}
void EntityRenderDispatcher::render(std::shared_ptr<Entity> entity, double x, double y, double z, float rot, float a, bool bItemFrame, bool bRenderPlayerShadow)
{
EntityRenderer *renderer = getRenderer(entity);
if (renderer != NULL)
{
renderer->SetItemFrame(bItemFrame);
renderer->render(entity, x, y, z, rot, a);
void EntityRenderDispatcher::render(std::shared_ptr<Entity> entity, double x,
double y, double z, float rot, float a,
bool bItemFrame, bool bRenderPlayerShadow) {
EntityRenderer* renderer = getRenderer(entity);
if (renderer != NULL) {
renderer->SetItemFrame(bItemFrame);
renderer->render(entity, x, y, z, rot, a);
renderer->postRender(entity, x, y, z, rot, a, bRenderPlayerShadow);
}
}
double EntityRenderDispatcher::distanceToSqr(double x, double y, double z)
{
double EntityRenderDispatcher::distanceToSqr(double x, double y, double z) {
double xd = x - xPlayer;
double yd = y - yPlayer;
double zd = z - zPlayer;
return xd * xd + yd * yd + zd * zd;
}
Font *EntityRenderDispatcher::getFont()
{
return font;
}
Font* EntityRenderDispatcher::getFont() { return font; }
void EntityRenderDispatcher::registerTerrainTextures(IconRegister *iconRegister)
{
//for (EntityRenderer<? extends Entity> renderer : renderers.values())
for(AUTO_VAR(it, renderers.begin()); it != renderers.end(); ++it)
{
EntityRenderer *renderer = it->second;
renderer->registerTerrainTextures(iconRegister);
}
void EntityRenderDispatcher::registerTerrainTextures(
IconRegister* iconRegister) {
// for (EntityRenderer<? extends Entity> renderer : renderers.values())
for (AUTO_VAR(it, renderers.begin()); it != renderers.end(); ++it) {
EntityRenderer* renderer = it->second;
renderer->registerTerrainTextures(iconRegister);
}
}