Skip to content

Commit 45a127f

Browse files
committed
Actually ported creative content
1 parent 108c346 commit 45a127f

4 files changed

Lines changed: 42 additions & 13 deletions

File tree

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group = "org.powernukkitx.anyversion"
7-
version = "2.8.3"
7+
version = "2.8.4"
88

99
java {
1010
toolchain {
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.powernukkitx.anyversion.handler.handlers;
2+
3+
import org.cloudburstmc.protocol.bedrock.data.camera.CameraAimAssistPresetDefinition;
4+
import org.cloudburstmc.protocol.bedrock.packet.CameraAimAssistPresetsPacket;
5+
import org.powernukkitx.anyversion.handler.PacketHandler;
6+
import org.powernukkitx.anyversion.manager.ProtocolPlayer;
7+
import org.powernukkitx.anyversion.utils.ProtocolVersion;
8+
9+
public class CameraAimAssistPresetsHandler extends PacketHandler<CameraAimAssistPresetsPacket> {
10+
11+
@Override
12+
public void handle(ProtocolPlayer player, CameraAimAssistPresetsPacket packet) {
13+
for (CameraAimAssistPresetDefinition preset : packet.getPresets()) {
14+
if (preset.getCategories() == null) {
15+
preset.setCategories("");
16+
}
17+
}
18+
}
19+
}
Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,43 @@
11
package org.powernukkitx.anyversion.handler.handlers;
22

33
import org.cloudburstmc.protocol.bedrock.data.inventory.ItemData;
4+
import org.cloudburstmc.protocol.bedrock.data.payload.creative.CreativeGroupInfoPayload;
45
import org.cloudburstmc.protocol.bedrock.data.payload.creative.CreativeItemEntryPayload;
56
import org.cloudburstmc.protocol.bedrock.packet.CreativeContentPacket;
67
import org.powernukkitx.anyversion.handler.PacketHandler;
78
import org.powernukkitx.anyversion.manager.ProtocolPlayer;
89
import org.powernukkitx.anyversion.registries.Registries;
910

10-
import java.util.Iterator;
11+
import java.util.ArrayList;
12+
import java.util.List;
1113

1214
public class CreativeContentHandler extends PacketHandler<CreativeContentPacket> {
1315

1416
@Override
1517
public void handle(ProtocolPlayer player, CreativeContentPacket packet) {
16-
Iterator<CreativeItemEntryPayload> iterator = packet.getEntries().iterator();
17-
while (iterator.hasNext()) {
18-
CreativeItemEntryPayload data = iterator.next();
18+
List<CreativeItemEntryPayload> c = new ArrayList<>(packet.getEntries());
19+
packet.getEntries().clear();
20+
for(CreativeItemEntryPayload data : c) {
1921
if (data.getItemInstance().getDefinition() == null) {
22+
packet.getEntries().add(data);
2023
continue;
2124
}
2225
ItemData itemData = Registries.ITEM.downgrade(player.getVersion(), data.getItemInstance());
23-
if (itemData.getDefinition() == null || Registries.ITEM.getOutdated(itemData).getDefinition() == null) {
26+
if(itemData.getDefinition() == null || Registries.ITEM.getOutdated(itemData).getDefinition() == null) {
27+
packet.getEntries().add(data);
2428
continue;
2529
}
26-
if (itemData.getDefinition().getIdentifier().equals(Registries.ITEM.getOutdated(itemData).getDefinition().getIdentifier())) {
27-
iterator.remove();
28-
continue;
29-
}
30-
data.setItemInstance(itemData);
30+
if(itemData.getDefinition().getIdentifier().equals(Registries.ITEM.getOutdated(itemData).getDefinition().getIdentifier())) continue;
31+
CreativeItemEntryPayload newData = new CreativeItemEntryPayload();
32+
newData.setItemInstance(itemData);
33+
newData.setCreativeNetId(data.getCreativeNetId());
34+
newData.setGroupIndex(data.getGroupIndex());
35+
packet.getEntries().add(newData);
3136
}
32-
}
3337

34-
}
38+
for(CreativeGroupInfoPayload data : packet.getGroups()) {
39+
ItemData itemData = Registries.ITEM.downgrade(player.getVersion(), data.getGroupIconItem());
40+
data.setGroupIconItem(itemData);
41+
}
42+
}
43+
}

src/main/java/org/powernukkitx/anyversion/registries/registries/PacketHandlerRegistry.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public void init() {
3939
HANDLERS.add(new LoginHandler());
4040
HANDLERS.add(new SetEntityDataHandler());
4141
HANDLERS.add(new UpdateSubChunkBlocksHandler());
42+
HANDLERS.add(new CameraAimAssistPresetsHandler());
4243
HANDLERS.add(new TextHandler());
4344
}
4445

0 commit comments

Comments
 (0)