FlyCameraModule class

Пакет: com.hypixel.hytale.server.core.modules.camera

Файл: com/hypixel/hytale/server/core/modules/camera/FlyCameraModule.java

extends: JavaPlugin

Поля (7)

МодификаторыТипИмя
EventBus var1
String var2
PlayerRef var2
PermissionsModule var3
boolean var3
UUID var6
Set var7

Методы (7)

МодификаторыВозвратСигнатура
private void checkAndEnforceFlyCameraPermissionvoid checkAndEnforceFlyCameraPermission(@Nonnull UUID var1)
private void handleGroupPermissionsRemovedvoid handleGroupPermissionsRemoved(@Nonnull GroupPermissionChangeEvent.Removed var1)
private void handlePlayerGroupRemovedvoid handlePlayerGroupRemoved(@Nonnull PlayerGroupEvent.Removed var1)
private void handlePlayerPermissionsRemovedvoid handlePlayerPermissionsRemoved(@Nonnull PlayerPermissionChangeEvent.PermissionsRemoved var1)
if if(var2 != null)
if if(!var3)
abstract super super(var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.camera;

class="kw">import com.hypixel.hytale.common.plugin.PluginManifest;
class="kw">import com.hypixel.hytale.event.EventBus;
class="kw">import com.hypixel.hytale.protocol.packets.camera.SetFlyCameraMode;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
class="kw">import com.hypixel.hytale.server.core.event.events.permissions.GroupPermissionChangeEvent;
class="kw">import com.hypixel.hytale.server.core.event.events.permissions.PlayerGroupEvent;
class="kw">import com.hypixel.hytale.server.core.event.events.permissions.PlayerPermissionChangeEvent;
class="kw">import com.hypixel.hytale.server.core.permissions.HytalePermissions;
class="kw">import com.hypixel.hytale.server.core.permissions.PermissionsModule;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;

class="kw">public class FlyCameraModule class="kw">extends JavaPlugin {
   @Nonnull
   class="kw">public class="kw">static class="kw">final PluginManifest MANIFEST = PluginManifest.corePlugin(FlyCameraModule.class).depends(PermissionsModule.class).build();

   class="kw">public FlyCameraModule(@Nonnull JavaPluginInit var1) {
      super(var1);
   }

   @Override
   class="kw">protected void setup() {
      EventBus var1 = HytaleServer.get().getEventBus();
      var1.register(PlayerPermissionChangeEvent.PermissionsRemoved.class, this::handlePlayerPermissionsRemoved);
      var1.register(PlayerGroupEvent.Removed.class, this::handlePlayerGroupRemoved);
      var1.register(GroupPermissionChangeEvent.Removed.class, this::handleGroupPermissionsRemoved);
   }

   class="kw">private void handlePlayerPermissionsRemoved(@Nonnull PlayerPermissionChangeEvent.PermissionsRemoved var1) {
      if (Boolean.TRUE.equals(PermissionsModule.hasPermission(var1.getRemovedPermissions(), HytalePermissions.FLY_CAM))) {
         this.checkAndEnforceFlyCameraPermission(var1.getPlayerUuid());
      }
   }

   class="kw">private void handlePlayerGroupRemoved(@Nonnull PlayerGroupEvent.Removed var1) {
      this.checkAndEnforceFlyCameraPermission(var1.getPlayerUuid());
   }

   class="kw">private void handleGroupPermissionsRemoved(@Nonnull GroupPermissionChangeEvent.Removed var1) {
      if (Boolean.TRUE.equals(PermissionsModule.hasPermission(var1.getRemovedPermissions(), HytalePermissions.FLY_CAM))) {
         String var2 = var1.getGroupName();
         PermissionsModule var3 = PermissionsModule.get();

         for (PlayerRef var5 : Universe.get().getPlayers()) {
            UUID var6 = var5.getUuid();
            Set var7 = var3.getGroupsForUser(var6);
            if (var7.contains(var2)) {
               this.checkAndEnforceFlyCameraPermission(var6);
            }
         }
      }
   }

   class="kw">private void checkAndEnforceFlyCameraPermission(@Nonnull UUID var1) {
      PlayerRef var2 = Universe.get().getPlayer(var1);
      if (var2 != null) {
         boolean var3 = PermissionsModule.get().hasPermission(var1, HytalePermissions.FLY_CAM);
         if (!var3) {
            var2.getPacketHandler().writeNoCache(new SetFlyCameraMode(false));
         }
      }
   }
}