AssetEditorGamePacketHandler class
Пакет: com.hypixel.hytale.builtin.asseteditor
Файл: com/hypixel/hytale/builtin/asseteditor/AssetEditorGamePacketHandler.java
implements: SubPacketHandler
Поля (8)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
HytaleLogger |
LOGGER |
|
PlayerRef |
var2 |
|
PlayerRef |
var2 |
|
Ref |
var3 |
|
Ref |
var3 |
|
EditorClient |
var3 |
|
Store |
var4 |
|
World |
var5 |
Методы (3)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
handlevoid handle(AssetEditorInitialize var1) |
|
|
if if(var2) |
private |
boolean |
lacksPermissionboolean lacksPermission(@Nonnull PlayerRef var1, boolean var2) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.asseteditor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.protocol.packets.asseteditor.AssetEditorAuthorization;
class="kw">import com.hypixel.hytale.protocol.packets.asseteditor.AssetEditorInitialize;
class="kw">import com.hypixel.hytale.protocol.packets.asseteditor.AssetEditorUpdateJsonAsset;
class="kw">import com.hypixel.hytale.server.core.io.handlers.IPacketHandler;
class="kw">import com.hypixel.hytale.server.core.io.handlers.SubPacketHandler;
class="kw">import com.hypixel.hytale.server.core.permissions.HytalePermissions;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">public class AssetEditorGamePacketHandler class="kw">implements SubPacketHandler {
class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
class="kw">private class="kw">final IPacketHandler packetHandler;
class="kw">public AssetEditorGamePacketHandler(IPacketHandler var1) {
this.packetHandler = var1;
}
@Override
class="kw">public void registerHandlers() {
if (AssetEditorPlugin.get().isDisabled()) {
this.packetHandler.registerNoOpHandlers(302);
this.packetHandler.registerNoOpHandlers(325);
} else {
this.packetHandler.registerHandler(302, var1 -> this.handle((AssetEditorInitialize)var1));
this.packetHandler.registerHandler(323, var1 -> this.handle((AssetEditorUpdateJsonAsset)var1));
}
}
class="kw">public void handle(AssetEditorInitialize var1) {
PlayerRef var2 = this.packetHandler.getPlayerRef();
Ref var3 = var2.getReference();
if (var3 != null && var3.isValid()) {
if (this.lacksPermission(var2, false)) {
this.packetHandler.getPlayerRef().getPacketHandler().write(new AssetEditorAuthorization(false));
} else {
Store var4 = var3.getStore();
World var5 = var4.getExternalData().getWorld();
var5.execute(() -> {
this.packetHandler.getPlayerRef().getPacketHandler().write(new AssetEditorAuthorization(true));
AssetEditorPlugin.get().handleInitializeEditor(var3, var4);
});
}
}
}
@Deprecated
class="kw">public void handle(@Nonnull AssetEditorUpdateJsonAsset var1) {
PlayerRef var2 = this.packetHandler.getPlayerRef();
Ref var3 = var2.getReference();
if (var3 != null && var3.isValid()) {
if (!this.lacksPermission(var2, true)) {
CompletableFuture.runAsync(
() -> {
LOGGER.at(Level.INFO).log("%s updating json asset at %s", this.packetHandler.getPlayerRef().getUsername(), var1.path);
EditorClient var3 = new EditorClient(var2);
AssetEditorPlugin.get()
.handleJsonAssetUpdate(
var3, var1.path != null ? new AssetPath(var1.path) : null, var1.assetType, var1.assetIndex, var1.commands, var1.token
);
}
);
}
}
}
class="kw">private boolean lacksPermission(@Nonnull PlayerRef var1, boolean var2) {
if (!var1.hasPermission(HytalePermissions.ASSET_EDITOR)) {
if (var2) {
var1.sendMessage(Messages.USAGE_DENIED);
}
class="kw">return true;
} else {
class="kw">return false;
}
}
}