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