ProjectileConfigPacketGenerator class
Пакет: com.hypixel.hytale.server.core.modules.projectile.config
Файл: com/hypixel/hytale/server/core/modules/projectile/config/ProjectileConfigPacketGenerator.java
extends: DefaultAssetPacketGenerator<String, ProjectileConfig>
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
UpdateProjectileConfigs |
var2 |
|
UpdateProjectileConfigs |
var2 |
|
UpdateProjectileConfigs |
var3 |
|
Map |
var3 |
|
Map |
var4 |
Методы (1)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalStateExceptionthrow new IllegalStateException("Duplicate key") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.projectile.config;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.protocol.ToClientPacket;
class="kw">import com.hypixel.hytale.protocol.UpdateType;
class="kw">import com.hypixel.hytale.protocol.packets.assets.UpdateProjectileConfigs;
class="kw">import com.hypixel.hytale.server.core.asset.packet.DefaultAssetPacketGenerator;
class="kw">import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.Map.Entry;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class ProjectileConfigPacketGenerator class="kw">extends DefaultAssetPacketGenerator<String, ProjectileConfig> {
class="kw">public ProjectileConfigPacketGenerator() {
}
@Nonnull
@Override
class="kw">public ToClientPacket generateInitPacket(@Nonnull DefaultAssetMap<String, ProjectileConfig> var1, Map<String, ProjectileConfig> var2) {
UpdateProjectileConfigs var3 = new UpdateProjectileConfigs();
var3.type = UpdateType.Init;
Map var4 = new Object2ObjectOpenHashMap();
for (Entry var6 : var1.getAssetMap().entrySet()) {
if (var4.put(var6.getKey(), var6.getValue().toPacket()) != null) {
throw new IllegalStateException("Duplicate key");
}
}
var3.configs = var4;
class="kw">return var3;
}
@Nonnull
@Override
class="kw">public ToClientPacket generateUpdatePacket(@Nonnull Map<String, ProjectileConfig> var1) {
UpdateProjectileConfigs var2 = new UpdateProjectileConfigs();
var2.type = UpdateType.AddOrUpdate;
Map var3 = new Object2ObjectOpenHashMap();
for (Entry var5 : var1.entrySet()) {
if (var3.put(var5.getKey(), var5.getValue().toPacket()) != null) {
throw new IllegalStateException("Duplicate key");
}
}
var2.configs = var3;
class="kw">return var2;
}
@Nullable
@Override
class="kw">public ToClientPacket generateRemovePacket(@Nonnull Set<String> var1) {
UpdateProjectileConfigs var2 = new UpdateProjectileConfigs();
var2.type = UpdateType.Remove;
var2.removedConfigs = var1.toArray(String[]::new);
class="kw">return var2;
}
}