LightingGetCommand class
Пакет: com.hypixel.hytale.server.core.command.commands.utility.lighting
Файл: com/hypixel/hytale/server/core/command/commands/utility/lighting/LightingGetCommand.java
extends: AbstractWorldCommand
Поля (17)
| Модификаторы | Тип | Имя |
|---|---|---|
|
Ref |
var11 |
|
Message |
var12 |
|
BlockSection |
var13 |
|
short |
var14 |
|
byte |
var15 |
|
byte |
var16 |
|
byte |
var17 |
|
byte |
var18 |
|
boolean |
var19 |
|
String |
var20 |
|
BlockChunk |
var21 |
|
ChunkStore |
var4 |
|
Vector3i |
var5 |
|
int |
var6 |
|
int |
var7 |
|
int |
var8 |
|
long |
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var19) |
abstract |
|
super super("get", "server.commands.light.get.desc") |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.command.commands.utility.lighting;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.math.util.ChunkUtil;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.FlagArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.RelativeIntPosition;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractWorldCommand;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.BlockChunk;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.section.BlockSection;
class="kw">import com.hypixel.hytale.server.core.universe.world.chunk.section.ChunkLightData;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.ChunkStore;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3i;
class="kw">public class LightingGetCommand class="kw">extends AbstractWorldCommand {
@Nonnull
class="kw">private class="kw">final RequiredArg<RelativeIntPosition> positionArg = this.withRequiredArg(
"x y z", "server.commands.light.get.position.desc", ArgTypes.RELATIVE_BLOCK_POSITION
);
@Nonnull
class="kw">private class="kw">final FlagArg hexFlag = this.withFlagArg("hex", "server.commands.light.get.hex.desc");
class="kw">public LightingGetCommand() {
super("get", "server.commands.light.get.desc");
}
@Override
class="kw">protected void execute(@Nonnull CommandContext var1, @Nonnull World var2, @Nonnull Store<EntityStore> var3) {
ChunkStore var4 = var2.getChunkStore();
Vector3i var5 = this.positionArg.get(var1).getBlockPosition(var1, var3);
int var6 = var5.x;
int var7 = var5.y;
int var8 = var5.z;
long var9 = ChunkUtil.indexChunkFromBlock(var6, var8);
Ref var11 = var4.getChunkReference(var9);
if (var11 != null && var11.isValid()) {
BlockChunk var21 = var4.getStore().getComponent(var11, BlockChunk.getComponentType());
assert var21 != null;
BlockSection var13 = var21.getSectionAtBlockY(var7);
short var14 = var13.getGlobalLight().getLightRaw(var6, var7, var8);
byte var15 = ChunkLightData.getLightValue(var14, 0);
byte var16 = ChunkLightData.getLightValue(var14, 1);
byte var17 = ChunkLightData.getLightValue(var14, 2);
byte var18 = ChunkLightData.getLightValue(var14, 3);
boolean var19 = this.hexFlag.get(var1);
if (var19) {
String var20 = "%08x".formatted(var14);
var1.sendMessage(
Message.translation("server.commands.light.getHex")
.param("x", var6)
.param("y", var7)
.param("z", var8)
.param("worldName", var2.getName())
.param("hex", var20)
);
} else {
var1.sendMessage(
Message.translation("server.commands.light.get")
.param("x", var6)
.param("y", var7)
.param("z", var8)
.param("worldName", var2.getName())
.param("red", var15)
.param("green", var16)
.param("blue", var17)
.param("sky", var18)
);
}
} else {
Message var12 = Message.translation("server.commands.errors.chunkNotLoaded")
.param("chunkX", ChunkUtil.chunkCoordinate(var6))
.param("chunkZ", ChunkUtil.chunkCoordinate(var8))
.param("world", var2.getName());
var1.sendMessage(var12);
}
}
}