OnPlayerSettingsChange class

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

Файл: com/hypixel/hytale/server/core/modules/entity/player/CreativeEraserSystems.java

extends: RefChangeSystem<EntityStore, PlayerSettings>

Методы (5)

МодификаторыВозвратСигнатура
public ComponentType<EntityStore, PlayerSettings> componentTypepublic ComponentType<EntityStore, PlayerSettings> componentType()
public Query<EntityStore> getQuerypublic Query<EntityStore> getQuery()
public void onComponentAddedpublic void onComponentAdded(@Nonnull Ref<EntityStore> var1, @Nonnull PlayerSettings var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4)
public void onComponentRemovedpublic void onComponentRemoved(@Nonnull Ref<EntityStore> var1, @Nonnull PlayerSettings var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4)
public void onComponentSetpublic void onComponentSet(@Nonnull Ref<EntityStore> var1, @Nullable PlayerSettings var2, @Nonnull PlayerSettings var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5)

Исходный код

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

class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.HolderSystem;
class="kw">import com.hypixel.hytale.component.system.RefChangeSystem;
class="kw">import com.hypixel.hytale.protocol.GameMode;
class="kw">import com.hypixel.hytale.protocol.InteractionType;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.interaction.Interactions;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class CreativeEraserSystems {
   class="kw">public CreativeEraserSystems() {
   }

   class="kw">public class="kw">static void refresh(@Nonnull Ref<EntityStore> var0, @Nonnull ComponentAccessor<EntityStore> var1) {
      String var2 = var1.getExternalData().getWorld().getGameplayConfig().getCreativeEraserInteraction();
      if (var2 != null) {
         Player var3 = var1.getComponent(var0, Player.getComponentType());
         PlayerSettings var4 = var1.getComponent(var0, PlayerSettings.getComponentType());
         boolean var5 = var3 != null && var3.getGameMode() == GameMode.Creative && var4 != null && var4.creativeSettings().eraserEnabled();
         if (var5) {
            Interactions var8 = var1.getComponent(var0, Interactions.getComponentType());
            if (var8 != null) {
               var8.setInteractionId(InteractionType.Primary, var2);
            } else {
               Interactions var7 = new Interactions();
               var7.setInteractionId(InteractionType.Primary, var2);
               var1.putComponent(var0, Interactions.getComponentType(), var7);
            }
         } else {
            Interactions var6 = var1.getComponent(var0, Interactions.getComponentType());
            if (var6 != null && var2.equals(var6.getInteractionId(InteractionType.Primary))) {
               var6.removeInteractionId(InteractionType.Primary);
               if (var6.isEmpty()) {
                  var1.tryRemoveComponent(var0, Interactions.getComponentType());
               }
            }
         }
      }
   }

   class="kw">public class="kw">static class OnPlayerRemovedFromWorld class="kw">extends HolderSystem<EntityStore> {
      class="kw">public OnPlayerRemovedFromWorld() {
      }

      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Player.getComponentType();
      }

      @Override
      class="kw">public void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3) {
      }

      @Override
      class="kw">public void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3) {
         String var4 = var3.getExternalData().getWorld().getGameplayConfig().getCreativeEraserInteraction();
         if (var4 != null) {
            Interactions var5 = var1.getComponent(Interactions.getComponentType());
            if (var5 != null && var4.equals(var5.getInteractionId(InteractionType.Primary))) {
               var5.removeInteractionId(InteractionType.Primary);
               if (var5.isEmpty()) {
                  var1.removeComponent(Interactions.getComponentType());
               }
            }
         }
      }
   }

   class="kw">public class="kw">static class OnPlayerSettingsChange class="kw">extends RefChangeSystem<EntityStore, PlayerSettings> {
      class="kw">public OnPlayerSettingsChange() {
      }

      @Nonnull
      @Override
      class="kw">public ComponentType<EntityStore, PlayerSettings> componentType() {
         class="kw">return PlayerSettings.getComponentType();
      }

      class="kw">public void onComponentAdded(
         @Nonnull Ref<EntityStore> var1, @Nonnull PlayerSettings var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
      ) {
         CreativeEraserSystems.refresh(var1, var4);
      }

      class="kw">public void onComponentSet(
         @Nonnull Ref<EntityStore> var1,
         @Nullable PlayerSettings var2,
         @Nonnull PlayerSettings var3,
         @Nonnull Store<EntityStore> var4,
         @Nonnull CommandBuffer<EntityStore> var5
      ) {
         CreativeEraserSystems.refresh(var1, var5);
      }

      class="kw">public void onComponentRemoved(
         @Nonnull Ref<EntityStore> var1, @Nonnull PlayerSettings var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
      ) {
      }

      @Nullable
      @Override
      class="kw">public Query<EntityStore> getQuery() {
         class="kw">return Player.getComponentType();
      }
   }
}