BlesseNtumble / GalaxySpace

Addon for GalactiCraft 4
Apache License 2.0
68 stars 42 forks source link

getSolarEnergyMultiplier() #522

Open liopard opened 3 years ago

liopard commented 3 years ago

AsmodeusCore-1.12.2-0.0.25

Если так сделать, хотя бы временно, было бы чудесно. Продуктивность солнечных панелей будет плавно падать практически до нуля по мере удаления от солнца. Сейчас у вас в этих методах - getSolarEnergyMultiplier() - билибирда какая то )) и солнечные панели бесполезны...

////////////////////////////////////////////// class asmodeuscore.core.astronomy.dimension.world.worldengine.WE_WorldProviderSpace ////////////////////////////////////////////// private double mySolarEnergyMultiplier = -1;

public double getSolarEnergyMultiplier()
{
    if (mySolarEnergyMultiplier < 0) {
        double neptun_dist = 4.0;
        //double pluton_dist = 4.5;
        //double kuiper_dist = 5.0;
        double haumea_dist = 5.5;

        if (this instanceof WorldProviderTriton_WE) { mySolarEnergyMultiplier = neptun_dist; }
        else if (this instanceof WorldProviderHaumea_WE) { mySolarEnergyMultiplier = haumea_dist; }
        else mySolarEnergyMultiplier = 1.0;

        mySolarEnergyMultiplier = 1 / (mySolarEnergyMultiplier * mySolarEnergyMultiplier);

    }

    return mySolarEnergyMultiplier;
}

////////////////////////////////////////////// class asmodeuscore.core.astronomy.dimension.world.gen.WorldProviderAdvancedSpace //////////////////////////////////////////////

private double mySolarEnergyMultiplier = -1;

public double getSolarEnergyMultiplier()
{
    if (mySolarEnergyMultiplier < 0) {
        if (this instanceof WorldProviderMercury) { mySolarEnergyMultiplier = 3.0; return mySolarEnergyMultiplier; }

        double ceres_dist = 1.6;
        double jupiter_dist = 2.5;
        double saturn_dist = 3.0;
        double uran_dist = 3.5;
        //double neptun_dist = 4.0;
        double pluton_dist = 4.5;
        double kuiper_dist = 5.0;

        if (this instanceof WorldProviderCeres) { mySolarEnergyMultiplier = ceres_dist; }
        else if (this instanceof WorldProviderCallisto) { mySolarEnergyMultiplier = jupiter_dist; }
        else if (this instanceof WorldProviderEuropa) { mySolarEnergyMultiplier = jupiter_dist; }
        else if (this instanceof WorldProviderGanymede) { mySolarEnergyMultiplier = jupiter_dist; }
        else if (this instanceof WorldProviderIo) { mySolarEnergyMultiplier = jupiter_dist; }
        else if (this instanceof WorldProviderEnceladus) { mySolarEnergyMultiplier = saturn_dist; }
        else if (this instanceof WorldProviderTitan) { mySolarEnergyMultiplier = saturn_dist; }
        else if (this instanceof WorldProviderMiranda) { mySolarEnergyMultiplier = uran_dist; }
        // --- Neptun / Triton ---
        else if (this instanceof WorldProviderPluto) { mySolarEnergyMultiplier = pluton_dist; }
        else if (this instanceof WorldProviderKuiperBelt) { mySolarEnergyMultiplier = kuiper_dist; }
        else mySolarEnergyMultiplier = 1.0;

        mySolarEnergyMultiplier = 1 / (mySolarEnergyMultiplier * mySolarEnergyMultiplier);

    }

    return mySolarEnergyMultiplier;
}

//////////////////////////////////////////////