PointPasteHandler class
Пакет: com.hypixel.hytale.builtin.points.prefab
Файл: com/hypixel/hytale/builtin/points/prefab/PointPasteHandler.java
extends: WorldEventSystem<EntityStore, PrefabPlaceEntityEvent>
Поля (13)
| Модификаторы | Тип | Имя |
|---|---|---|
|
|
return |
|
|
return |
|
|
return |
|
Vector3d |
var10 |
|
String |
var11 |
|
PointEntry |
var12 |
|
Holder |
var4 |
|
Point |
var5 |
|
PointManager |
var6 |
|
|
var6 |
|
TransformComponent |
var7 |
|
World |
var8 |
|
String |
var9 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
public |
void |
handlevoid handle(@Nonnull Store<EntityStore> var1, @Nonnull CommandBuffer<EntityStore> var2, @Nonnull PrefabPlaceEntityEvent var3) |
|
|
if if(var5 != null) |
|
|
if if(var6 == null) |
|
|
if if(var8 == null) |
abstract |
|
super super(PrefabPlaceEntityEvent.class) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.builtin.points.prefab;
class="kw">import com.hypixel.hytale.builtin.points.component.Point;
class="kw">import com.hypixel.hytale.builtin.points.manager.PointEntry;
class="kw">import com.hypixel.hytale.builtin.points.manager.PointManager;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentType;
class="kw">import com.hypixel.hytale.component.Holder;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.system.WorldEventSystem;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.prefab.event.PrefabPlaceEntityEvent;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import java.util.Locale;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;
class="kw">import org.joml.Vector3d;
class="kw">public class PointPasteHandler class="kw">extends WorldEventSystem<EntityStore, PrefabPlaceEntityEvent> {
@Nonnull
class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();
class="kw">private class="kw">final ResourceType<EntityStore, PointManager> managerResourceType;
class="kw">private class="kw">final ComponentType<EntityStore, Point> pointComponentType;
class="kw">public PointPasteHandler(@Nonnull ResourceType<EntityStore, PointManager> var1, @Nonnull ComponentType<EntityStore, Point> var2) {
super(PrefabPlaceEntityEvent.class);
this.managerResourceType = var1;
this.pointComponentType = var2;
}
class="kw">public void handle(@Nonnull Store<EntityStore> var1, @Nonnull CommandBuffer<EntityStore> var2, @Nonnull PrefabPlaceEntityEvent var3) {
Holder var4 = var3.getHolder();
Point var5 = var4.getComponent(this.pointComponentType);
if (var5 != null) {
var3.setCancelled(true);
PointManager var6 = null;
try {
TransformComponent var7 = var4.getComponent(TransformComponent.getComponentType());
if (var7 == null || var7.getPosition() == null) {
class="kw">return;
}
var6 = var1.getResource(this.managerResourceType);
if (var6 == null) {
class="kw">return;
}
World var8 = var6.getWorld();
if (var8 == null) {
class="kw">return;
}
String var9 = var8.getName().toLowerCase(Locale.ROOT);
Vector3d var10 = new Vector3d(var7.getPosition());
String var11 = var6.generateUniquePointId();
PointEntry var12 = var5.toPointEntry(var11, var9, var10, var7.getRotation().yaw());
var6.register(var11, var12);
var6.notifyViewersAdd(var12);
var6.markSpatialDirty();
} catch (Exception var13) {
((HytaleLogger.Api)LOGGER.at(Level.WARNING).withCause(var13)).log("Skipping malformed point prefab entity");
}
}
}
}