MigrationSystem class
Пакет: com.hypixel.hytale.server.core.modules.entity
Файл: com/hypixel/hytale/server/core/modules/entity/EntityModule.java
extends: HolderSystem<EntityStore>
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.modules.entity;
class="kw">import com.hypixel.hytale.assetstore.AssetRegistry;
class="kw">import com.hypixel.hytale.assetstore.event.LoadedAssetsEvent;
class="kw">import com.hypixel.hytale.assetstore.map.DefaultAssetMap;
class="kw">import com.hypixel.hytale.assetstore.map.IndexedLookupTableAssetMap;
class="kw">import com.hypixel.hytale.codec.DirectDecodeCodec;
class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.common.plugin.PluginManifest;
class="kw">import com.hypixel.hytale.component.AddReason;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.ComponentRegistryProxy;
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.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.SystemGroup;
class="kw">import com.hypixel.hytale.component.SystemType;
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.RootDependency;
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.spatial.KDTree;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.component.system.HolderSystem;
class="kw">import com.hypixel.hytale.component.system.ISystem;
class="kw">import com.hypixel.hytale.component.system.RefChangeSystem;
class="kw">import com.hypixel.hytale.component.system.RefSystem;
class="kw">import com.hypixel.hytale.protocol.packets.player.UpdateMovementSettings;
class="kw">import com.hypixel.hytale.server.core.HytaleServer;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.asset.HytaleAssetStore;
class="kw">import com.hypixel.hytale.server.core.asset.type.gameplay.GameplayConfig;
class="kw">import com.hypixel.hytale.server.core.entity.Dirty;
class="kw">import com.hypixel.hytale.server.core.entity.Entity;
class="kw">import com.hypixel.hytale.server.core.entity.EntityRemovalSystem;
class="kw">import com.hypixel.hytale.server.core.entity.EntitySavingSystem;
class="kw">import com.hypixel.hytale.server.core.entity.EntityUtils;
class="kw">import com.hypixel.hytale.server.core.entity.Frozen;
class="kw">import com.hypixel.hytale.server.core.entity.UUIDComponent;
class="kw">import com.hypixel.hytale.server.core.entity.damage.DamageDataComponent;
class="kw">import com.hypixel.hytale.server.core.entity.damage.DamageDataSetupSystem;
class="kw">import com.hypixel.hytale.server.core.entity.effect.EffectControllerComponent;
class="kw">import com.hypixel.hytale.server.core.entity.entities.BlockEntity;
class="kw">import com.hypixel.hytale.server.core.entity.entities.Player;
class="kw">import com.hypixel.hytale.server.core.entity.entities.ProjectileComponent;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.CameraManager;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.data.UniqueItemUsagesComponent;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.movement.MovementConfig;
class="kw">import com.hypixel.hytale.server.core.entity.entities.player.movement.MovementManager;
class="kw">import com.hypixel.hytale.server.core.entity.group.EntityGroup;
class="kw">import com.hypixel.hytale.server.core.entity.knockback.KnockbackComponent;
class="kw">import com.hypixel.hytale.server.core.entity.movement.MovementStatesComponent;
class="kw">import com.hypixel.hytale.server.core.entity.movement.MovementStatesSystems;
class="kw">import com.hypixel.hytale.server.core.entity.nameplate.Nameplate;
class="kw">import com.hypixel.hytale.server.core.entity.nameplate.NameplateSystems;
class="kw">import com.hypixel.hytale.server.core.entity.reference.PersistentRefCount;
class="kw">import com.hypixel.hytale.server.core.inventory.InventoryComponent;
class="kw">import com.hypixel.hytale.server.core.inventory.InventorySystems;
class="kw">import com.hypixel.hytale.server.core.io.PacketHandler;
class="kw">import com.hypixel.hytale.server.core.modules.collision.CollisionModule;
class="kw">import com.hypixel.hytale.server.core.modules.collision.TangiableEntitySpatialSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ActiveAnimationComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.AudioComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.BoundingBox;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.BreathingComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.CachedStatsComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.CollisionResultComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.DisplayNameComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.DynamicLight;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.EntityScaleComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.FromPrefab;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.FromPrefabInstance;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.FromWorldGen;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.HeadRotation;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.HealthRegenState;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.HiddenFromAdventurePlayers;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Intangible;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Interactable;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Invulnerable;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ModelComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.ModelRotateBoundingBoxComponent;
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.PersistentDisplayName;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PersistentDynamicLight;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PersistentGameModeType;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PersistentModel;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PersistentPrefabPreview;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PlayerLives;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PositionDataComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PrefabPreview;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PreventEmotes;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PreventInventoryAccess;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.PropComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.RespondToHit;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.RotateObjectComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.SnapshotBuffer;
class="kw">import com.hypixel.hytale.server.core.modules.entity.component.Spectating;
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.condition.AliveCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.ChargingCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.CheckPlayerGameModeCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.Condition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.EnvironmentCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.GlidingCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.HasEffectCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.InFluidCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.IsPlayerCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.LogicCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.NoDamageTakenCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.OutOfCombatCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.RegenHealthCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.SprintingCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.StatCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.SuffocatingCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.condition.WieldingCondition;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DamageCause;
class="kw">import com.hypixel.hytale.server.core.modules.entity.damage.DamageSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.dynamiclight.DynamicLightSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.gamemode.GameModeTypeSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.hitboxcollision.HitboxCollision;
class="kw">import com.hypixel.hytale.server.core.modules.entity.hitboxcollision.HitboxCollisionConfig;
class="kw">import com.hypixel.hytale.server.core.modules.entity.hitboxcollision.HitboxCollisionConfigPacketGenerator;
class="kw">import com.hypixel.hytale.server.core.modules.entity.hitboxcollision.HitboxCollisionSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.DropItemsComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.DropItemsSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.ItemComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.ItemMergeSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.ItemPhysicsComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.ItemPhysicsSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.ItemPrePhysicsSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.ItemSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.PickupItemComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.PickupItemSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.PreventItemMerging;
class="kw">import com.hypixel.hytale.server.core.modules.entity.item.PreventPickup;
class="kw">import com.hypixel.hytale.server.core.modules.entity.livingentity.LivingEntityEffectClearChangesSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.livingentity.LivingEntityEffectSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.ApplyRandomSkinPersistedComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.ChunkTracker;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.CreativeEraserSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.KnockbackPredictionSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.KnockbackSimulation;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerCameraAddSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerChunkTrackerSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerHudManagerSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerInput;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerItemEntityPickupSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerMovementManagerSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerProcessMovementSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerSavingSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerSendInventorySystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerSettings;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerSkinComponent;
class="kw">import com.hypixel.hytale.server.core.modules.entity.player.PlayerSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.prefabpreview.PrefabPreviewSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.repulsion.Repulsion;
class="kw">import com.hypixel.hytale.server.core.modules.entity.repulsion.RepulsionConfig;
class="kw">import com.hypixel.hytale.server.core.modules.entity.repulsion.RepulsionConfigPacketGenerator;
class="kw">import com.hypixel.hytale.server.core.modules.entity.repulsion.RepulsionSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.spectator.SpectatorSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.AudioSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.DisplayNameSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.EntityInteractableSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.EntitySpatialSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.EntitySystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.HideEntitySystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.IntangibleSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.InvulnerableSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.ItemSpatialSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.MarkerReplicationSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.ModelSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.NetworkSendableSpatialSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.PlayerCollisionResultAddSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.PlayerSpatialSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.PreventEmotesSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.PreventInventoryAccessSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.RespondToHitSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.RotateObjectSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.SnapshotSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.TransformSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.UpdateEntitySeedSystem;
class="kw">import com.hypixel.hytale.server.core.modules.entity.system.UpdateLocationSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.teleport.PendingTeleport;
class="kw">import com.hypixel.hytale.server.core.modules.entity.teleport.Teleport;
class="kw">import com.hypixel.hytale.server.core.modules.entity.teleport.TeleportRecord;
class="kw">import com.hypixel.hytale.server.core.modules.entity.teleport.TeleportSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.tracker.EntityTrackerSystems;
class="kw">import com.hypixel.hytale.server.core.modules.entity.tracker.NetworkId;
class="kw">import com.hypixel.hytale.server.core.modules.physics.component.PhysicsValues;
class="kw">import com.hypixel.hytale.server.core.modules.physics.component.Velocity;
class="kw">import com.hypixel.hytale.server.core.modules.physics.systems.GenericVelocityInstructionSystem;
class="kw">import com.hypixel.hytale.server.core.modules.physics.systems.IVelocityModifyingSystem;
class="kw">import com.hypixel.hytale.server.core.modules.physics.systems.PhysicsValuesAddSystem;
class="kw">import com.hypixel.hytale.server.core.modules.physics.systems.VelocitySystems;
class="kw">import com.hypixel.hytale.server.core.modules.serverplayerlist.ServerPlayerListSystems;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPlugin;
class="kw">import com.hypixel.hytale.server.core.plugin.JavaPluginInit;
class="kw">import com.hypixel.hytale.server.core.plugin.PluginState;
class="kw">import com.hypixel.hytale.server.core.prefab.PrefabCopyableComponent;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.Universe;
class="kw">import com.hypixel.hytale.server.core.universe.hardcore.HardcoreGameOver;
class="kw">import com.hypixel.hytale.server.core.universe.hardcore.HardcoreLivesHud;
class="kw">import com.hypixel.hytale.server.core.universe.hardcore.HardcoreState;
class="kw">import com.hypixel.hytale.server.core.universe.resources.UniverseResourceType;
class="kw">import com.hypixel.hytale.server.core.universe.system.PlayerVelocityInstructionSystem;
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.Collections;
class="kw">import java.util.Map;
class="kw">import java.util.Set;
class="kw">import java.util.UUID;
class="kw">import java.util.concurrent.ConcurrentHashMap;
class="kw">import java.util.function.Function;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">public class EntityModule class="kw">extends JavaPlugin {
class="kw">public class="kw">static class="kw">final PluginManifest MANIFEST = PluginManifest.corePlugin(EntityModule.class).depends(Universe.class).depends(CollisionModule.class).build();
class="kw">public class="kw">static class="kw">final String MOUNT_MOVEMENT_SETTINGS_ASSET_ID = "Mount";
class="kw">private class="kw">static EntityModule instance;
class="kw">private class="kw">final Map<String, Class<? class="kw">extends Entity>> idMap = new ConcurrentHashMap<>();
class="kw">private class="kw">final Map<Class<? class="kw">extends Entity>, String> classIdMap = new ConcurrentHashMap<>();
class="kw">private class="kw">final Map<Class<? class="kw">extends Entity>, Function<World, ? class="kw">extends Entity>> classMap = new ConcurrentHashMap<>();
class="kw">private class="kw">final Map<Class<? class="kw">extends Entity>, DirectDecodeCodec<? class="kw">extends Entity>> codecMap = new ConcurrentHashMap<>();
@Deprecated
class="kw">private class="kw">final Map<Class<? class="kw">extends Entity>, ComponentType<EntityStore, ? class="kw">extends Entity>> classToComponentType = new ConcurrentHashMap<>();
class="kw">private ComponentType<EntityStore, UUIDComponent> uuidComponentType;
class="kw">private ComponentType<EntityStore, TransformComponent> transformComponentType;
class="kw">private ComponentType<EntityStore, HeadRotation> headRotationComponentType;
class="kw">private ComponentType<EntityStore, NetworkId> networkIdComponentType;
class="kw">private ComponentType<EntityStore, EntityScaleComponent> entityScaleComponentType;
class="kw">private ComponentType<EntityStore, Player> playerComponentType;
class="kw">private ComponentType<EntityStore, MovementManager> movementManagerComponentType;
class="kw">private ComponentType<EntityStore, CameraManager> cameraManagerComponentType;
class="kw">private ComponentType<EntityStore, Frozen> frozenComponentType;
class="kw">private ComponentType<EntityStore, CollisionResultComponent> collisionResultComponentType;
class="kw">private ComponentType<EntityStore, ChunkTracker> chunkTrackerComponentType;
class="kw">private ComponentType<EntityStore, ProjectileComponent> projectileComponentType;
class="kw">private ComponentType<EntityStore, BlockEntity> blockEntityComponentType;
class="kw">private ComponentType<EntityStore, EffectControllerComponent> effectControllerComponentType;
class="kw">private ComponentType<EntityStore, RotateObjectComponent> rotateObjectComponentType;
class="kw">private ComponentType<EntityStore, Dirty> dirtyComponentType;
class="kw">private ComponentType<EntityStore, ModelComponent> modelComponentType;
class="kw">private ComponentType<EntityStore, ModelRotateBoundingBoxComponent> modelRotateBoundingBoxComponentType;
class="kw">private ComponentType<EntityStore, PersistentModel> persistentModelComponentType;
class="kw">private ComponentType<EntityStore, PropComponent> propComponentType;
class="kw">private ComponentType<EntityStore, NPCMarkerComponent> npcMarkerComponentType;
class="kw">private ComponentType<EntityStore, BoundingBox> boundingBoxComponentType;
class="kw">private ComponentType<EntityStore, PlayerSkinComponent> playerSkinComponentType;
class="kw">private ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> playerSpatialResourceType;
class="kw">private ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> entitySpatialResourceType;
class="kw">private ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> itemSpatialResourceType;
class="kw">private ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> networkSendableSpatialResourceType;
class="kw">private ComponentType<EntityStore, DisplayNameComponent> displayNameComponentType;
class="kw">private ComponentType<EntityStore, PersistentDisplayName> persistentDisplayNameComponentType;
class="kw">private ComponentType<EntityStore, EntityGroup> entityGroupComponentType;
class="kw">private ComponentType<EntityStore, MovementStatesComponent> movementStatesComponentType;
class="kw">private ComponentType<EntityStore, DamageDataComponent> damageDataComponentType;
class="kw">private ComponentType<EntityStore, KnockbackComponent> knockbackComponentType;
class="kw">private ComponentType<EntityStore, DespawnComponent> despawnComponentComponentType;
class="kw">private ComponentType<EntityStore, EntityTrackerSystems.EntityViewer> entityViewerComponentType;
class="kw">private ComponentType<EntityStore, EntityTrackerSystems.Visible> visibleComponentType;
class="kw">private ResourceType<EntityStore, SnapshotSystems.SnapshotWorldInfo> snapshotWorldInfoResourceType;
class="kw">private ComponentType<EntityStore, SnapshotBuffer> snapshotBufferComponentType;
class="kw">private ComponentType<EntityStore, PersistentRefCount> persistentRefCountComponentType;
class="kw">private ComponentType<EntityStore, Velocity> velocityComponentType;
class="kw">private ComponentType<EntityStore, PhysicsValues> physicsValuesComponentType;
class="kw">private ComponentType<EntityStore, FromPrefab> fromPrefabComponentType;
class="kw">private ComponentType<EntityStore, FromWorldGen> fromWorldGenComponentType;
class="kw">private ComponentType<EntityStore, FromPrefabInstance> fromPrefabInstanceComponentType;
class="kw">private ComponentType<EntityStore, WorldGenId> worldGenIdComponentType;
class="kw">private ComponentType<EntityStore, Interactable> interactableComponentType;
class="kw">private ComponentType<EntityStore, Intangible> intangibleComponentType;
class="kw">private ComponentType<EntityStore, PreventInventoryAccess> preventInventoryAccessComponentType;
class="kw">private ComponentType<EntityStore, PreventEmotes> preventEmotesComponentType;
class="kw">private ComponentType<EntityStore, PreventPickup> preventPickupComponentType;
class="kw">private ComponentType<EntityStore, Invulnerable> invulnerableComponentType;
class="kw">private ComponentType<EntityStore, RespondToHit> respondToHitComponentType;
class="kw">private ResourceType<EntityStore, MarkerReplicationSystems.QueueResource> markerReplicationQueueResourceType;
class="kw">private ComponentType<EntityStore, HiddenFromAdventurePlayers> hiddenFromAdventurePlayerComponentType;
class="kw">private ComponentType<EntityStore, Spectating> spectatingComponentType;
class="kw">private ComponentType<EntityStore, PersistentGameModeType> persistentGameModeTypeComponentType;
class="kw">private ComponentType<EntityStore, PlayerLives> playerLivesComponentType;
class="kw">private UniverseResourceType<HardcoreState> hardcoreStateResourceType;
class="kw">private ComponentType<EntityStore, Nameplate> nameplateComponentType;
class="kw">private ComponentType<EntityStore, HitboxCollision> hitboxCollisionComponentType;
class="kw">private ComponentType<EntityStore, Repulsion> repulsionComponentType;
class="kw">private ComponentType<EntityStore, Teleport> teleportComponentType;
class="kw">private ComponentType<EntityStore, PendingTeleport> pendingTeleportComponentType;
class="kw">private ComponentType<EntityStore, TeleportRecord> teleportRecordComponentType;
class="kw">private ComponentType<EntityStore, ApplyRandomSkinPersistedComponent> applyRandomSkinPersistedComponent;
class="kw">private SystemGroup<EntityStore> preClearMarkersGroup;
class="kw">private ComponentType<EntityStore, PlayerInput> playerInputComponentType;
class="kw">private ComponentType<EntityStore, KnockbackSimulation> knockbackSimulationComponentType;
class="kw">private ComponentType<EntityStore, PlayerSettings> playerSettingsComponentType;
class="kw">private SystemType<EntityStore, EntityModule.MigrationSystem> migrationSystemType;
class="kw">private SystemType<EntityStore, ? class="kw">extends ISystem<EntityStore>> velocityModifyingSystemType;
class="kw">private ComponentType<EntityStore, AudioComponent> audioComponentType;
class="kw">private ComponentType<EntityStore, MovementAudioComponent> movementAudioComponentType;
class="kw">private ComponentType<EntityStore, PositionDataComponent> positionDataComponentType;
class="kw">private ComponentType<EntityStore, ActiveAnimationComponent> activeAnimationComponentType;
class="kw">private ComponentType<EntityStore, CachedStatsComponent> cachedStatsComponentType;
class="kw">private ComponentType<EntityStore, BreathingComponent> breathingComponentType;
class="kw">private ComponentType<EntityStore, NewSpawnComponent> newSpawnComponentType;
class="kw">private ComponentType<EntityStore, ItemComponent> itemComponentType;
class="kw">private ComponentType<EntityStore, PickupItemComponent> pickupItemComponentType;
class="kw">private ComponentType<EntityStore, PreventItemMerging> preventItemMergingType;
class="kw">private ComponentType<EntityStore, ItemPhysicsComponent> itemPhysicsComponentType;
class="kw">private ComponentType<EntityStore, DynamicLight> dynamicLightComponentType;
class="kw">private ComponentType<EntityStore, PersistentDynamicLight> persistentDynamicLightComponentType;
class="kw">private ComponentType<EntityStore, PrefabPreview> prefabPreviewComponentType;
class="kw">private ComponentType<EntityStore, PersistentPrefabPreview> persistentPrefabPreviewComponentType;
class="kw">private ComponentType<EntityStore, PrefabCopyableComponent> prefabCopyableComponentType;
class="kw">private ComponentType<EntityStore, UniqueItemUsagesComponent> uniqueItemUsagesComponentType;
class="kw">private ComponentType<EntityStore, InventoryComponent.Storage> storageInventoryComponentType;
class="kw">private ComponentType<EntityStore, InventoryComponent.Armor> armorInventoryComponentType;
class="kw">private ComponentType<EntityStore, InventoryComponent.Hotbar> hotbarInventoryComponentType;
class="kw">private ComponentType<EntityStore, InventoryComponent.Utility> utilityInventoryComponentType;
class="kw">private ComponentType<EntityStore, InventoryComponent.Backpack> backpackInventoryComponentType;
class="kw">private ComponentType<EntityStore, InventoryComponent.Tool> toolInventoryComponentType;
class="kw">private ComponentType<EntityStore, InventoryComponent.Combined> combinedInventoryComponentType;
class="kw">private ComponentType<EntityStore, DropItemsComponent> dropItemsComponentType;
class="kw">private ComponentType<EntityStore, HealthRegenState> healthRegenStateComponentType;
class="kw">public class="kw">static EntityModule get() {
class="kw">return instance;
}
class="kw">public EntityModule(@Nonnull JavaPluginInit var1) {
super(var1);
instance = this;
}
@Override
class="kw">protected void setup() {
ComponentRegistryProxy var1 = this.getEntityStoreRegistry();
this.physicsValuesComponentType = var1.registerComponent(PhysicsValues.class, PhysicsValues::new);
this.velocityComponentType = var1.registerComponent(Velocity.class, "Velocity", Velocity.CODEC);
this.migrationSystemType = var1.registerSystemType(EntityModule.MigrationSystem.class);
this.velocityModifyingSystemType = var1.registerSystemType(IVelocityModifyingSystem.class);
this.boundingBoxComponentType = var1.registerComponent(BoundingBox.class, BoundingBox::new);
this.entityScaleComponentType = var1.registerComponent(EntityScaleComponent.class, "EntityScale", EntityScaleComponent.CODEC);
this.dirtyComponentType = var1.registerComponent(Dirty.class, Dirty::new);
this.transformComponentType = var1.registerComponent(TransformComponent.class, "Transform", TransformComponent.CODEC);
this.headRotationComponentType = var1.registerComponent(HeadRotation.class, "HeadRotation", HeadRotation.CODEC);
this.uuidComponentType = var1.registerComponent(UUIDComponent.class, "UUID", UUIDComponent.CODEC);
this.collisionResultComponentType = var1.registerComponent(CollisionResultComponent.class, CollisionResultComponent::new);
this.networkIdComponentType = var1.registerComponent(NetworkId.class, () -> {
throw new UnsupportedOperationException("Not implemented");
});
this.rotateObjectComponentType = var1.registerComponent(RotateObjectComponent.class, "RotateObject", RotateObjectComponent.CODEC);
this.effectControllerComponentType = var1.registerComponent(EffectControllerComponent.class, "EffectController", EffectControllerComponent.CODEC);
this.interactableComponentType = var1.registerComponent(Interactable.class, "Interactable", Interactable.CODEC);
this.intangibleComponentType = var1.registerComponent(Intangible.class, "Intangible", Intangible.CODEC);
this.preventInventoryAccessComponentType = var1.registerComponent(PreventInventoryAccess.class, () -> PreventInventoryAccess.INSTANCE);
this.preventEmotesComponentType = var1.registerComponent(PreventEmotes.class, () -> PreventEmotes.INSTANCE);
this.preventPickupComponentType = var1.registerComponent(PreventPickup.class, "PreventPickup", PreventPickup.CODEC);
this.invulnerableComponentType = var1.registerComponent(Invulnerable.class, "Invulnerable", Invulnerable.CODEC);
this.respondToHitComponentType = var1.registerComponent(RespondToHit.class, "RespondToHit", RespondToHit.CODEC);
this.applyRandomSkinPersistedComponent = var1.registerComponent(
ApplyRandomSkinPersistedComponent.class, "ApplyRandomSkinPersisted", ApplyRandomSkinPersistedComponent.CODEC
);
this.audioComponentType = var1.registerComponent(AudioComponent.class, AudioComponent::new);
this.movementAudioComponentType = var1.registerComponent(MovementAudioComponent.class, MovementAudioComponent::new);
this.positionDataComponentType = var1.registerComponent(PositionDataComponent.class, PositionDataComponent::new);
this.activeAnimationComponentType = var1.registerComponent(ActiveAnimationComponent.class, ActiveAnimationComponent::new);
this.cachedStatsComponentType = var1.registerComponent(CachedStatsComponent.class, CachedStatsComponent::new);
this.breathingComponentType = var1.registerComponent(BreathingComponent.class, BreathingComponent::new);
this.newSpawnComponentType = var1.registerComponent(NewSpawnComponent.class, () -> {
throw new UnsupportedOperationException("Not implemented");
});
var1.registerSystem(new EntityStore.NetworkIdSystem());
var1.registerSystem(new EntityStore.UUIDSystem());
var1.registerSystem(new VelocitySystems.AddSystem(this.velocityComponentType));
var1.registerSystem(new TangiableEntitySpatialSystem(CollisionModule.get().getTangibleEntitySpatialResourceType()));
SystemGroup var2 = EntityTrackerSystems.FIND_VISIBLE_ENTITIES_GROUP;
this.visibleComponentType = var1.registerComponent(EntityTrackerSystems.Visible.class, EntityTrackerSystems.Visible::new);
var1.registerSystem(new TransformSystems.EntityTrackerUpdate());
this.blockEntityComponentType = var1.registerComponent(BlockEntity.class, "BlockEntity", BlockEntity.CODEC);
this.projectileComponentType = var1.registerComponent(ProjectileComponent.class, "ProjectileComponent", ProjectileComponent.CODEC);
var1.registerSystem(new BlockEntitySystems.Ticking(this.blockEntityComponentType));
var1.registerSystem(new BlockEntitySystems.BlockEntitySetupSystem(this.blockEntityComponentType));
var1.registerSystem(
new BlockEntitySystems.PositionMigrationSystem(this.blockEntityComponentType, this.transformComponentType, this.entityScaleComponentType)
);
var1.registerSystem(new LegacyProjectileSystems.OnAddRefSystem());
var1.registerSystem(new LegacyProjectileSystems.OnAddHolderSystem());
var1.registerSystem(
new LegacyProjectileSystems.TickingSystem(
this.projectileComponentType, this.transformComponentType, this.velocityComponentType, this.boundingBoxComponentType
)
);
var1.registerSystem(new RotateObjectSystem(this.transformComponentType, this.rotateObjectComponentType));
this.snapshotWorldInfoResourceType = var1.registerResource(SnapshotSystems.SnapshotWorldInfo.class, SnapshotSystems.SnapshotWorldInfo::new);
this.snapshotBufferComponentType = var1.registerComponent(SnapshotBuffer.class, SnapshotBuffer::new);
var1.registerSystem(new SnapshotSystems.Add());
var1.registerSystem(new SnapshotSystems.Resize());
var1.registerSystem(new SnapshotSystems.Capture());
var1.registerSystem(new UpdateEntitySeedSystem());
var1.registerSystem(new EntityModule.LegacyUUIDSystem());
var1.registerSystem(new EntityModule.LegacyUUIDUpdateSystem());
var1.registerSystem(new EntitySystems.UnloadEntityFromChunk());
this.teleportComponentType = var1.registerComponent(Teleport.class, () -> {
throw new UnsupportedOperationException("Teleport must be created directly");
});
this.pendingTeleportComponentType = var1.registerComponent(PendingTeleport.class, PendingTeleport::new);
this.teleportRecordComponentType = var1.registerComponent(TeleportRecord.class, TeleportRecord::new);
this.playerComponentType = var1.registerComponent(Player.class, "Player", Player.CODEC);
this.frozenComponentType = var1.registerComponent(Frozen.class, "Frozen", Frozen.CODEC);
var1.registerSystem(new PlayerCollisionResultAddSystem(this.playerComponentType, this.collisionResultComponentType));
this.playerSettingsComponentType = var1.registerComponent(PlayerSettings.class, PlayerSettings::defaults);
this.movementStatesComponentType = var1.registerComponent(MovementStatesComponent.class, MovementStatesComponent::new);
var1.registerSystem(new MovementStatesSystems.AddSystem(this.movementStatesComponentType));
var1.registerSystem(new MovementStatesSystems.PlayerInitSystem(this.playerComponentType, this.movementStatesComponentType));
var1.registerSystem(new TeleportSystems.MoveSystem());
var1.registerSystem(new TeleportSystems.PlayerMoveSystem());
this.modelComponentType = var1.registerComponent(ModelComponent.class, () -> {
throw new UnsupportedOperationException();
});
this.modelRotateBoundingBoxComponentType = var1.registerComponent(
ModelRotateBoundingBoxComponent.class, "ModelRotateBoundingBox", ModelRotateBoundingBoxComponent.CODEC
);
this.persistentModelComponentType = var1.registerComponent(PersistentModel.class, "Model", PersistentModel.CODEC);
this.propComponentType = var1.registerComponent(PropComponent.class, "Prop", PropComponent.CODEC);
this.npcMarkerComponentType = var1.registerComponent(NPCMarkerComponent.class, NPCMarkerComponent::get);
var1.registerSystem(new EntitySavingSystem());
var1.registerSystem(new EntityRemovalSystem());
var1.registerSystem(new EntityModule.LegacyEntityHolderSystem<>(this.playerComponentType), true);
var1.registerSystem(new EntityModule.LegacyEntityRefSystem<>(this.playerComponentType), true);
this.playerInputComponentType = var1.registerComponent(PlayerInput.class, PlayerInput::new);
this.knockbackSimulationComponentType = var1.registerComponent(KnockbackSimulation.class, () -> {
throw new UnsupportedOperationException();
});
this.movementManagerComponentType = var1.registerComponent(MovementManager.class, MovementManager::new);
this.displayNameComponentType = var1.registerComponent(DisplayNameComponent.class, DisplayNameComponent::new);
this.persistentDisplayNameComponentType = var1.registerComponent(PersistentDisplayName.class, "PersistentDisplayName", PersistentDisplayName.CODEC);
var1.registerSystem(new DisplayNameSystems.HydrateDisplayName());
var1.registerSystem(new DisplayNameSystems.MigratePlayerDisplayName());
var1.registerSystem(new DisplayNameSystems.SyncDisplayName());
var1.registerSystem(new PlayerSystems.PlayerSpawnedSystem());
var1.registerSystem(new PlayerSystems.PlayerAddedSystem(this.movementManagerComponentType));
var1.registerSystem(new PlayerSystems.PlayerRemovedSystem());
var1.registerSystem(new PlayerSystems.ProcessPlayerInput());
var1.registerSystem(new PlayerSystems.UpdatePlayerRef());
var1.registerSystem(new PlayerSystems.BlockPausedMovementSystem());
var1.registerSystem(new PlayerSystems.KillFeedKillerEventSystem());
var1.registerSystem(new PlayerSystems.KillFeedDecedentEventSystem());
var1.registerSystem(new KnockbackPredictionSystems.InitKnockback());
var1.registerSystem(new KnockbackPredictionSystems.CaptureKnockbackInput());
var1.registerSystem(new KnockbackPredictionSystems.SimulateKnockback());
var1.registerSystem(new KnockbackPredictionSystems.ClearOnTeleport());
var1.registerSystem(new KnockbackPredictionSystems.ClearOnRemove());
this.preClearMarkersGroup = var1.registerSystemGroup();
this.playerSkinComponentType = var1.registerComponent(PlayerSkinComponent.class, () -> {
throw new UnsupportedOperationException("Not implemented");
});
this.fromPrefabComponentType = var1.registerComponent(FromPrefab.class, "FromPrefab", FromPrefab.CODEC);
var1.registerSystem(new EntitySystems.ClearFromPrefabMarker(this.fromPrefabComponentType, this.preClearMarkersGroup));
this.hiddenFromAdventurePlayerComponentType = var1.registerComponent(
HiddenFromAdventurePlayers.class, "HiddenFromAdventurePlayer", HiddenFromAdventurePlayers.CODEC
);
var1.registerSystem(new PlayerMovementManagerSystems.AssignmentSystem());
var1.registerSystem(new PlayerMovementManagerSystems.PostAssignmentSystem());
this.cameraManagerComponentType = var1.registerComponent(CameraManager.class, CameraManager::new);
var1.registerSystem(new PlayerCameraAddSystem());
var1.registerSystem(new PlayerHudManagerSystems.InitializeSystem());
this.fromWorldGenComponentType = var1.registerComponent(FromWorldGen.class, "FromWorldGen", FromWorldGen.CODEC);
var1.registerSystem(new EntitySystems.ClearFromWorldGenMarker(this.fromWorldGenComponentType, this.preClearMarkersGroup));
this.fromPrefabInstanceComponentType = var1.registerComponent(FromPrefabInstance.class, "FromPrefabInstance", FromPrefabInstance.CODEC);
this.worldGenIdComponentType = var1.registerComponent(WorldGenId.class, "WorldGenId", WorldGenId.CODEC);
var1.registerSystem(new EntitySystems.OnLoadFromExternal(this.fromPrefabComponentType, this.fromWorldGenComponentType, this.preClearMarkersGroup));
this.playerSpatialResourceType = var1.registerSpatialResource(() -> new KDTree<>(Ref::isValid));
var1.registerSystem(new PlayerSpatialSystem(this.playerSpatialResourceType));
this.entitySpatialResourceType = var1.registerSpatialResource(() -> new KDTree<>(Ref::isValid));
var1.registerSystem(new EntitySpatialSystem(this.entitySpatialResourceType));
this.despawnComponentComponentType = var1.registerComponent(DespawnComponent.class, "Despawn", DespawnComponent.CODEC);
this.dynamicLightComponentType = var1.registerComponent(DynamicLight.class, DynamicLight::new);
this.persistentDynamicLightComponentType = var1.registerComponent(PersistentDynamicLight.class, "DynamicLight", PersistentDynamicLight.CODEC);
this.prefabPreviewComponentType = var1.registerComponent(PrefabPreview.class, PrefabPreview::new);
this.persistentPrefabPreviewComponentType = var1.registerComponent(PersistentPrefabPreview.class, "PrefabPreview", PersistentPrefabPreview.CODEC);
this.preventItemMergingType = var1.registerComponent(PreventItemMerging.class, "PreventItemMerging", PreventItemMerging.CODEC);
this.itemComponentType = var1.registerComponent(ItemComponent.class, "Item", ItemComponent.CODEC);
this.itemPhysicsComponentType = var1.registerComponent(ItemPhysicsComponent.class, ItemPhysicsComponent::new);
var1.registerSystem(new ItemSystems.EnsureRequiredComponents());
var1.registerSystem(new ItemSystems.TrackerSystem(this.visibleComponentType));
this.prefabCopyableComponentType = var1.registerComponent(PrefabCopyableComponent.class, "PrefabCopyable", PrefabCopyableComponent.CODEC);
this.pickupItemComponentType = var1.registerComponent(PickupItemComponent.class, PickupItemComponent::new);
this.dropItemsComponentType = var1.registerComponent(DropItemsComponent.class, DropItemsComponent::new);
var1.registerSystem(new DropItemsSystem(this.dropItemsComponentType));
var1.registerSystem(new DespawnSystem(this.despawnComponentComponentType));
this.itemSpatialResourceType = var1.registerSpatialResource(() -> new KDTree<>(Ref::isValid));
var1.registerSystem(new ItemSpatialSystem(this.itemSpatialResourceType));
var1.registerSystem(new ItemMergeSystem(this.itemComponentType, this.interactableComponentType, this.itemSpatialResourceType));
var1.registerSystem(new PlayerItemEntityPickupSystem(this.itemComponentType, this.playerComponentType, this.playerSpatialResourceType));
var1.registerSystem(
new ItemPrePhysicsSystem(
this.itemComponentType, this.boundingBoxComponentType, this.velocityComponentType, this.transformComponentType, this.physicsValuesComponentType
)
);
var1.registerSystem(new ItemPhysicsSystem(this.itemPhysicsComponentType, this.velocityComponentType, this.boundingBoxComponentType));
var1.registerSystem(new PickupItemSystem(this.pickupItemComponentType, this.transformComponentType));
var1.registerSystem(new LivingEntityEffectSystem());
var1.registerSystem(new PlayerProcessMovementSystem(this.playerComponentType, this.velocityComponentType, this.collisionResultComponentType));
this.chunkTrackerComponentType = var1.registerComponent(ChunkTracker.class, ChunkTracker::new);
var1.registerSystem(new PlayerChunkTrackerSystems.AddSystem());
var1.registerSystem(new PlayerChunkTrackerSystems.UpdateSystem());
var1.registerSystem(new PlayerSystems.NameplateRefSystem());
var1.registerSystem(new PlayerSystems.NameplateRefChangeSystem());
this.entityViewerComponentType = var1.registerComponent(EntityTrackerSystems.EntityViewer.class, () -> {
throw new UnsupportedOperationException("not supported");
});
var1.registerSystem(new EntityTrackerSystems.ClearEntityViewers(this.entityViewerComponentType));
var1.registerSystem(new EntityTrackerSystems.ClearPreviouslyVisible(this.visibleComponentType));
var1.registerSystem(new EntityTrackerSystems.EnsureVisibleComponent(this.entityViewerComponentType, this.visibleComponentType));
var1.registerSystem(new EntityTrackerSystems.AddToVisible(this.entityViewerComponentType, this.visibleComponentType));
var1.registerSystem(new EntityTrackerSystems.RemoveEmptyVisibleComponent(this.visibleComponentType));
var1.registerSystem(new EntityTrackerSystems.RemoveVisibleComponent(this.visibleComponentType));
var1.registerSystem(new EntityTrackerSystems.SendPackets(this.entityViewerComponentType));
var1.registerSystem(new MovementStatesSystems.TickingSystem(this.visibleComponentType, this.movementStatesComponentType));
this.networkSendableSpatialResourceType = var1.registerSpatialResource(() -> new KDTree<>(Ref::isValid));
var1.registerSystem(new NetworkSendableSpatialSystem(this.networkSendableSpatialResourceType));
var1.registerSystem(new EntityTrackerSystems.CollectVisible(this.entityViewerComponentType));
var1.registerSystem(new EntityTrackerSystems.LODCull(this.entityViewerComponentType));
var1.registerSystem(new EntityTrackerSystems.HideFromPlayer(this.entityViewerComponentType));
var1.registerSystem(new EntityTrackerSystems.EntityModel(this.visibleComponentType));
var1.registerSystem(new EntityTrackerSystems.EntitySkin(this.visibleComponentType, this.playerSkinComponentType));
var1.registerSystem(new BlockEntitySystems.BlockEntityTrackerSystem(this.visibleComponentType, this.blockEntityComponentType));
var1.registerSystem(new EntityTrackerSystems.EffectControllerSystem(this.visibleComponentType, this.effectControllerComponentType));
var1.registerSystem(new EntitySystems.DynamicLightTracker(this.visibleComponentType));
var1.registerSystem(new DynamicLightSystems.Setup());
var1.registerSystem(new DynamicLightSystems.EntityTrackerRemove(this.visibleComponentType));
var1.registerSystem(new PrefabPreviewSystems.PrefabPreviewSetup());
var1.registerSystem(new PrefabPreviewSystems.PrefabPreviewTracker(this.visibleComponentType));
var1.registerSystem(new PrefabPreviewSystems.PrefabPreviewEntityTrackerRemove(this.visibleComponentType));
var1.registerSystem(new LivingEntityEffectClearChangesSystem());
var1.registerSystem(new PlayerSendInventorySystem(this.playerComponentType));
var1.registerSystem(new PlayerSavingSystems.WorldRemovedSystem(this.playerComponentType));
var1.registerSystem(new PlayerSavingSystems.EntityRemovedSystem(this.playerComponentType));
var1.registerSystem(new PlayerSavingSystems.TickingSystem(this.playerComponentType));
this.entityGroupComponentType = var1.registerComponent(EntityGroup.class, () -> {
throw new UnsupportedOperationException("Not implemented");
});
this.damageDataComponentType = var1.registerComponent(DamageDataComponent.class, DamageDataComponent::new);
var1.registerSystem(new DamageDataSetupSystem(this.damageDataComponentType));
this.knockbackComponentType = var1.registerComponent(KnockbackComponent.class, KnockbackComponent::new);
var1.registerSystem(new UpdateLocationSystems.SpawnSystem());
var1.registerSystem(new UpdateLocationSystems.TickingSystem());
this.persistentRefCountComponentType = var1.registerComponent(PersistentRefCount.class, "RefId", PersistentRefCount.CODEC);
this.nameplateComponentType = var1.registerComponent(Nameplate.class, "Nameplate", Nameplate.CODEC);
var1.registerSystem(new NameplateSystems.EntityTrackerUpdate(this.visibleComponentType, this.nameplateComponentType));
var1.registerSystem(new NameplateSystems.EntityTrackerRemove(this.visibleComponentType, this.nameplateComponentType));
this.markerReplicationQueueResourceType = var1.registerResource(MarkerReplicationSystems.QueueResource.class, MarkerReplicationSystems.QueueResource::new);
var1.registerSystem(new EntityInteractableSystems.EntityTrackerUpdate(this.visibleComponentType));
var1.registerSystem(new EntityInteractableSystems.EntityTrackerAddAndRemove(this.visibleComponentType));
var1.registerSystem(new IntangibleSystems.EntityTrackerUpdate(this.visibleComponentType));
var1.registerSystem(new IntangibleSystems.EntityTrackerAddAndRemove(this.visibleComponentType));
var1.registerSystem(new PreventInventoryAccessSystems.EntityTrackerUpdate(this.visibleComponentType));
var1.registerSystem(new PreventInventoryAccessSystems.EntityTrackerAddAndRemove(this.visibleComponentType));
var1.registerSystem(new PreventEmotesSystems.EntityTrackerUpdate(this.visibleComponentType));
var1.registerSystem(new PreventEmotesSystems.EntityTrackerAddAndRemove(this.visibleComponentType));
var1.registerSystem(new InvulnerableSystems.EntityTrackerUpdate(this.visibleComponentType));
var1.registerSystem(new InvulnerableSystems.EntityTrackerAddAndRemove(this.visibleComponentType));
var1.registerSystem(new RespondToHitSystems.EntityTrackerUpdate(this.visibleComponentType));
var1.registerSystem(new RespondToHitSystems.EntityTrackerAddAndRemove(this.visibleComponentType));
var1.registerSystem(new RespondToHitSystems.OnPlayerSettingsChange());
var1.registerSystem(new CreativeEraserSystems.OnPlayerSettingsChange());
var1.registerSystem(new CreativeEraserSystems.OnPlayerRemovedFromWorld());
var1.registerSystem(new AudioSystems.EntityTrackerUpdate());
var1.registerSystem(new AudioSystems.TickMovementAudio());
var1.registerSystem(new ModelSystems.SetRenderedModel());
var1.registerSystem(new ModelSystems.AssignNetworkIdToProps());
var1.registerSystem(new ModelSystems.EnsurePropsPrefabCopyable());
var1.registerSystem(new ModelSystems.ApplyRandomSkin());
var1.registerSystem(new ModelSystems.ModelSpawned());
var1.registerSystem(new ModelSystems.PlayerConnect());
var1.registerSystem(new ModelSystems.ModelChange());
var1.registerSystem(new ModelSystems.UpdateBoundingBox());
var1.registerSystem(new ModelSystems.UpdateMovementStateBoundingBox());
var1.registerSystem(new ModelSystems.PlayerUpdateMovementManager());
var1.registerSystem(new ModelSystems.AnimationEntityTrackerUpdate());
var1.registerSystem(new EntitySystems.NewSpawnEntityTrackerUpdate());
var1.registerSystem(new HideEntitySystems.AdventurePlayerSystem());
this.spectatingComponentType = var1.registerComponent(Spectating.class, () -> {
throw new UnsupportedOperationException("Not implemented");
});
this.persistentGameModeTypeComponentType = var1.registerComponent(PersistentGameModeType.class, "GameModeType", PersistentGameModeType.CODEC);
this.playerLivesComponentType = var1.registerComponent(PlayerLives.class, "PlayerLives", PlayerLives.CODEC);
this.hardcoreStateResourceType = Universe.registerResource(HardcoreState.class, "Hardcore", HardcoreState.CODEC);
var1.registerSystem(new GameModeTypeSystems.Setup());
var1.registerSystem(new HardcoreGameOver.ApplyOnJoin());
var1.registerSystem(new HardcoreLivesHud.ShowOnJoin());
var1.registerSystem(new HardcoreLivesHud.ShowOnChange());
var1.registerSystem(new PlayerLives.CancelRespawnWhenExhausted());
var1.registerSystem(new SpectatorSystems.OnSpectatingChange());
var1.registerSystem(new SpectatorSystems.HideFromNonSpectators());
var1.registerSystem(new SpectatorSystems.FollowTarget());
var1.registerSystem(new ServerPlayerListSystems.OnSpectatingChange());
var1.registerSystem(new TransformSystems.OnRemove());
var1.registerSystem(new PhysicsValuesAddSystem(this.physicsValuesComponentType));
var1.registerSystem(new GenericVelocityInstructionSystem());
var1.registerSystem(new PlayerVelocityInstructionSystem());
AssetRegistry.register(
((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
HitboxCollisionConfig.class, new IndexedLookupTableAssetMap<>(HitboxCollisionConfig[]::new)
)
.setPath("Entity/HitboxCollision"))
.setCodec(HitboxCollisionConfig.CODEC))
.setKeyFunction(HitboxCollisionConfig::getId))
.setPacketGenerator(new HitboxCollisionConfigPacketGenerator())
.setReplaceOnRemove(HitboxCollisionConfig::new))
.build()
);
this.hitboxCollisionComponentType = var1.registerComponent(HitboxCollision.class, "HitboxCollision", HitboxCollision.CODEC);
var1.registerSystem(new HitboxCollisionSystems.Setup(this.hitboxCollisionComponentType, this.playerComponentType));
var1.registerSystem(new HitboxCollisionSystems.EntityTrackerUpdate(this.visibleComponentType, this.hitboxCollisionComponentType));
var1.registerSystem(new HitboxCollisionSystems.EntityTrackerRemove(this.visibleComponentType, this.hitboxCollisionComponentType));
AssetRegistry.register(
((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
RepulsionConfig.class, new IndexedLookupTableAssetMap<>(RepulsionConfig[]::new)
)
.setPath("Entity/Repulsion"))
.setCodec(RepulsionConfig.CODEC))
.setKeyFunction(RepulsionConfig::getId))
.setPacketGenerator(new RepulsionConfigPacketGenerator())
.setReplaceOnRemove(RepulsionConfig::new))
.build()
);
this.repulsionComponentType = var1.registerComponent(Repulsion.class, "Repulsion", Repulsion.CODEC);
var1.registerSystem(new RepulsionSystems.PlayerSetup(this.repulsionComponentType, this.playerComponentType));
var1.registerSystem(new RepulsionSystems.EntityTrackerUpdate(this.visibleComponentType, this.repulsionComponentType));
var1.registerSystem(new RepulsionSystems.EntityTrackerRemove(this.visibleComponentType, this.repulsionComponentType));
var1.registerSystem(new RepulsionSystems.RepulsionTicker(this.repulsionComponentType, this.transformComponentType, this.entitySpatialResourceType));
var1.registerSystem(new EntitySystems.NewSpawnTick());
var1.registerSystem(new EntitySystems.EnsureForSerializable());
var1.registerSystem(new DamageSystems.InvulnerableBreathing(this.invulnerableComponentType, this.breathingComponentType));
AssetRegistry.register(
((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)((HytaleAssetStore.Builder)HytaleAssetStore.builder(
MovementConfig.class, new IndexedLookupTableAssetMap<>(MovementConfig[]::new)
)
.setPath("Entity/MovementConfig"))
.setCodec(MovementConfig.CODEC))
.setKeyFunction(MovementConfig::getId))
.setReplaceOnRemove(MovementConfig::new))
.loadsBefore(GameplayConfig.class))
.preLoadAssets(Collections.singletonList(MovementConfig.DEFAULT_MOVEMENT)))
.build()
);
this.getEventRegistry().register(LoadedAssetsEvent.class, MovementConfig.class, this::onMovementConfigLoadedAssetsEvent);
this.getEventRegistry().register(LoadedAssetsEvent.class, GameplayConfig.class, this::onGameplayConfigLoadedAssetsEvent);
this.uniqueItemUsagesComponentType = var1.registerComponent(UniqueItemUsagesComponent.class, "UniqueItemUsages", UniqueItemUsagesComponent.CODEC);
this.storageInventoryComponentType = var1.registerComponent(InventoryComponent.Storage.class, "StorageInventory", InventoryComponent.Storage.CODEC);
this.armorInventoryComponentType = var1.registerComponent(InventoryComponent.Armor.class, "ArmorInventory", InventoryComponent.Armor.CODEC);
this.hotbarInventoryComponentType = var1.registerComponent(InventoryComponent.Hotbar.class, "HotbarInventory", InventoryComponent.Hotbar.CODEC);
this.utilityInventoryComponentType = var1.registerComponent(InventoryComponent.Utility.class, "UtilityInventory", InventoryComponent.Utility.CODEC);
this.backpackInventoryComponentType = var1.registerComponent(InventoryComponent.Backpack.class, "BackpackInventory", InventoryComponent.Backpack.CODEC);
this.toolInventoryComponentType = var1.registerComponent(InventoryComponent.Tool.class, "ToolInventory", InventoryComponent.Tool.CODEC);
this.combinedInventoryComponentType = var1.registerComponent(InventoryComponent.Combined.class, InventoryComponent.Combined::new);
this.healthRegenStateComponentType = var1.registerComponent(HealthRegenState.class, HealthRegenState::new);
InventoryComponent.setupCombined(
this.storageInventoryComponentType,
this.armorInventoryComponentType,
this.hotbarInventoryComponentType,
this.utilityInventoryComponentType,
this.backpackInventoryComponentType,
this.toolInventoryComponentType
);
var1.registerSystem(new InventorySystems.StorageChangeEventSystem());
var1.registerSystem(new InventorySystems.ArmorChangeEventSystem());
var1.registerSystem(new InventorySystems.HotbarChangeEventSystem());
var1.registerSystem(new InventorySystems.UtilityChangeEventSystem());
var1.registerSystem(new InventorySystems.BackpackChangeEventSystem());
var1.registerSystem(new InventorySystems.ToolChangeEventSystem());
var1.registerSystem(new InventorySystems.LegacyArmorChangeStatSystem());
var1.registerSystem(new InventorySystems.LegacyHotbarChangeStatSystem());
var1.registerSystem(new InventorySystems.LegacyUtilityChangeStatSystem());
var1.registerSystem(new InventorySystems.PlayerInventoryChangeEventSystem());
var1.registerSystem(new InventorySystems.ActiveSlotChangedToolsEventSystem());
var1.registerSystem(new InventorySystems.ActiveSlotChangedEntityEventSystem());
var1.registerSystem(new InventorySystems.ActiveSlotChangedToolsHolderEventSystem());
var1.registerSystem(new InventorySystems.ActiveSlotChangedEntityHolderEventSystem());
var1.registerSystem(new InventorySystems.SyncEquipmentSystem(this.visibleComponentType));
var1.registerSystem(new PlayerSystems.PlayerInitSystem());
Condition.CODEC.register("LogicCondition", LogicCondition.class, LogicCondition.CODEC);
Condition.CODEC.register("RegenHealth", RegenHealthCondition.class, RegenHealthCondition.CODEC);
Condition.CODEC.register("NoDamageTaken", NoDamageTakenCondition.class, NoDamageTakenCondition.CODEC);
Condition.CODEC.register("Suffocating", SuffocatingCondition.class, SuffocatingCondition.CODEC);
Condition.CODEC.register("Charging", ChargingCondition.class, ChargingCondition.CODEC);
Condition.CODEC.register("Alive", AliveCondition.class, AliveCondition.CODEC);
Condition.CODEC.register("Environment", EnvironmentCondition.class, EnvironmentCondition.CODEC);
Condition.CODEC.register("CheckPlayerGameMode", CheckPlayerGameModeCondition.class, CheckPlayerGameModeCondition.CODEC);
Condition.CODEC.register("OutOfCombat", OutOfCombatCondition.class, OutOfCombatCondition.CODEC);
Condition.CODEC.register("Wielding", WieldingCondition.class, WieldingCondition.CODEC);
Condition.CODEC.register("Sprinting", SprintingCondition.class, SprintingCondition.CODEC);
Condition.CODEC.register("Gliding", GlidingCondition.class, GlidingCondition.CODEC);
Condition.CODEC.register("Stat", StatCondition.class, StatCondition.CODEC);
Condition.CODEC.register("InFluid", InFluidCondition.class, InFluidCondition.CODEC);
Condition.CODEC.register("HasEffect", HasEffectCondition.class, HasEffectCondition.CODEC);
Condition.CODEC.register("IsPlayer", IsPlayerCondition.class, IsPlayerCondition.CODEC);
}
@Override
class="kw">protected void start() {
DamageCause.PHYSICAL = DamageCause.getAssetMap().getAsset("Physical");
DamageCause.PROJECTILE = DamageCause.getAssetMap().getAsset("Projectile");
DamageCause.COMMAND = DamageCause.getAssetMap().getAsset("Command");
DamageCause.DROWNING = DamageCause.getAssetMap().getAsset("Drowning");
DamageCause.ENVIRONMENT = DamageCause.getAssetMap().getAsset("Environment");
DamageCause.FALL = DamageCause.getAssetMap().getAsset("Fall");
DamageCause.OUT_OF_WORLD = DamageCause.getAssetMap().getAsset("OutOfWorld");
DamageCause.SUFFOCATION = DamageCause.getAssetMap().getAsset("Suffocation");
if (DamageCause.PHYSICAL == null
|| DamageCause.PROJECTILE == null
|| DamageCause.COMMAND == null
|| DamageCause.DROWNING == null
|| DamageCause.ENVIRONMENT == null
|| DamageCause.FALL == null
|| DamageCause.OUT_OF_WORLD == null
|| DamageCause.SUFFOCATION == null) {
throw new IllegalStateException("Missing class="kw">default DamageCause assets");
}
}
class="kw">public SystemType<EntityStore, EntityModule.MigrationSystem> getMigrationSystemType() {
class="kw">return this.migrationSystemType;
}
class="kw">public SystemType<EntityStore, ? class="kw">extends ISystem<EntityStore>> getVelocityModifyingSystemType() {
class="kw">return this.velocityModifyingSystemType;
}
class="kw">public ComponentType<EntityStore, Player> getPlayerComponentType() {
class="kw">return this.playerComponentType;
}
class="kw">public ComponentType<EntityStore, Frozen> getFrozenComponentType() {
class="kw">return this.frozenComponentType;
}
class="kw">public ComponentType<EntityStore, ChunkTracker> getChunkTrackerComponentType() {
class="kw">return this.chunkTrackerComponentType;
}
class="kw">public ComponentType<EntityStore, PlayerSkinComponent> getPlayerSkinComponentType() {
class="kw">return this.playerSkinComponentType;
}
class="kw">public ComponentType<EntityStore, DisplayNameComponent> getDisplayNameComponentType() {
class="kw">return this.displayNameComponentType;
}
class="kw">public ComponentType<EntityStore, PersistentDisplayName> getPersistentDisplayNameComponentType() {
class="kw">return this.persistentDisplayNameComponentType;
}
class="kw">public ComponentType<EntityStore, ApplyRandomSkinPersistedComponent> getApplyRandomSkinPersistedComponent() {
class="kw">return this.applyRandomSkinPersistedComponent;
}
class="kw">public ComponentType<EntityStore, EntityGroup> getEntityGroupComponentType() {
class="kw">return this.entityGroupComponentType;
}
class="kw">public ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> getPlayerSpatialResourceType() {
class="kw">return this.playerSpatialResourceType;
}
class="kw">public ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> getItemSpatialResourceType() {
class="kw">return this.itemSpatialResourceType;
}
class="kw">public ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> getNetworkSendableSpatialResourceType() {
class="kw">return this.networkSendableSpatialResourceType;
}
class="kw">public ComponentType<EntityStore, Dirty> getDirtyComponentType() {
class="kw">return this.dirtyComponentType;
}
class="kw">public ComponentType<EntityStore, CollisionResultComponent> getCollisionResultComponentType() {
class="kw">return this.collisionResultComponentType;
}
class="kw">public ComponentType<EntityStore, EntityTrackerSystems.EntityViewer> getEntityViewerComponentType() {
class="kw">return this.entityViewerComponentType;
}
class="kw">public ComponentType<EntityStore, EntityTrackerSystems.Visible> getVisibleComponentType() {
class="kw">return this.visibleComponentType;
}
class="kw">public ComponentType<EntityStore, DamageDataComponent> getDamageDataComponentType() {
class="kw">return this.damageDataComponentType;
}
class="kw">public ComponentType<EntityStore, KnockbackComponent> getKnockbackComponentType() {
class="kw">return this.knockbackComponentType;
}
class="kw">public ComponentType<EntityStore, DespawnComponent> getDespawnComponentType() {
class="kw">return this.despawnComponentComponentType;
}
class="kw">public ResourceType<EntityStore, SnapshotSystems.SnapshotWorldInfo> getSnapshotWorldInfoResourceType() {
class="kw">return this.snapshotWorldInfoResourceType;
}
class="kw">public ComponentType<EntityStore, SnapshotBuffer> getSnapshotBufferComponentType() {
class="kw">return this.snapshotBufferComponentType;
}
class="kw">public ComponentType<EntityStore, Interactable> getInteractableComponentType() {
class="kw">return this.interactableComponentType;
}
class="kw">public ComponentType<EntityStore, Intangible> getIntangibleComponentType() {
class="kw">return this.intangibleComponentType;
}
class="kw">public ComponentType<EntityStore, PreventInventoryAccess> getPreventInventoryAccessComponentType() {
class="kw">return this.preventInventoryAccessComponentType;
}
class="kw">public ComponentType<EntityStore, PreventEmotes> getPreventEmotesComponentType() {
class="kw">return this.preventEmotesComponentType;
}
class="kw">public ComponentType<EntityStore, PreventPickup> getPreventPickupComponentType() {
class="kw">return this.preventPickupComponentType;
}
class="kw">public ComponentType<EntityStore, Invulnerable> getInvulnerableComponentType() {
class="kw">return this.invulnerableComponentType;
}
class="kw">public ComponentType<EntityStore, RespondToHit> getRespondToHitComponentType() {
class="kw">return this.respondToHitComponentType;
}
class="kw">public ResourceType<EntityStore, MarkerReplicationSystems.QueueResource> getMarkerReplicationQueueResourceType() {
class="kw">return this.markerReplicationQueueResourceType;
}
class="kw">public ComponentType<EntityStore, HiddenFromAdventurePlayers> getHiddenFromAdventurePlayerComponentType() {
class="kw">return this.hiddenFromAdventurePlayerComponentType;
}
class="kw">public ComponentType<EntityStore, Spectating> getSpectatingComponentType() {
class="kw">return this.spectatingComponentType;
}
class="kw">public ComponentType<EntityStore, PersistentGameModeType> getPersistentGameModeTypeComponentType() {
class="kw">return this.persistentGameModeTypeComponentType;
}
class="kw">public ComponentType<EntityStore, PlayerLives> getPlayerLivesComponentType() {
class="kw">return this.playerLivesComponentType;
}
class="kw">public UniverseResourceType<HardcoreState> getHardcoreStateResourceType() {
class="kw">return this.hardcoreStateResourceType;
}
class="kw">public ComponentType<EntityStore, FromPrefab> getFromPrefabComponentType() {
class="kw">return this.fromPrefabComponentType;
}
class="kw">public ComponentType<EntityStore, FromWorldGen> getFromWorldGenComponentType() {
class="kw">return this.fromWorldGenComponentType;
}
class="kw">public ComponentType<EntityStore, FromPrefabInstance> getFromPrefabInstanceComponentType() {
class="kw">return this.fromPrefabInstanceComponentType;
}
class="kw">public ComponentType<EntityStore, WorldGenId> getWorldGenIdComponentType() {
class="kw">return this.worldGenIdComponentType;
}
class="kw">public ComponentType<EntityStore, MovementManager> getMovementManagerComponentType() {
class="kw">return this.movementManagerComponentType;
}
class="kw">public ComponentType<EntityStore, Nameplate> getNameplateComponentType() {
class="kw">return this.nameplateComponentType;
}
class="kw">public SystemGroup<EntityStore> getPreClearMarkersGroup() {
class="kw">return this.preClearMarkersGroup;
}
class="kw">public ComponentType<EntityStore, PersistentRefCount> getPersistentRefCountComponentType() {
class="kw">return this.persistentRefCountComponentType;
}
class="kw">public ComponentType<EntityStore, TransformComponent> getTransformComponentType() {
class="kw">return this.transformComponentType;
}
class="kw">public ComponentType<EntityStore, HeadRotation> getHeadRotationComponentType() {
class="kw">return this.headRotationComponentType;
}
class="kw">public ComponentType<EntityStore, NetworkId> getNetworkIdComponentType() {
class="kw">return this.networkIdComponentType;
}
class="kw">public ComponentType<EntityStore, EffectControllerComponent> getEffectControllerComponentType() {
class="kw">return this.effectControllerComponentType;
}
class="kw">public ComponentType<EntityStore, MovementStatesComponent> getMovementStatesComponentType() {
class="kw">return this.movementStatesComponentType;
}
class="kw">public ComponentType<EntityStore, BlockEntity> getBlockEntityComponentType() {
class="kw">return this.blockEntityComponentType;
}
class="kw">public ComponentType<EntityStore, EntityScaleComponent> getEntityScaleComponentType() {
class="kw">return this.entityScaleComponentType;
}
class="kw">public ComponentType<EntityStore, CameraManager> getCameraManagerComponentType() {
class="kw">return this.cameraManagerComponentType;
}
class="kw">public ComponentType<EntityStore, UUIDComponent> getUuidComponentType() {
class="kw">return this.uuidComponentType;
}
class="kw">public ComponentType<EntityStore, PlayerInput> getPlayerInputComponentType() {
class="kw">return this.playerInputComponentType;
}
class="kw">public ComponentType<EntityStore, KnockbackSimulation> getKnockbackSimulationComponentType() {
class="kw">return this.knockbackSimulationComponentType;
}
class="kw">public ComponentType<EntityStore, Teleport> getTeleportComponentType() {
class="kw">return this.teleportComponentType;
}
class="kw">public ComponentType<EntityStore, ProjectileComponent> getProjectileComponentType() {
class="kw">return this.projectileComponentType;
}
class="kw">public ComponentType<EntityStore, PendingTeleport> getPendingTeleportComponentType() {
class="kw">return this.pendingTeleportComponentType;
}
class="kw">public ComponentType<EntityStore, TeleportRecord> getTeleportRecordComponentType() {
class="kw">return this.teleportRecordComponentType;
}
class="kw">public ComponentType<EntityStore, ModelComponent> getModelComponentType() {
class="kw">return this.modelComponentType;
}
class="kw">public ComponentType<EntityStore, ModelRotateBoundingBoxComponent> getModelRotateBoundingBoxComponentType() {
class="kw">return this.modelRotateBoundingBoxComponentType;
}
class="kw">public ComponentType<EntityStore, PersistentModel> getPersistentModelComponentType() {
class="kw">return this.persistentModelComponentType;
}
class="kw">public ComponentType<EntityStore, PropComponent> getPropComponentType() {
class="kw">return this.propComponentType;
}
class="kw">public ComponentType<EntityStore, NPCMarkerComponent> getNPCMarkerComponentType() {
class="kw">return this.npcMarkerComponentType;
}
class="kw">public ComponentType<EntityStore, BoundingBox> getBoundingBoxComponentType() {
class="kw">return this.boundingBoxComponentType;
}
class="kw">public ComponentType<EntityStore, HitboxCollision> getHitboxCollisionComponentType() {
class="kw">return this.hitboxCollisionComponentType;
}
class="kw">public ComponentType<EntityStore, Velocity> getVelocityComponentType() {
class="kw">return this.velocityComponentType;
}
class="kw">public ComponentType<EntityStore, PhysicsValues> getPhysicsValuesComponentType() {
class="kw">return this.physicsValuesComponentType;
}
class="kw">public ComponentType<EntityStore, Repulsion> getRepulsionComponentType() {
class="kw">return this.repulsionComponentType;
}
class="kw">public ResourceType<EntityStore, SpatialResource<Ref<EntityStore>, EntityStore>> getEntitySpatialResourceType() {
class="kw">return this.entitySpatialResourceType;
}
class="kw">public ComponentType<EntityStore, ItemComponent> getItemComponentType() {
class="kw">return this.itemComponentType;
}
class="kw">public ComponentType<EntityStore, PickupItemComponent> getPickupItemComponentType() {
class="kw">return this.pickupItemComponentType;
}
class="kw">public ComponentType<EntityStore, PreventItemMerging> getPreventItemMergingType() {
class="kw">return this.preventItemMergingType;
}
class="kw">public ComponentType<EntityStore, ItemPhysicsComponent> getItemPhysicsComponentType() {
class="kw">return this.itemPhysicsComponentType;
}
class="kw">public ComponentType<EntityStore, DynamicLight> getDynamicLightComponentType() {
class="kw">return this.dynamicLightComponentType;
}
class="kw">public ComponentType<EntityStore, PersistentDynamicLight> getPersistentDynamicLightComponentType() {
class="kw">return this.persistentDynamicLightComponentType;
}
class="kw">public ComponentType<EntityStore, PrefabPreview> getPrefabPreviewComponentType() {
class="kw">return this.prefabPreviewComponentType;
}
class="kw">public ComponentType<EntityStore, PersistentPrefabPreview> getPersistentPrefabPreviewComponentType() {
class="kw">return this.persistentPrefabPreviewComponentType;
}
class="kw">public ComponentType<EntityStore, PrefabCopyableComponent> getPrefabCopyableComponentType() {
class="kw">return this.prefabCopyableComponentType;
}
class="kw">public ComponentType<EntityStore, RotateObjectComponent> getRotateObjectComponentType() {
class="kw">return this.rotateObjectComponentType;
}
class="kw">public ComponentType<EntityStore, NewSpawnComponent> getNewSpawnComponentType() {
class="kw">return this.newSpawnComponentType;
}
class="kw">private void onMovementConfigLoadedAssetsEvent(@Nonnull LoadedAssetsEvent<String, MovementConfig, DefaultAssetMap<String, MovementConfig>> var1) {
Universe.get().getWorlds().forEach((var1x, var2) -> var2.execute(() -> {
World var2 = var2.getEntityStore().getStore();
var2.forEachEntityParallel(MovementManager.getComponentType(), (var3, var4, var5) -> {
String var6 = var2.getGameplayConfig().getPlayerConfig().getMovementConfigId();
for (MovementConfig var8 : var1.getLoadedAssets().values()) {
Ref var9 = var4.getReferenceTo(var3);
Player var10 = var4.getComponent(var3, Player.getComponentType());
assert var10 != null;
PlayerRef var11 = var4.getComponent(var3, PlayerRef.getComponentType());
assert var11 != null;
PacketHandler var12 = var11.getPacketHandler();
if (var8.getId().equals("Mount") && var10.getMountEntityId() > 0) {
var12.writeNoCache(new UpdateMovementSettings(var8.toPacket()));
class="kw">return;
}
if (var6.equals(var8.getId())) {
MovementManager var13 = var4.getComponent(var3, MovementManager.getComponentType());
assert var13 != null;
var13.setDefaultSettings(var8, EntityUtils.getPhysicsValues(var9, var2), var10.getGameMode());
var13.applyDefaultSettings();
var13.update(var12);
}
}
});
}));
}
class="kw">private void onGameplayConfigLoadedAssetsEvent(LoadedAssetsEvent<String, GameplayConfig, DefaultAssetMap<String, GameplayConfig>> var1) {
Universe.get().getWorlds().forEach((var0, var1x) -> var1x.execute(() -> {
Store var1 = var1x.getEntityStore().getStore();
var1.forEachEntityParallel(MovementManager.getComponentType(), (var2, var3, var4) -> {
Ref var5 = var3.getReferenceTo(var2);
int var6 = var1x.getGameplayConfig().getPlayerConfig().getMovementConfigIndex();
MovementManager var7 = var3.getComponent(var2, MovementManager.getComponentType());
assert var7 != null;
Player var8 = var3.getComponent(var2, Player.getComponentType());
assert var8 != null;
PlayerRef var9 = var3.getComponent(var2, PlayerRef.getComponentType());
assert var9 != null;
MovementConfig var10 = (MovementConfig)((IndexedLookupTableAssetMap)MovementConfig.getAssetStore().getAssetMap()).getAsset(var6);
var7.setDefaultSettings(var10, EntityUtils.getPhysicsValues(var5, var1), var8.getGameMode());
var7.applyDefaultSettings();
PacketHandler var11 = var9.getPacketHandler();
var7.update(var11);
});
}));
}
class="kw">public ComponentType<EntityStore, AudioComponent> getAudioComponentType() {
class="kw">return this.audioComponentType;
}
class="kw">public ComponentType<EntityStore, MovementAudioComponent> getMovementAudioComponentType() {
class="kw">return this.movementAudioComponentType;
}
class="kw">public ComponentType<EntityStore, PositionDataComponent> getPositionDataComponentType() {
class="kw">return this.positionDataComponentType;
}
class="kw">public ComponentType<EntityStore, PlayerSettings> getPlayerSettingsComponentType() {
class="kw">return this.playerSettingsComponentType;
}
class="kw">public ComponentType<EntityStore, UniqueItemUsagesComponent> getUniqueItemUsagesComponentType() {
class="kw">return this.uniqueItemUsagesComponentType;
}
class="kw">public ComponentType<EntityStore, InventoryComponent.Storage> getStorageInventoryComponentType() {
class="kw">return this.storageInventoryComponentType;
}
class="kw">public ComponentType<EntityStore, InventoryComponent.Armor> getArmorInventoryComponentType() {
class="kw">return this.armorInventoryComponentType;
}
class="kw">public ComponentType<EntityStore, InventoryComponent.Hotbar> getHotbarInventoryComponentType() {
class="kw">return this.hotbarInventoryComponentType;
}
class="kw">public ComponentType<EntityStore, InventoryComponent.Utility> getUtilityInventoryComponentType() {
class="kw">return this.utilityInventoryComponentType;
}
class="kw">public ComponentType<EntityStore, InventoryComponent.Backpack> getBackpackInventoryComponentType() {
class="kw">return this.backpackInventoryComponentType;
}
class="kw">public ComponentType<EntityStore, InventoryComponent.Tool> getToolInventoryComponentType() {
class="kw">return this.toolInventoryComponentType;
}
class="kw">public ComponentType<EntityStore, InventoryComponent.Combined> getCombinedInventoryComponentType() {
class="kw">return this.combinedInventoryComponentType;
}
class="kw">public ComponentType<EntityStore, DropItemsComponent> getDropItemsComponentType() {
class="kw">return this.dropItemsComponentType;
}
class="kw">public ComponentType<EntityStore, ActiveAnimationComponent> getActiveAnimationComponentType() {
class="kw">return this.activeAnimationComponentType;
}
class="kw">public ComponentType<EntityStore, CachedStatsComponent> getCachedStatsComponentType() {
class="kw">return this.cachedStatsComponentType;
}
class="kw">public ComponentType<EntityStore, BreathingComponent> getBreathingComponentType() {
class="kw">return this.breathingComponentType;
}
class="kw">public ComponentType<EntityStore, HealthRegenState> getHealthRegenStateComponentType() {
class="kw">return this.healthRegenStateComponentType;
}
@Nullable
class="kw">public <T class="kw">extends Entity> EntityRegistration registerEntity(
@Nonnull String var1, @Nonnull Class<T> var2, Function<World, T> var3, @Nullable DirectDecodeCodec<T> var4
) {
if (this.isDisabled()) {
class="kw">return null;
}
this.idMap.put(var1, var2);
this.classIdMap.put(var2, var1);
this.classMap.put(var2, var3);
if (var4 != null) {
this.codecMap.put(var2, var4);
}
ComponentType var5;
if (var4 != null) {
var5 = this.getEntityStoreRegistry().registerComponent(var2, var1, (BuilderCodec<T>)var4, true);
} else {
var5 = this.getEntityStoreRegistry().registerComponent(var2, () -> {
throw new UnsupportedOperationException("Not implemented!");
});
}
this.classToComponentType.put(var2, var5);
this.getEntityStoreRegistry().registerSystem(new EntityModule.LegacyEntityHolderSystem<>(var5), true);
this.getEntityStoreRegistry().registerSystem(new EntityModule.LegacyEntityRefSystem<>(var5), true);
class="kw">return new EntityRegistration(var2, () -> this.getState() == PluginState.ENABLED, () -> this.unregisterEntity(var2));
}
class="kw">private <T class="kw">extends Entity> void unregisterEntity(Class<T> var1) {
if (!HytaleServer.get().isShuttingDown()) {
String var2 = this.classIdMap.remove(var1);
this.idMap.remove(var2);
this.classMap.remove(var1);
this.codecMap.remove(var1);
ComponentType var3 = this.classToComponentType.remove(var1);
EntityStore.REGISTRY.unregisterComponent(var3);
}
}
@Nullable
class="kw">public <T class="kw">extends Entity> Function<World, T> getConstructor(@Nullable Class<T> var1) {
if (this.isDisabled()) {
class="kw">return null;
} else {
class="kw">return (Function<World, T>)(var1 == null ? null : this.classMap.get(var1));
}
}
@Nullable
class="kw">public <T class="kw">extends Entity> DirectDecodeCodec<T> getCodec(@Nullable Class<T> var1) {
if (this.isDisabled()) {
class="kw">return null;
} else {
class="kw">return (DirectDecodeCodec<T>)(var1 == null ? null : this.codecMap.get(var1));
}
}
@Nullable
class="kw">public Class<? class="kw">extends Entity> getClass(@Nullable String var1) {
if (this.isDisabled()) {
class="kw">return null;
} else {
class="kw">return var1 == null ? null : this.idMap.get(var1);
}
}
@Nullable
class="kw">public String getIdentifier(@Nullable Class<? class="kw">extends Entity> var1) {
if (this.isDisabled()) {
class="kw">return null;
} else {
class="kw">return var1 == null ? null : this.classIdMap.get(var1);
}
}
@Nullable
class="kw">public <T class="kw">extends Entity> ComponentType<EntityStore, T> getComponentType(@Nullable Class<T> var1) {
if (this.isDisabled()) {
class="kw">return null;
} else if (var1 == null) {
class="kw">return null;
} else if (var1.equals(Player.class)) {
throw new IllegalArgumentException("Get player component type via #getPlayerComponentType()");
} else {
class="kw">return (ComponentType<EntityStore, T>)this.classToComponentType.get(var1);
}
}
class="kw">public boolean isKnown(@Nullable Entity var1) {
class="kw">return var1 != null && this.getConstructor(var1.getClass()) != null;
}
class="kw">public class="kw">static class LegacyEntityHolderSystem<T class="kw">extends Entity> class="kw">extends HolderSystem<EntityStore> {
class="kw">private class="kw">final ComponentType<EntityStore, T> componentType;
class="kw">public LegacyEntityHolderSystem(ComponentType<EntityStore, T> var1) {
this.componentType = var1;
}
@Nonnull
@Override
class="kw">public Set<Dependency<EntityStore>> getDependencies() {
class="kw">return RootDependency.firstSet();
}
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.componentType;
}
@Override
class="kw">public void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3) {
Entity var4 = var1.getComponent(this.componentType);
assert var4 != null;
var4.loadIntoWorld(var3.getExternalData().getWorld());
var1.putComponent(NetworkId.getComponentType(), new NetworkId(var4.getNetworkId()));
if (var1.getComponent(Player.getComponentType()) != null) {
String var5 = var4.getLegacyDisplayName();
if (var5 != null && var1.getComponent(DisplayNameComponent.getComponentType()) == null) {
var1.putComponent(DisplayNameComponent.getComponentType(), new DisplayNameComponent(Message.raw(var5)));
}
}
}
@Override
class="kw">public void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3) {
Entity var4 = var1.getComponent(this.componentType);
class="kw">switch (var2) {
case REMOVE:
case BUILDER_TOOLS_UNDO:
if (!var4.wasRemoved()) {
var4.remove();
var4.unloadFromWorld();
}
break;
case UNLOAD:
var4.unloadFromWorld();
var4.clearReference();
}
}
@Nonnull
@Override
class="kw">public String toString() {
class="kw">return "LegacyEntityHolderSystem{componentType=" + this.componentType + "}";
}
}
class="kw">public class="kw">static class LegacyEntityRefSystem<T class="kw">extends Entity> class="kw">extends RefSystem<EntityStore> {
class="kw">private class="kw">final ComponentType<EntityStore, T> componentType;
class="kw">public LegacyEntityRefSystem(ComponentType<EntityStore, T> var1) {
this.componentType = var1;
}
@Nonnull
@Override
class="kw">public Set<Dependency<EntityStore>> getDependencies() {
class="kw">return RootDependency.firstSet();
}
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return this.componentType;
}
@Override
class="kw">public void onEntityAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
Entity var5 = var3.getComponent(var1, this.componentType);
assert var5 != null;
var5.setReference(var1);
}
@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 String toString() {
class="kw">return "LegacyEntityRefSystem{componentType=" + this.componentType + "}";
}
}
class="kw">public class="kw">static class LegacyUUIDSystem class="kw">extends EntityModule.MigrationSystem {
class="kw">private class="kw">final Set<Dependency<EntityStore>> dependencies = Set.of(
new SystemDependency<>(Order.BEFORE, EntityStore.UUIDSystem.class), RootDependency.first()
);
class="kw">public LegacyUUIDSystem() {
}
@Override
class="kw">public void onEntityAdd(@Nonnull Holder<EntityStore> var1, @Nonnull AddReason var2, @Nonnull Store<EntityStore> var3) {
UUIDComponent var4 = var1.getComponent(UUIDComponent.getComponentType());
Entity var5 = EntityUtils.getEntity(var1);
if (var4 == null) {
UUID var6 = var5.getUuid();
if (var6 != null) {
var1.addComponent(UUIDComponent.getComponentType(), new UUIDComponent(var6));
}
} else {
var5.setLegacyUUID(var4.getUuid());
}
}
@Override
class="kw">public void onEntityRemoved(@Nonnull Holder<EntityStore> var1, @Nonnull RemoveReason var2, @Nonnull Store<EntityStore> var3) {
}
@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 AllLegacyEntityTypesQuery.INSTANCE;
}
}
class="kw">public class="kw">static class LegacyUUIDUpdateSystem class="kw">extends RefChangeSystem<EntityStore, UUIDComponent> {
class="kw">public LegacyUUIDUpdateSystem() {
}
@Nonnull
@Override
class="kw">public Query<EntityStore> getQuery() {
class="kw">return AllLegacyEntityTypesQuery.INSTANCE;
}
@Nonnull
@Override
class="kw">public ComponentType<EntityStore, UUIDComponent> componentType() {
class="kw">return UUIDComponent.getComponentType();
}
class="kw">public void onComponentAdded(
@Nonnull Ref<EntityStore> var1, @Nonnull UUIDComponent var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
EntityUtils.getEntity(var1, var3).setLegacyUUID(var2.getUuid());
}
class="kw">public void onComponentSet(
@Nonnull Ref<EntityStore> var1,
UUIDComponent var2,
@Nonnull UUIDComponent var3,
@Nonnull Store<EntityStore> var4,
@Nonnull CommandBuffer<EntityStore> var5
) {
EntityUtils.getEntity(var1, var4).setLegacyUUID(var3.getUuid());
}
class="kw">public void onComponentRemoved(
@Nonnull Ref<EntityStore> var1, @Nonnull UUIDComponent var2, @Nonnull Store<EntityStore> var3, @Nonnull CommandBuffer<EntityStore> var4
) {
EntityUtils.getEntity(var1, var3).setLegacyUUID(null);
}
}
class="kw">public class="kw">abstract class="kw">static class MigrationSystem class="kw">extends HolderSystem<EntityStore> {
class="kw">public MigrationSystem() {
}
}
class="kw">public enum Type {
PLAYERS,
ALL;
Type() {
}
}
}