LaserPointerOperation class
Пакет: com.hypixel.hytale.builtin.buildertools.tooloperations
Файл: com/hypixel/hytale/builtin/buildertools/tooloperations/LaserPointerOperation.java
extends: ToolOperation
Поля (17)
| Модификаторы | Тип | Имя |
|---|---|---|
final |
double |
MAX_DISTANCE |
|
NetworkId |
var10 |
|
int |
var11 |
|
Transform |
var12 |
|
Vector3d |
var13 |
|
Vector3d |
var14 |
|
Vector3d |
var15 |
|
Vector3d |
var16 |
|
BuilderToolLaserPointer |
var17 |
|
String |
var6 |
|
int |
var7 |
|
|
var7 |
|
Object |
var8 |
|
int |
var9 |
|
|
var9 |
|
|
var9 |
|
|
var9 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
if if(var8 instanceof Integer) |
abstract |
|
super super(var1, var4, var5) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.buildertools.tooloperations;
class="kw">import com.hypixel.hytale.component.ComponentAccessor;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.math.vector.Transform;
class="kw">import com.hypixel.hytale.protocol.packets.buildertools.BuilderToolLaserPointer;
class="kw">import com.hypixel.hytale.protocol.packets.buildertools.BuilderToolOnUseInteraction;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.util.ColorParseUtil;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.modules.entity.tracker.NetworkId;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.PlayerUtil;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import com.hypixel.hytale.server.core.util.TargetUtil;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class LaserPointerOperation class="kw">extends ToolOperation {
class="kw">private class="kw">static class="kw">final double MAX_DISTANCE = 128.0;
class="kw">public LaserPointerOperation(
@Nonnull Ref<EntityStore> var1,
@Nonnull Player var2,
@Nonnull PlayerRef var3,
@Nonnull BuilderToolOnUseInteraction var4,
@Nonnull ComponentAccessor<EntityStore> var5
) {
super(var1, var4, var5);
String var6 = (String)this.args.tool().get("LaserColor");
int var7;
try {
var7 = ColorParseUtil.hexStringToRGBInt(var6);
} catch (NumberFormatException var19) {
var3.sendMessage(Message.translation("server.builderTools.laserPointer.colorParseError").param("value", var6));
throw var19;
}
Object var8 = this.args.tool().get("Duration");
int var9;
if (var8 class="kw">instanceof Integer) {
var9 = (Integer)var8;
} else if (var8 class="kw">instanceof String) {
try {
var9 = Integer.parseInt((String)var8);
} catch (NumberFormatException var18) {
var3.sendMessage(Message.translation("server.builderTools.laserPointer.durationParseError").param("value", String.valueOf(var8)));
throw var18;
}
} else {
var9 = 300;
}
NetworkId var10 = var5.getComponent(var1, NetworkId.getComponentType());
assert var10 != null;
int var11 = var10.getId();
Transform var12 = TargetUtil.getLook(var1, var5);
Vector3d var13 = var12.getPosition();
Vector3d var14 = var12.getDirection();
Vector3d var15 = TargetUtil.getTargetLocation(var1, var0 -> var0 != 0, 128.0, var5);
Vector3d var16 = var15 != null ? var15 : new Vector3d(var13).add(new Vector3d(var14).mul(128.0));
BuilderToolLaserPointer var17 = new BuilderToolLaserPointer();
var17.playerNetworkId = var11;
var17.startX = (float)var13.x;
var17.startY = (float)var13.y;
var17.startZ = (float)var13.z;
var17.endX = (float)var16.x;
var17.endY = (float)var16.y;
var17.endZ = (float)var16.z;
var17.color = var7;
var17.durationMs = var9;
PlayerUtil.broadcastPacketToPlayers(var5, var17);
}
@Override
class="kw">public boolean showEditNotification() {
class="kw">return false;
}
@Override
class="kw">public void execute(ComponentAccessor<EntityStore> var1) {
}
@Override
class="kw">protected boolean executeBlock(int var1, int var2, int var3) {
class="kw">return false;
}
}