5
5
import net .minecraft .world .level .GameRules ;
6
6
import net .minecraft .world .level .storage .LevelData ;
7
7
import net .minecraft .world .level .storage .WritableLevelData ;
8
+ import java .util .function .Supplier ;
8
9
9
10
/**
10
11
* Porting: class is relatively small, just check super class manually (all of missing methods are/were just aliases)
11
12
*/
12
13
public class FakeLevelData implements WritableLevelData
13
14
{
14
- protected LevelData vanillaLevelData ;
15
+ protected Supplier < LevelData > vanillaLevelData ;
15
16
protected final IFakeLevelLightProvider lightProvider ;
16
17
17
- protected FakeLevelData (final LevelData vanillaLevelData , final IFakeLevelLightProvider lightProvider )
18
+ protected FakeLevelData (final Supplier < LevelData > vanillaLevelData , final IFakeLevelLightProvider lightProvider )
18
19
{
19
20
this .vanillaLevelData = vanillaLevelData ;
20
21
this .lightProvider = lightProvider ;
@@ -35,13 +36,13 @@ public float getSpawnAngle()
35
36
@ Override
36
37
public long getGameTime ()
37
38
{
38
- return vanillaLevelData .getGameTime ();
39
+ return vanillaLevelData .get (). getGameTime ();
39
40
}
40
41
41
42
@ Override
42
43
public long getDayTime ()
43
44
{
44
- return lightProvider .forceOwnLightLevel () ? lightProvider .getDayTime () : vanillaLevelData .getDayTime ();
45
+ return lightProvider .forceOwnLightLevel () ? lightProvider .getDayTime () : vanillaLevelData .get (). getDayTime ();
45
46
}
46
47
47
48
@ Override
@@ -71,7 +72,7 @@ public boolean isHardcore()
71
72
@ Override
72
73
public GameRules getGameRules ()
73
74
{
74
- return vanillaLevelData .getGameRules ();
75
+ return vanillaLevelData .get (). getGameRules ();
75
76
}
76
77
77
78
@ Override
0 commit comments