mirror of
https://github.com/Xiao-MoMi/craft-engine.git
synced 2026-01-04 15:41:38 +00:00
改list
This commit is contained in:
@@ -59,7 +59,7 @@ public final class BukkitBlockManager extends AbstractBlockManager {
|
||||
private Map<Integer, List<String>> clientBoundTags = Map.of();
|
||||
private Map<Integer, List<String>> previousClientBoundTags = Map.of();
|
||||
// 缓存的原版方块tag包
|
||||
private Map<Object, List<TagUtils.TagEntry>> cachedUpdateTags;
|
||||
private List<TagUtils.TagEntry> cachedUpdateTags = List.of();
|
||||
// 被移除声音的原版方块
|
||||
private Set<Object> missingPlaceSounds = Set.of();
|
||||
private Set<Object> missingBreakSounds = Set.of();
|
||||
@@ -157,7 +157,7 @@ public final class BukkitBlockManager extends AbstractBlockManager {
|
||||
for (Map.Entry<Integer, List<String>> entry : this.clientBoundTags.entrySet()) {
|
||||
list.add(new TagUtils.TagEntry(entry.getKey(), entry.getValue()));
|
||||
}
|
||||
this.cachedUpdateTags = Map.of(MRegistries.BLOCK, list);
|
||||
this.cachedUpdateTags = list;
|
||||
Object packet = TagUtils.createUpdateTagsPacket(Map.of(MRegistries.BLOCK, list));
|
||||
for (BukkitServerPlayer player : this.plugin.networkManager().onlineUsers()) {
|
||||
player.sendPacket(packet, false);
|
||||
@@ -359,7 +359,7 @@ public final class BukkitBlockManager extends AbstractBlockManager {
|
||||
}
|
||||
}
|
||||
|
||||
public Map<Object, List<TagUtils.TagEntry>> cachedUpdateTags() {
|
||||
public List<TagUtils.TagEntry> cachedUpdateTags() {
|
||||
return this.cachedUpdateTags;
|
||||
}
|
||||
|
||||
|
||||
@@ -1860,6 +1860,8 @@ public class BukkitNetworkManager implements NetworkManager, Listener, PluginMes
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
public void onPacketSend(NetWorkUser user, NMSPacketEvent event, Object packet) {
|
||||
List<TagUtils.TagEntry> cachedUpdateTags = BukkitBlockManager.instance().cachedUpdateTags();
|
||||
if (cachedUpdateTags.isEmpty()) return;
|
||||
Map<Object, Object> tags;
|
||||
try {
|
||||
tags = (Map<Object, Object>) NetworkReflections.field$ClientboundUpdateTagsPacket$tags.get(packet);
|
||||
@@ -1868,7 +1870,7 @@ public class BukkitNetworkManager implements NetworkManager, Listener, PluginMes
|
||||
return;
|
||||
}
|
||||
if (tags.get(MRegistries.BLOCK) == null) return;
|
||||
event.replacePacket(TagUtils.createUpdateTagsPacket(BukkitBlockManager.instance().cachedUpdateTags(), tags));
|
||||
event.replacePacket(TagUtils.createUpdateTagsPacket(Map.of(MRegistries.BLOCK, cachedUpdateTags), tags));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user