GalacticraftAPI - сдвиг при выборе планеты

Версия Minecraft
1.7.10
60
6
31
Всем привет. Происходит такой момент, когда начинаю выбирать свою планету, происходит какой то сдвиг по оси...



Init in ScreenSelectial:
public class System {
   
    public static Star star;
    public static SolarSystem system;
   
    public void initSystem() {
       
        system = new SolarSystem("system", "milkyWay").setMapPosition(new Vector3(1.3F, 1.7F, 0.57F));
        star = (Star)new Star("star").setParentSolarSystem(system).setTierRequired(-1);
        star.setBodyIcon(new ResourceLocation(MainMod.ASSETPREFIX, "textures/gui/celestialbody/mainStar.png"));
        system.setMainStar(star);
       
        GalaxyRegistry.registerSolarSystem(system);
       
    }      
   
}

Галактоделы, за любую оказанную помощь буду крайне признателен:)
 
Решение
И вместо инита, дай весь класс, потому-что в ините рендера нету толком
(Если конечно это не из-за system = new SolarSystem("system", "milkyWay").setMapPosition(new Vector3(1.3F, 1.7F, 0.57F));)

Потыкай значения вектора и посмотри меняется ли движение куда-то в другую сторону, если да - то вот оно решение и просто аккуратно поправляй значения до момента когда всё ок будет
(хотя мне кажется что это возможно может быть и в самой SolarSystem после того как ты планету выбираешь
Java:
public SolarSystem setMapPosition(Vector3 mapPosition) {
    mapPosition.scale(500D); //А конкретнее возможно здесь
    this.mapPosition = mapPosition;
    return this;
}


UPD решено:
Ошибка была в Vector3 и добавлении Z координаты которая визуально...

jopi

Попрошайка
1,421
30
260
И вместо инита, дай весь класс, потому-что в ините рендера нету толком
(Если конечно это не из-за system = new SolarSystem("system", "milkyWay").setMapPosition(new Vector3(1.3F, 1.7F, 0.57F));)

Потыкай значения вектора и посмотри меняется ли движение куда-то в другую сторону, если да - то вот оно решение и просто аккуратно поправляй значения до момента когда всё ок будет
(хотя мне кажется что это возможно может быть и в самой SolarSystem после того как ты планету выбираешь
Java:
public SolarSystem setMapPosition(Vector3 mapPosition) {
    mapPosition.scale(500D); //А конкретнее возможно здесь
    this.mapPosition = mapPosition;
    return this;
}


UPD решено:
Ошибка была в Vector3 и добавлении Z координаты которая визуально смещала это вниз
Строка system = new SolarSystem("system", "milkyWay").setMapPosition(new Vector3(1.3F, 1.7F, 0.0F/*Решение 0.0F*/));
 
Последнее редактирование:
60
6
31
И вместо инита, дай весь класс, потому-что в ините рендера нету толком
Использую Galacticraft API, весь рендер относиться к нему

Насчёт вектора, у меня система по всей карте Галактика побегала как не знаю кто, ставил уже куда-угодно и поведение не изменилось.

Планету инициализирую немного другим способом

CreatePlanet:
public static Planet createPlanet(String name, String texture, double phaseShift, double distance, double orbitTime) {
       
        Planet pl = new Planet(name);
        setCelestialBodyStuff(pl, texture, phaseShift, distance, orbitTime);
        return pl;
       
    }
   
    public static void setCelestialBodyStuff(CelestialBody body, String texture, double phaseShift, double distance, double orbitTime) {
       
        body.setBodyIcon(new ResourceLocation(MainMod.ASSETPREFIX, "textures/gui/planets/"+texture))
        .setPhaseShift((float) phaseShift)
        .setRelativeDistanceFromCenter(new ScalableDistance((float)distance, (float)distance))
        .setRelativeOrbitTime((float)orbitTime);
       
    }
Но та же самая проблема, возможно я не достаточно хорошо изучил исходники API и где то есть установка центра, при селекте планеты(звезды), но вот пример оригинального создания солнечной системы у разработчика мода:

OriginalSolSystem:
        GalacticraftCore.solarSystemSol = new SolarSystem("sol", "milkyWay").setMapPosition(new Vector3(0.0F, 0.0F));
        Star starSol = (Star) new Star("sol").setParentSolarSystem(GalacticraftCore.solarSystemSol).setTierRequired(-1);
        starSol.setBodyIcon(new ResourceLocation(GalacticraftCore.ASSET_PREFIX, "textures/gui/celestialbodies/sun.png"));
        GalacticraftCore.solarSystemSol.setMainStar(starSol);
 
Сверху