WorldNotificationHandler class

Пакет: com.hypixel.hytale.server.core.universe.world

Файл: com/hypixel/hytale/server/core/universe/world/WorldNotificationHandler.java

Поля (7)

МодификаторыТипИмя
BlockChunk var3
BlockChunk var3
ArrayList var4
ArrayList var4
long var4
long var5
long var5

Методы (19)

МодификаторыВозвратСигнатура
for for(PlayerRef var5 : var4)
for for(PlayerRef var5 : var4)
if if(var3 != null)
if if(var3x != null)
if if(var3 != null)
if if(var3x != null)
public void sendBlockParticlevoid sendBlockParticle(double var1, double var3, double var5, int var7, @Nonnull BlockParticleEvent var8)
public void sendBlockParticlevoid sendBlockParticle(@Nonnull PlayerRef var1, double var2, double var4, double var6, int var8, @Nonnull BlockParticleEvent var9)
public void sendPacketIfChunkLoadedvoid sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, int var2, int var3)
public void sendPacketIfChunkLoadedvoid sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, long var2)
public void sendPacketIfChunkLoadedvoid sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, int var2, int var3, @Nullable Predicate<PlayerRef> var4)
public void sendPacketIfChunkLoadedvoid sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, long var2, @Nullable Predicate<PlayerRef> var4)
private void sendPacketIfChunkLoadedvoid sendPacketIfChunkLoaded(@Nonnull PlayerRef var1, @Nonnull ToClientPacket var2, int var3, int var4)
private void sendPacketIfChunkLoadedvoid sendPacketIfChunkLoaded(@Nonnull PlayerRef var1, @Nonnull ToClientPacket var2, long var3)
public void updateBlockDamagevoid updateBlockDamage(int var1, int var2, int var3, float var4, float var5)
public void updateBlockDamagevoid updateBlockDamage(int var1, int var2, int var3, float var4, float var5, @Nullable Predicate<PlayerRef> var6)
public void updateChunkvoid updateChunk(long var1)
public void updateChunkEnvironmentsvoid updateChunkEnvironments(long var1)
public void updateChunkTintsvoid updateChunkTints(long var1)

Исходный код

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

class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.math.util.MathUtil;
class="kw">import com.hypixel.hytale.protocol.BlockParticleEvent;
class="kw">import com.hypixel.hytale.protocol.BlockPosition;
class="kw">import com.hypixel.hytale.protocol.Position;
class="kw">import com.hypixel.hytale.protocol.ToClientPacket;
class="kw">import com.hypixel.hytale.protocol.packets.world.SpawnBlockParticleSystem;
class="kw">import com.hypixel.hytale.protocol.packets.world.UpdateBlockDamage;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.BlockChunk;
class="kw">import java.util.ArrayList;
class="kw">import java.util.function.Predicate;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class WorldNotificationHandler {
   @Nonnull
   class="kw">private class="kw">final World world;

   class="kw">public WorldNotificationHandler(@Nonnull World var1) {
      this.world = var1;
   }

   class="kw">public void updateChunk(long var1) {
      for (PlayerRef var4 : this.world.getPlayerRefs()) {
         var4.getChunkTracker().removeForReload(var1);
      }
   }

   class="kw">public void updateChunkTints(long var1) {
      BlockChunk var3 = this.world.getChunkStore().getChunkComponent(var1, BlockChunk.getComponentType());
      if (var3 != null) {
         ArrayList var4 = new ArrayList<>(this.world.getPlayerRefs());
         var3.getCachedTintsPacket().thenAccept(var3x -> {
            if (var3x != null) {
               for (PlayerRef var5 : var4) {
                  if (var5.getChunkTracker().isLoaded(var1)) {
                     var5.getPacketHandler().write(var3x);
                  }
               }
            }
         });
      }
   }

