1
1
package tocraft .remorphed ;
2
2
3
- import io .netty .buffer .Unpooled ;
4
3
import net .fabricmc .api .EnvType ;
5
4
import net .minecraft .core .Registry ;
6
5
import net .minecraft .nbt .CompoundTag ;
7
6
import net .minecraft .nbt .ListTag ;
8
- import net .minecraft .network .FriendlyByteBuf ;
9
- import net .minecraft .network .chat .Component ;
10
7
import net .minecraft .network .chat .TextComponent ;
11
8
import net .minecraft .resources .ResourceLocation ;
12
9
import net .minecraft .server .level .ServerPlayer ;
23
20
import tocraft .craftedcore .platform .VersionChecker ;
24
21
import tocraft .remorphed .command .RemorphedCommand ;
25
22
import tocraft .remorphed .config .RemorphedConfig ;
26
- import tocraft .remorphed .events .ShapeEventsCallback ;
27
23
import tocraft .remorphed .handler .LivingDeathHandler ;
28
24
import tocraft .remorphed .handler .PlayerRespawnHandler ;
29
- import tocraft .remorphed .impl .RemorphedPlayerDataProvider ;
25
+ import tocraft .remorphed .handler .ShapeEventsCallback ;
26
+ import tocraft .remorphed .impl .PlayerMorph ;
30
27
import tocraft .remorphed .network .NetworkHandler ;
31
28
import tocraft .walkers .Walkers ;
32
29
import tocraft .walkers .api .events .ShapeEvents ;
30
+ import tocraft .walkers .api .platform .ApiLevel ;
33
31
import tocraft .walkers .api .variant .ShapeType ;
34
32
35
33
import java .util .ArrayList ;
@@ -46,6 +44,11 @@ public class Remorphed {
46
44
public static boolean displayTraitsInMenu = true ;
47
45
48
46
public void initialize () {
47
+ ShapeEvents .UNLOCK_SHAPE .register (new ShapeEventsCallback ());
48
+ if (!CONFIG .unlockFriendlyNormal ) {
49
+ ApiLevel .setApiLevel (ApiLevel .MORPHING_AND_VARIANTS_MENU_ONLY );
50
+ }
51
+
49
52
// add DarkShadow_2k to devs (for creating the special shape icon and concepts)
50
53
Walkers .devs .add (UUID .fromString ("74b6d9b3-c8c1-40db-ab82-ccc290d1aa03" ));
51
54
@@ -55,8 +58,6 @@ public void initialize() {
55
58
56
59
NetworkHandler .registerPacketReceiver ();
57
60
58
- ShapeEvents .UNLOCK_SHAPE .register (((player , type ) -> new ShapeEventsCallback ().event (player , type )));
59
- ShapeEvents .SWAP_SHAPE .register (((player , shape ) -> new ShapeEventsCallback ().event (player , ShapeType .from (shape ))));
60
61
CommandEvents .REGISTRATION .register (new RemorphedCommand ());
61
62
EntityEvents .LIVING_DEATH .register (new LivingDeathHandler ());
62
63
PlayerEvents .PLAYER_RESPAWN .register (new PlayerRespawnHandler ());
@@ -74,7 +75,7 @@ public static boolean canUseEveryShape(Player player) {
74
75
}
75
76
76
77
public static boolean canUseShape (Player player , ShapeType <?> type ) {
77
- return canUseEveryShape (player ) || !Remorphed .CONFIG .lockTransform && (type == null || Remorphed .getKillToUnlock (type .getEntityType ()) <= 0 || (( RemorphedPlayerDataProvider ) player ). remorphed$ getKills (type ) >= Remorphed .getKillToUnlock (type .getEntityType ()));
78
+ return canUseEveryShape (player ) || !Remorphed .CONFIG .lockTransform && (type == null || Remorphed .getKillToUnlock (type .getEntityType ()) <= 0 || PlayerMorph . getKills (player , type ) >= Remorphed .getKillToUnlock (type .getEntityType ()));
78
79
}
79
80
80
81
public static List <ShapeType <?>> getUnlockedShapes (Player player ) {
@@ -87,7 +88,7 @@ public static List<ShapeType<?>> getUnlockedShapes(Player player) {
87
88
}
88
89
return unlocked ;
89
90
} else {
90
- return new ArrayList <>((( RemorphedPlayerDataProvider ) player ). remorphed$ getUnlockedShapes ().keySet ().stream ().filter (type -> canUseShape (player , type )).toList ());
91
+ return new ArrayList <>(PlayerMorph . getUnlockedShapes (player ).keySet ().stream ().filter (type -> canUseShape (player , type )).toList ());
91
92
}
92
93
}
93
94
@@ -102,11 +103,10 @@ public static void sync(ServerPlayer player) {
102
103
}
103
104
104
105
public static void sync (ServerPlayer changed , ServerPlayer packetTarget ) {
105
- FriendlyByteBuf packet = new FriendlyByteBuf (Unpooled .buffer ());
106
106
CompoundTag compoundTag = new CompoundTag ();
107
107
108
108
// serialize current shape data to tag if it exists
109
- Map <ShapeType <?>, Integer > unlockedShapes = (( RemorphedPlayerDataProvider ) changed ). remorphed$ getUnlockedShapes ();
109
+ Map <ShapeType <?>, Integer > unlockedShapes = PlayerMorph . getUnlockedShapes (changed );
110
110
111
111
ListTag list = new ListTag ();
112
112
0 commit comments