BlockTypePacketGenerator class
Пакет: com.hypixel.hytale.server.core.asset.type.blocktype
Файл: com/hypixel/hytale/server/core/asset/type/blocktype/BlockTypePacketGenerator.java
extends: AssetPacketGenerator<String, BlockType, BlockTypeAssetMap<String, BlockType>>
Поля (14)
| Модификаторы | Тип | Имя |
|---|---|---|
|
AssetUpdateQuery.RebuildCache |
var10 |
|
AssetUpdateQuery.RebuildCache |
var10 |
|
UpdateBlockTypes |
var3 |
|
Map |
var4 |
|
UpdateBlockTypes |
var4 |
|
UpdateBlockTypes |
var4 |
|
Map |
var5 |
|
Map |
var5 |
|
String |
var7 |
|
int |
var8 |
|
String |
var8 |
|
int |
var8 |
|
int |
var9 |
|
com.hypixel.hytale.protocol.BlockType |
var9 |
Методы (6)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var7) |
abstract |
throw new |
IllegalArgumentExceptionthrow new IllegalArgumentException("Unknown key! " + var8) |
|
|
for for(String var7 : var2) |
|
|
if if(var8 == Integer.MIN_VALUE) |
|
|
if if(var9 == Integer.MIN_VALUE) |
|
|
if if(var8 == Integer.MIN_VALUE) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.asset.type.blocktype;
class="kw">import com.hypixel.hytale.assetstore.AssetUpdateQuery;
class="kw">import com.hypixel.hytale.assetstore.map.BlockTypeAssetMap;
class="kw">import com.hypixel.hytale.protocol.CachedPacket;
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.UpdateBlockTypes;
class="kw">import com.hypixel.hytale.server.core.asset.packet.AssetPacketGenerator;
class="kw">import com.hypixel.hytale.server.core.asset.type.blocktype.config.BlockType;
class="kw">import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
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">public class BlockTypePacketGenerator class="kw">extends AssetPacketGenerator<String, BlockType, BlockTypeAssetMap<String, BlockType>> {
class="kw">public BlockTypePacketGenerator() {
}
@Nonnull
class="kw">public ToClientPacket generateInitPacket(@Nonnull BlockTypeAssetMap<String, BlockType> var1, @Nonnull Map<String, BlockType> var2) {
UpdateBlockTypes var3 = new UpdateBlockTypes();
var3.type = UpdateType.Init;
Map var4 = new Int2ObjectOpenHashMap();
for (Entry var6 : var2.entrySet()) {
String var7 = var6.getKey();
int var8 = var1.getIndex(var7);
if (var8 == Integer.MIN_VALUE) {
throw new IllegalArgumentException("Unknown key! " + var7);
}
var4.put(var8, var6.getValue().toPacket());
}
var3.blockTypes = var4;
var3.maxId = var1.getNextIndex();
var3.updateBlockTextures = true;
var3.updateModels = true;
var3.updateModelTextures = true;
var3.updateMapGeometry = true;
class="kw">return var3;
}
@Nonnull
class="kw">public ToClientPacket generateUpdatePacket(
@Nonnull BlockTypeAssetMap<String, BlockType> var1, @Nonnull Map<String, BlockType> var2, @Nonnull AssetUpdateQuery var3
) {
UpdateBlockTypes var4 = new UpdateBlockTypes();
var4.type = UpdateType.AddOrUpdate;
Map var5 = new Int2ObjectOpenHashMap();
for (Entry var7 : var2.entrySet()) {
String var8 = var7.getKey();
int var9 = var1.getIndex(var8);
if (var9 == Integer.MIN_VALUE) {
throw new IllegalArgumentException("Unknown key! " + var8);
}
var5.put(var9, var7.getValue().toPacket());
}
var4.blockTypes = var5;
var4.maxId = var1.getNextIndex();
AssetUpdateQuery.RebuildCache var10 = var3.getRebuildCache();
var4.updateBlockTextures = var10.isBlockTextures();
var4.updateModelTextures = var10.isModelTextures();
var4.updateModels = var10.isModels();
var4.updateMapGeometry = var10.isMapGeometry();
class="kw">return CachedPacket.cache(var4);
}
@Nonnull
class="kw">public ToClientPacket generateRemovePacket(@Nonnull BlockTypeAssetMap<String, BlockType> var1, @Nonnull Set<String> var2, @Nonnull AssetUpdateQuery var3) {
UpdateBlockTypes var4 = new UpdateBlockTypes();
var4.type = UpdateType.Remove;
Map var5 = new Int2ObjectOpenHashMap();
for (String var7 : var2) {
int var8 = var1.getIndex(var7);
if (var8 == Integer.MIN_VALUE) {
throw new IllegalArgumentException("Unknown key! " + var7);
}
com.hypixel.hytale.protocol.BlockType var9 = new com.hypixel.hytale.protocol.BlockType();
var9.name = var7;
var5.put(var8, var9);
}
var4.blockTypes = var5;
AssetUpdateQuery.RebuildCache var10 = var3.getRebuildCache();
var4.updateBlockTextures = var10.isBlockTextures();
var4.updateModels = var10.isModels();
var4.updateModelTextures = var10.isModelTextures();
var4.updateMapGeometry = var10.isMapGeometry();
class="kw">return CachedPacket.cache(var4);
}
}