KillFeedKillerEventSystem class
Пакет: com.hypixel.hytale.server.npc.systems
Файл: com/hypixel/hytale/server/npc/systems/NPCSystems.java
extends: EntityEventSystem<EntityStore, KillFeedEvent.KillerMessage>
Поля (9)
| Модификаторы | Тип | Имя |
|---|---|---|
|
private final ComponentType<EntityStore, NPCEntity> |
npcComponentType |
|
private final ComponentType<EntityStore, Player> |
playerComponentType |
|
NPCEntity |
var10 |
|
Ref |
var6 |
|
Player |
var7 |
|
Message |
var8 |
|
|
var8 |
|
|
var8 |
|
DisplayNameComponent |
var9 |
Методы (5)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public Query<EntityStore> |
getQuerypublic Query<EntityStore> getQuery() |
|
public void |
handlepublic void handle(int var1,
@Nonnull ArchetypeChunk<EntityStore> var2,
@Nonnull Store<EntityStore> var3,
@Nonnull CommandBuffer<EntityStore> var4,
@Nonnull KillFeedEvent.KillerMessage var5) |
|
|
if if(var7 == null) |
|
|
if if(var9 != null) |
abstract |
|
super super(KillFeedEvent.KillerMessage.class) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.npc.systems;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.Archetype;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
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.Ref;
class="kw">import com.hypixel.hytale.component.RemoveReason;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.SystemGroup;
class="kw">import com.hypixel.hytale.component.dependency.Dependency;
class="kw">import com.hypixel.hytale.component.dependency.Order;
class="kw">import com.hypixel.hytale.component.dependency.SystemDependency;
class="kw">import com.hypixel.hytale.component.query.Query;
class="kw">import com.hypixel.hytale.component.system.EntityEventSystem;
class="kw">import com.hypixel.hytale.component.system.HolderSystem;
class="kw">import com.hypixel.hytale.component.system.RefChangeSystem;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.component.system.WorldEventSystem;
class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.math.vector.Rotation3f;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.type.entityeffect.config.EntityEffect;
class="kw">import com.hypixel.hytale.server.core.asset.type.model.config.Model;
class="kw">import com.hypixel.hytale.server.core.entity.Frozen;
class="kw">import com.hypixel.hytale.server.core.entity.effect.EffectControllerComponent;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.event.events.ecs.BreathingCheckEvent;
class="kw">import com.hypixel.hytale.server.core.inventory.InventoryComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.EntityModule;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.BreathingComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.DisplayNameComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.FromPrefab;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.FromWorldGen;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ModelComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.MovementAudioComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.NPCMarkerComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.NewSpawnComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PositionDataComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.TransformComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.WorldGenId;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DeathComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DeathSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DeferredCorpseRemoval;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.event.KillFeedEvent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.ModelSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.teleport.Teleport;
class="kw">import com.hypixel.hytale.server.core.modules.entity.teleport.TeleportSystems;
class="kw">import com.hypixel.hytale.server.core.modules.time.WorldTimeResource;
class="kw">import com.hypixel.hytale.server.core.prefab.PrefabCopyableComponent;
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 com.hypixel.hytale.server.flock.FlockMembership;
class="kw">import com.hypixel.hytale.server.flock.FlockPlugin;
class="kw">import com.hypixel.hytale.server.npc.NPCPlugin;
class="kw">import com.hypixel.hytale.server.npc.config.balancing.BalanceAsset;
class="kw">import com.hypixel.hytale.server.npc.entities.NPCEntity;
class="kw">import com.hypixel.hytale.server.npc.role.Role;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class NPCSystems {
class="kw">public NPCSystems() {
}
class="kw">public class="kw">static class AddSpawnEntityEffectSystem class="kw">extends RefSystem<EntityStore> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType;
class="kw">public AddSpawnEntityEffectSystem(@Nonnull ComponentType<EntityStore, NPCEntity> var1) {
this.npcComponentType = var1;
}
@Override
class="kw">public void onEntityAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
NPCEntity var5 = var3.getComponent(var1, this.npcComponentType);
assert var5 != null;
EffectControllerComponent var6 = var3.getComponent(var1, EffectControllerComponent.getComponentType());
assert var6 != null;
Role var7 = var5.getRole();
if (var7 == null) {
((HytaleLogger.Api)((HytaleLogger.Api)NPCPlugin.get().getLogger().atSevere())
.withCause(new IllegalStateException("NPC has no role or role index in onLoad!")))
.log();
var4.removeEntity(var1, RemoveReason.REMOVE);
} else {
String var8 = var7.getBalanceAsset();
if (var8 != null) {
BalanceAsset var9 = BalanceAsset.getAssetMap().getAsset(var8);
if (var9 != null) {
String[] var10 = var9.getEntityEffects();
for (String var14 : var10) {
EntityEffect var15 = EntityEffect.getAssetMap().getAsset(var14);
if (var15 != null) {
var6.addEffect(var1, var15, var4);
}
}
}
}
}
}
@Override
class="kw">public void onEntityRemove(
@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return Query.and(this.npcComponentType, EffectControllerComponent.getComponentType());
}
}
class="kw">public class="kw">static class AddedFromExternalSystem class="kw">extends RefSystem<EntityStore> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType;
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, TransformComponent> transformComponentType;
@Nonnull
class="kw">private class="kw">final Set<Dependency<EntityStore>> dependencies;
@Nonnull
class="kw">private class="kw">final Query<EntityStore> query;
class="kw">public AddedFromExternalSystem(@Nonnull ComponentType<EntityStore, NPCEntity> var1) {
this.npcComponentType = var1;
this.transformComponentType = TransformComponent.getComponentType();
this.dependencies = Set.of(new SystemDependency<>(Order.AFTER, NPCSystems.AddedSystem.class));
this.query = Query.and(var1, this.transformComponentType, Query.or(FromWorldGen.getComponentType(), FromPrefab.getComponentType()));
}
@Override
class="kw">public void onEntityAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
WorldTimeResource var5 = var4.getResource(WorldTimeResource.getResourceType());
NPCEntity var6 = var3.getComponent(var1, this.npcComponentType);
assert var6 != null;
Archetype var7 = var3.getArchetype(var1);
boolean var8 = var7.contains(FromWorldGen.getComponentType());
TransformComponent var9 = var3.getComponent(var1, this.transformComponentType);
assert var9 != null;
var6.getLeashPoint().set(var9.getPosition());
Rotation3f var10 = var9.getRotation();
var6.setLeashHeading(var10.yaw());
var6.setLeashPitch(var10.pitch());
var6.setSpawnInstant(var5.getGameTime());
var6.getRole().onLoadFromWorldGenOrPrefab(var1, var6, var4);
if (var8) {
var4.tryRemoveComponent(var1, Frozen.getComponentType());
}
}
@Override
class="kw">public void onEntityRemove(
@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.query;
}
@Nonnull
@Override
class="kw">public Set<Dependency<EntityStore>> getDependencies() {
class="kw">return this.dependencies;
}
@Nullable
@Override
class="kw">public SystemGroup<EntityStore> getGroup() {
class="kw">return EntityModule.get().getPreClearMarkersGroup();
}
}
class="kw">public class="kw">static class AddedFromWorldGenSystem class="kw">extends HolderSystem<EntityStore> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, WorldGenId> worldGenIdComponentType = WorldGenId.getComponentType();
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, FromWorldGen> fromWorldGenComponentType = FromWorldGen.getComponentType();
@Nonnull
class="kw">private class="kw">final Query<EntityStore> query = Query.and(this.npcComponentType, this.fromWorldGenComponentType);
class="kw">public AddedFromWorldGenSystem() {
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.query;
}
@Nullable
@Override
class="kw">public SystemGroup<EntityStore> getGroup() {
class="kw">return EntityModule.get().getPreClearMarkersGroup();
}
@Override
class="kw">public void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3) {
FromWorldGen var4 = var1.getComponent(this.fromWorldGenComponentType);
assert var4 != null;
var1.putComponent(this.worldGenIdComponentType, new WorldGenId(var4.getWorldGenId()));
}
@Override
class="kw">public void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3) {
}
}
class="kw">public class="kw">static class AddedSystem class="kw">extends RefSystem<EntityStore> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType;
@Nonnull
class="kw">private class="kw">final Set<Dependency<EntityStore>> dependencies;
class="kw">public AddedSystem(@Nonnull ComponentType<EntityStore, NPCEntity> var1) {
this.npcComponentType = var1;
this.dependencies = Set.of(new SystemDependency<>(Order.AFTER, RoleSystems.RoleActivateSystem.class));
}
@Nonnull
@Override
class="kw">public Set<Dependency<EntityStore>> getDependencies() {
class="kw">return this.dependencies;
}
@Override
class="kw">public void onEntityAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
NPCEntity var5 = var3.getComponent(var1, this.npcComponentType);
assert var5 != null;
Role var6 = var5.getRole();
if (var6 == null) {
((HytaleLogger.Api)((HytaleLogger.Api)NPCPlugin.get().getLogger().atSevere())
.withCause(new IllegalStateException("NPC has no role or role index in onLoad!")))
.log();
var4.removeEntity(var1, RemoveReason.REMOVE);
} else {
var6.loaded(var1, var4);
var4.ensureComponent(var1, PrefabCopyableComponent.getComponentType());
var4.ensureComponent(var1, NPCMarkerComponent.getComponentType());
var4.ensureComponent(var1, PositionDataComponent.getComponentType());
var4.ensureComponent(var1, MovementAudioComponent.getComponentType());
var4.ensureComponent(var1, BreathingComponent.getComponentType());
if (var2 == AddReason.SPAWN) {
NewSpawnComponent var7 = new NewSpawnComponent(var6.getSpawnLockTime());
var4.addComponent(var1, NewSpawnComponent.getComponentType(), var7);
}
}
}
@Override
class="kw">public void onEntityRemove(
@Nonnull Ref<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
NPCEntity var5 = var3.getComponent(var1, this.npcComponentType);
assert var5 != null;
class="kw">switch (var2) {
case REMOVE:
case BUILDER_TOOLS_UNDO:
var5.getRole().removed(var1, var4);
break;
case UNLOAD:
var5.getRole().unloaded(var1, var4);
}
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.npcComponentType;
}
}
class="kw">public class="kw">static class BreathingCheckEventSystem class="kw">extends EntityEventSystem<EntityStore, BreathingCheckEvent> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
class="kw">public BreathingCheckEventSystem() {
super(BreathingCheckEvent.class);
}
class="kw">public void handle(
int var1,
@Nonnull ArchetypeChunk<EntityStore> var2,
@Nonnull Store<EntityStore> var3,
@Nonnull CommandBuffer<EntityStore> var4,
@Nonnull BreathingCheckEvent var5
) {
NPCEntity var6 = var2.getComponent(var1, this.npcComponentType);
assert var6 != null;
Role var7 = var6.getRole();
if (var7 != null) {
var5.setCanBreathe(var7.canBreathe(var5.getBreathingMaterial(), var5.getFluidId()));
}
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.npcComponentType;
}
}
class="kw">public class="kw">static class KillFeedDecedentEventSystem class="kw">extends EntityEventSystem<EntityStore, KillFeedEvent.DecedentMessage> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
class="kw">public KillFeedDecedentEventSystem() {
super(KillFeedEvent.DecedentMessage.class);
}
class="kw">public void handle(
int var1,
@Nonnull ArchetypeChunk<EntityStore> var2,
@Nonnull Store<EntityStore> var3,
@Nonnull CommandBuffer<EntityStore> var4,
@Nonnull KillFeedEvent.DecedentMessage var5
) {
var5.setCancelled(true);
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.npcComponentType;
}
}
class="kw">public class="kw">static class KillFeedKillerEventSystem class="kw">extends EntityEventSystem<EntityStore, KillFeedEvent.KillerMessage> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, Player> playerComponentType = Player.getComponentType();
class="kw">public KillFeedKillerEventSystem() {
super(KillFeedEvent.KillerMessage.class);
}
class="kw">public void handle(
int var1,
@Nonnull ArchetypeChunk<EntityStore> var2,
@Nonnull Store<EntityStore> var3,
@Nonnull CommandBuffer<EntityStore> var4,
@Nonnull KillFeedEvent.KillerMessage var5
) {
Ref var6 = var5.getTargetRef();
if (var6.isValid()) {
Player var7 = var3.getComponent(var6, this.playerComponentType);
if (var7 == null) {
var5.setCancelled(true);
} else {
DisplayNameComponent var9 = var2.getComponent(var1, DisplayNameComponent.getComponentType());
Message var8;
if (var9 != null) {
var8 = var9.getDisplayName();
} else {
NPCEntity var10 = var2.getComponent(var1, this.npcComponentType);
assert var10 != null;
var8 = Message.raw(var10.getRoleName());
}
var5.setMessage(var8);
}
}
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.npcComponentType;
}
}
@Deprecated(forRemoval = true)
class="kw">public class="kw">static class LegacyWorldGenId class="kw">extends HolderSystem<EntityStore> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, WorldGenId> worldGenIdComponentType = WorldGenId.getComponentType();
@Nonnull
class="kw">private class="kw">final Query<EntityStore> query = Query.and(
this.npcComponentType, Query.not(this.worldGenIdComponentType), Query.not(FromWorldGen.getComponentType())
);
class="kw">public LegacyWorldGenId() {
}
@Override
class="kw">public void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3) {
NPCEntity var4 = var1.getComponent(this.npcComponentType);
assert var4 != null;
int var5 = var4.getLegacyWorldgenId();
if (var5 != 0) {
var1.addComponent(this.worldGenIdComponentType, new WorldGenId(var5));
}
}
@Override
class="kw">public void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3) {
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.query;
}
}
class="kw">public class="kw">static class ModelChangeSystem class="kw">extends RefChangeSystem<EntityStore, ModelComponent> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, ModelComponent> modelComponentType = ModelComponent.getComponentType();
@Nullable
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
@Nonnull
class="kw">private class="kw">final Set<Dependency<EntityStore>> dependencies = Set.of(new SystemDependency<>(Order.AFTER, ModelSystems.UpdateBoundingBox.class));
class="kw">public ModelChangeSystem() {
}
@Nullable
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.npcComponentType;
}
@Nonnull
@Override
class="kw">public Set<Dependency<EntityStore>> getDependencies() {
class="kw">return this.dependencies;
}
@Nonnull
@Override
class="kw">public ComponentType<EntityStore, ModelComponent> componentType() {
class="kw">return this.modelComponentType;
}
class="kw">public void onComponentAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull ModelComponent var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
Model var5 = var2.getModel();
NPCEntity var6 = var3.getComponent(var1, this.npcComponentType);
assert var6 != null;
var6.getRole().updateMotionControllers(var1, var5, var5.getBoundingBox(), var4);
}
class="kw">public void onComponentSet(
@Nonnull Ref<EntityStore> var1,
ModelComponent var2,
@Nonnull ModelComponent var3,
@Nonnull Store<EntityStore> var4,
@Nonnull CommandBuffer<EntityStore> var5
) {
Model var6 = var3.getModel();
NPCEntity var7 = var4.getComponent(var1, this.npcComponentType);
assert var7 != null;
var7.getRole().updateMotionControllers(var1, var6, var6.getBoundingBox(), var5);
}
class="kw">public void onComponentRemoved(
@Nonnull Ref<EntityStore> var1, @Nonnull ModelComponent var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
NPCEntity var5 = var3.getComponent(var1, this.npcComponentType);
assert var5 != null;
var5.getRole().updateMotionControllers(var1, null, null, var4);
}
}
class="kw">public class="kw">static class OnDeathSystem class="kw">extends DeathSystems.OnDeathSystem {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, DeferredCorpseRemoval> deferredCorpseRemovalComponentType = DeferredCorpseRemoval.getComponentType();
class="kw">public OnDeathSystem() {
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.npcComponentType;
}
class="kw">public void onComponentAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull DeathComponent var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
NPCEntity var5 = var4.getComponent(var1, this.npcComponentType);
assert var5 != null;
Role var6 = var5.getRole();
if (var6 != null) {
double var7 = var6.getDeathAnimationTime();
if (var7 > 0.0) {
var4.addComponent(var1, this.deferredCorpseRemovalComponentType, new DeferredCorpseRemoval(var7, var6.getDeathParticles()));
}
}
}
}
class="kw">public class="kw">static class OnNPCAdded class="kw">extends HolderSystem<EntityStore> {
class="kw">public OnNPCAdded() {
}
@Override
class="kw">public void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3) {
NPCEntity var4 = var1.getComponent(NPCEntity.getComponentType());
assert var4 != null;
var4.getInventory().migrateToComponents(var1);
if (!var1.getArchetype().contains(InventoryComponent.Storage.getComponentType())) {
var1.addComponent(InventoryComponent.Storage.getComponentType(), new InventoryComponent.Storage((short)0));
}
if (!var1.getArchetype().contains(InventoryComponent.Armor.getComponentType())) {
var1.addComponent(InventoryComponent.Armor.getComponentType(), new InventoryComponent.Armor(InventoryComponent.DEFAULT_ARMOR_CAPACITY));
}
if (!var1.getArchetype().contains(InventoryComponent.Hotbar.getComponentType())) {
var1.addComponent(InventoryComponent.Hotbar.getComponentType(), new InventoryComponent.Hotbar((short)3));
}
if (!var1.getArchetype().contains(InventoryComponent.Utility.getComponentType())) {
var1.addComponent(InventoryComponent.Utility.getComponentType(), new InventoryComponent.Utility((short)0));
}
var4.getInventory().backwardsCompatHook(var1);
}
@Override
class="kw">public void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3) {
}
@Nullable
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return NPCEntity.getComponentType();
}
}
class="kw">public class="kw">static class OnTeleportSystem class="kw">extends RefChangeSystem<EntityStore, Teleport> {
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, NPCEntity> npcComponentType = NPCEntity.getComponentType();
@Nonnull
class="kw">private class="kw">final ComponentType<EntityStore, Teleport> teleportComponentType = Teleport.getComponentType();
@Nonnull
class="kw">private class="kw">final Set<Dependency<EntityStore>> dependencies = Set.of(new SystemDependency<>(Order.AFTER, TeleportSystems.MoveSystem.class));
class="kw">public OnTeleportSystem() {
}
@Nonnull
@Override
class="kw">public Set<Dependency<EntityStore>> getDependencies() {
class="kw">return this.dependencies;
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.npcComponentType;
}
@Nonnull
@Override
class="kw">public ComponentType<EntityStore, Teleport> componentType() {
class="kw">return this.teleportComponentType;
}
class="kw">public void onComponentAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull Teleport var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
NPCEntity var5 = var4.getComponent(var1, this.npcComponentType);
assert var5 != null;
World var6 = var3.getExternalData().getWorld();
World var7 = var2.getWorld();
Role var8 = var5.getRole();
assert var8 != null;
var8.teleported(var1, var4, var6, var7 == null ? var6 : var7);
}
class="kw">public void onComponentSet(
@Nonnull Ref<EntityStore> var1, Teleport var2, @Nonnull Teleport var3, @Nonnull Store<EntityStore> var4, @Nonnull CommandBuffer<EntityStore> var5
) {
}
class="kw">public void onComponentRemoved(
@Nonnull Ref<EntityStore> var1, @Nonnull Teleport var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
}
}
class="kw">public class="kw">static class PrefabPlaceEntityEventSystem class="kw">extends WorldEventSystem<EntityStore, PrefabPlaceEntityEvent> {
class="kw">public PrefabPlaceEntityEventSystem() {
super(PrefabPlaceEntityEvent.class);
}
class="kw">public void handle(@Nonnull Store<EntityStore> var1, @Nonnull CommandBuffer<EntityStore> var2, @Nonnull PrefabPlaceEntityEvent var3) {
Holder var4 = var3.getHolder();
FlockMembership var5 = var4.getComponent(FlockMembership.getComponentType());
if (var5 != null) {
UUID var6 = FlockPlugin.get().getPrefabRemappedFlockReference(var3.getPrefabId(), var5.getFlockId());
var5.setFlockId(var6);
NPCEntity var7 = var4.getComponent(NPCEntity.getComponentType());
assert var7 != null;
var7.markNeedsSave();
}
}
}
}