33import com .google .gson .JsonDeserializationContext ;
44import com .google .gson .JsonObject ;
55import com .google .gson .JsonSerializationContext ;
6+ import errorcraft .entitymodifiers .util .RelativeNumberProvider ;
67import errorcraft .entitymodifiers .world .position .provider .PositionProvider ;
78import errorcraft .entitymodifiers .world .position .provider .PositionProviderType ;
89import errorcraft .entitymodifiers .world .position .provider .PositionProviderTypes ;
910import net .minecraft .loot .context .LootContext ;
10- import net .minecraft .loot .provider .number .LootNumberProvider ;
1111import net .minecraft .util .JsonHelper ;
1212import net .minecraft .util .math .Vec2f ;
1313import net .minecraft .util .math .Vec3d ;
1414
1515public class WorldPositionProvider implements PositionProvider {
16- private final LootNumberProvider x ;
17- private final LootNumberProvider y ;
18- private final LootNumberProvider z ;
16+ private final RelativeNumberProvider x ;
17+ private final RelativeNumberProvider y ;
18+ private final RelativeNumberProvider z ;
1919
20- public WorldPositionProvider (LootNumberProvider x , LootNumberProvider y , LootNumberProvider z ) {
20+ public WorldPositionProvider (RelativeNumberProvider x , RelativeNumberProvider y , RelativeNumberProvider z ) {
2121 this .x = x ;
2222 this .y = y ;
2323 this .z = z ;
@@ -29,9 +29,9 @@ public PositionProviderType getType() {
2929
3030 @ Override
3131 public Vec3d getPosition (Vec3d currentPosition , Vec2f rotation , LootContext lootContext ) {
32- double newX = this .x .nextFloat ( lootContext );
33- double newY = this .y .nextFloat ( lootContext );
34- double newZ = this .z .nextFloat ( lootContext );
32+ double newX = this .x .getDouble ( currentPosition . getX (), lootContext );
33+ double newY = this .y .getDouble ( currentPosition . getY (), lootContext );
34+ double newZ = this .z .getDouble ( currentPosition . getZ (), lootContext );
3535 return new Vec3d (newX , newY , newZ );
3636 }
3737
@@ -45,9 +45,9 @@ public void toJson(JsonObject json, WorldPositionProvider object, JsonSerializat
4545
4646 @ Override
4747 public WorldPositionProvider fromJson (JsonObject json , JsonDeserializationContext context ) {
48- LootNumberProvider x = JsonHelper .deserialize (json , "x" , context , LootNumberProvider .class );
49- LootNumberProvider y = JsonHelper .deserialize (json , "y" , context , LootNumberProvider .class );
50- LootNumberProvider z = JsonHelper .deserialize (json , "z" , context , LootNumberProvider .class );
48+ RelativeNumberProvider x = JsonHelper .deserialize (json , "x" , context , RelativeNumberProvider .class );
49+ RelativeNumberProvider y = JsonHelper .deserialize (json , "y" , context , RelativeNumberProvider .class );
50+ RelativeNumberProvider z = JsonHelper .deserialize (json , "z" , context , RelativeNumberProvider .class );
5151 return new WorldPositionProvider (x , y , z );
5252 }
5353 }
0 commit comments