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;
      }
   }
}