   class="kw">public void updateChunkEnvironments(long var1) {
      BlockChunk var3 = this.world.getChunkStore().getChunkComponent(var1, BlockChunk.getComponentType());
      if (var3 != null) {
         ArrayList var4 = new ArrayList<>(this.world.getPlayerRefs());
         var3.getCachedEnvironmentsPacket().thenAccept(var3x -> {
            if (var3x != null) {
               for (PlayerRef var5 : var4) {
                  if (var5.getChunkTracker().isLoaded(var1)) {
                     var5.getPacketHandler().write(var3x);
                  }
               }
            }
         });
      }
   }

   class="kw">public void sendBlockParticle(double var1, double var3, double var5, int var7, @Nonnull BlockParticleEvent var8) {
      this.sendPacketIfChunkLoaded(this.getBlockParticlePacket(var1, var3, var5, var7, var8), MathUtil.floor(var1), MathUtil.floor(var5));
   }

   class="kw">public void sendBlockParticle(@Nonnull PlayerRef var1, double var2, double var4, double var6, int var8, @Nonnull BlockParticleEvent var9) {
      this.sendPacketIfChunkLoaded(var1, this.getBlockParticlePacket(var2, var4, var6, var8, var9), MathUtil.floor(var2), MathUtil.floor(var6));
   }

   class="kw">public void updateBlockDamage(int var1, int var2, int var3, float var4, float var5) {
      this.sendPacketIfChunkLoaded(this.getBlockDamagePacket(var1, var2, var3, var4, var5), var1, var3);
   }

   class="kw">public void updateBlockDamage(int var1, int var2, int var3, float var4, float var5, @Nullable Predicate<PlayerRef> var6) {
      this.sendPacketIfChunkLoaded(this.getBlockDamagePacket(var1, var2, var3, var4, var5), var1, var3, var6);
   }

   class="kw">public void sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, int var2, int var3) {
      long var4 = ChunkUtil.indexChunkFromBlock(var2, var3);
      this.sendPacketIfChunkLoaded(var1, var4);
   }

   class="kw">public void sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, long var2) {
      for (PlayerRef var5 : this.world.getPlayerRefs()) {
         if (var5.getChunkTracker().isLoaded(var2)) {
            var5.getPacketHandler().write(var1);
         }
      }
   }

   class="kw">public void sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, int var2, int var3, @Nullable Predicate<PlayerRef> var4) {
      long var5 = ChunkUtil.indexChunkFromBlock(var2, var3);
      this.sendPacketIfChunkLoaded(var1, var5, var4);
   }

   class="kw">public void sendPacketIfChunkLoaded(@Nonnull ToClientPacket var1, long var2, @Nullable Predicate<PlayerRef> var4) {
      for (PlayerRef var6 : this.world.getPlayerRefs()) {
         if ((var4 == null || var4.test(var6)) && var6.getChunkTracker().isLoaded(var2)) {
            var6.getPacketHandler().write(var1);
         }
      }
   }

   class="kw">private void sendPacketIfChunkLoaded(@Nonnull PlayerRef var1, @Nonnull ToClientPacket var2, int var3, int var4) {
      long var5 = ChunkUtil.indexChunkFromBlock(var3, var4);
      this.sendPacketIfChunkLoaded(var1, var2, var5);
   }

   class="kw">private void sendPacketIfChunkLoaded(@Nonnull PlayerRef var1, @Nonnull ToClientPacket var2, long var3) {
      if (var1.getChunkTracker().isLoaded(var3)) {
         var1.getPacketHandler().write(var2);
      }
   }

   @Nonnull
   class="kw">public SpawnBlockParticleSystem getBlockParticlePacket(double var1, double var3, double var5, int var7, @Nonnull BlockParticleEvent var8) {
      class="kw">return new SpawnBlockParticleSystem(var7, var8, new Position(var1, var3, var5));
   }

   @Nonnull
   class="kw">public UpdateBlockDamage getBlockDamagePacket(int var1, int var2, int var3, float var4, float var5) {
      class="kw">return new UpdateBlockDamage(new BlockPosition(var1, var2, var3), var4, var5);
   }
}