Search in sources :

Example 6 with PojoPrefab

use of org.terasology.engine.entitySystem.prefab.internal.PojoPrefab in project Terasology by MovingBlocks.

the class EntitySerializerTest method setupClass.

@BeforeAll
public static void setupClass() throws Exception {
    context = new ContextImpl();
    CoreRegistry.setContext(context);
    context.put(RecordAndReplayCurrentStatus.class, new RecordAndReplayCurrentStatus());
    moduleManager = ModuleManagerFactory.create();
    context.put(ModuleManager.class, moduleManager);
    ModuleAwareAssetTypeManager assetTypeManager = new ModuleAwareAssetTypeManagerImpl();
    assetTypeManager.createAssetType(Prefab.class, PojoPrefab::new, "prefabs");
    assetTypeManager.switchEnvironment(moduleManager.getEnvironment());
    context.put(AssetManager.class, assetTypeManager.getAssetManager());
}
Also used : PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) ModuleAwareAssetTypeManager(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManager) RecordAndReplayCurrentStatus(org.terasology.engine.recording.RecordAndReplayCurrentStatus) ModuleAwareAssetTypeManagerImpl(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManagerImpl) ContextImpl(org.terasology.engine.context.internal.ContextImpl) BeforeAll(org.junit.jupiter.api.BeforeAll)

Example 7 with PojoPrefab

use of org.terasology.engine.entitySystem.prefab.internal.PojoPrefab in project Terasology by MovingBlocks.

the class BaseEntityRefTest method setupClass.

@BeforeAll
public static void setupClass() throws Exception {
    context = new ContextImpl();
    ModuleManager moduleManager = ModuleManagerFactory.create();
    context.put(ModuleManager.class, moduleManager);
    ModuleAwareAssetTypeManager assetTypeManager = new ModuleAwareAssetTypeManagerImpl();
    assetTypeManager.createAssetType(Prefab.class, PojoPrefab::new, "prefabs");
    assetTypeManager.switchEnvironment(moduleManager.getEnvironment());
    context.put(AssetManager.class, assetTypeManager.getAssetManager());
    context.put(RecordAndReplayCurrentStatus.class, new RecordAndReplayCurrentStatus());
    CoreRegistry.setContext(context);
}
Also used : PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) ModuleAwareAssetTypeManager(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManager) ModuleAwareAssetTypeManagerImpl(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManagerImpl) RecordAndReplayCurrentStatus(org.terasology.engine.recording.RecordAndReplayCurrentStatus) ContextImpl(org.terasology.engine.context.internal.ContextImpl) ModuleManager(org.terasology.engine.core.module.ModuleManager) BeforeAll(org.junit.jupiter.api.BeforeAll)

Example 8 with PojoPrefab

use of org.terasology.engine.entitySystem.prefab.internal.PojoPrefab in project Terasology by MovingBlocks.

the class HeadlessEnvironment method setupAssetManager.

@Override
protected AssetManager setupAssetManager() {
    ModuleAwareAssetTypeManager assetTypeManager = new ModuleAwareAssetTypeManagerImpl();
    // cast lambdas explicitly to avoid inconsistent compiler behavior wrt. type inference
    assetTypeManager.createAssetType(Prefab.class, PojoPrefab::new, "prefabs");
    assetTypeManager.createAssetType(BlockShape.class, BlockShapeImpl::new, "shapes");
    assetTypeManager.createAssetType(BlockSounds.class, BlockSounds::new, "blockSounds");
    assetTypeManager.createAssetType(BlockTile.class, BlockTile::new, "blockTiles");
    AssetType<BlockFamilyDefinition, BlockFamilyDefinitionData> blockFamilyDefinitionDataAssetType = assetTypeManager.createAssetType(BlockFamilyDefinition.class, BlockFamilyDefinition::new, "blocks");
    assetTypeManager.getAssetFileDataProducer(blockFamilyDefinitionDataAssetType).addAssetFormat(new BlockFamilyDefinitionFormat(assetTypeManager.getAssetManager()));
    assetTypeManager.createAssetType(StaticSound.class, NullSound::new, "sounds");
    assetTypeManager.createAssetType(StreamingSound.class, NullStreamingSound::new, "music");
    assetTypeManager.createAssetType(UISkinAsset.class, UISkinAsset::new, "skins");
    assetTypeManager.createAssetType(BehaviorTree.class, BehaviorTree::new, "behaviors");
    assetTypeManager.createAssetType(UIElement.class, UIElement::new, "ui");
    assetTypeManager.createAssetType(Font.class, FontImpl::new, "fonts");
    AssetType<Texture, TextureData> textureDataAssetType = assetTypeManager.createAssetType(Texture.class, HeadlessTexture::create, "textures", "fonts");
    assetTypeManager.getAssetFileDataProducer(textureDataAssetType).addAssetFormat(new PNGTextureFormat(Texture.FilterMode.NEAREST, path -> path.getPath().get(1).equals("textures")));
    assetTypeManager.getAssetFileDataProducer(textureDataAssetType).addAssetFormat(new PNGTextureFormat(Texture.FilterMode.LINEAR, path -> path.getPath().get(1).equals("fonts")));
    assetTypeManager.createAssetType(Shader.class, HeadlessShader::new, "shaders");
    assetTypeManager.createAssetType(Material.class, HeadlessMaterial::new, "materials");
    assetTypeManager.createAssetType(Mesh.class, HeadlessMesh::new, "mesh");
    assetTypeManager.createAssetType(SkeletalMesh.class, HeadlessSkeletalMesh::new, "skeletalMesh");
    assetTypeManager.createAssetType(MeshAnimation.class, MeshAnimationImpl::new, "animations");
    assetTypeManager.createAssetType(Atlas.class, Atlas::new, "atlas");
    assetTypeManager.createAssetType(Subtexture.class, Subtexture::new);
    assetTypeManager.switchEnvironment(context.get(ModuleManager.class).getEnvironment());
    context.put(ModuleAwareAssetTypeManager.class, assetTypeManager);
    context.put(AssetManager.class, assetTypeManager.getAssetManager());
    return assetTypeManager.getAssetManager();
}
Also used : PNGTextureFormat(org.terasology.engine.rendering.assets.texture.PNGTextureFormat) BlockFamilyDefinitionData(org.terasology.engine.world.block.loader.BlockFamilyDefinitionData) RecordAndReplayUtils(org.terasology.engine.recording.RecordAndReplayUtils) NetworkSystemImpl(org.terasology.engine.network.internal.NetworkSystemImpl) Texture(org.terasology.engine.rendering.assets.texture.Texture) LoggerFactory(org.slf4j.LoggerFactory) TypeRegistry(org.terasology.reflection.TypeRegistry) HeadlessSkeletalMesh(org.terasology.engine.core.subsystem.headless.assets.HeadlessSkeletalMesh) HeadlessMaterial(org.terasology.engine.core.subsystem.headless.assets.HeadlessMaterial) BasicCelestialModel(org.terasology.engine.world.sun.BasicCelestialModel) LoadPrefabs(org.terasology.engine.core.modes.loadProcesses.LoadPrefabs) RecordAndReplaySerializer(org.terasology.engine.recording.RecordAndReplaySerializer) WorldInfo(org.terasology.engine.world.internal.WorldInfo) BehaviorTree(org.terasology.engine.logic.behavior.asset.BehaviorTree) ExternalApiWhitelist(org.terasology.engine.core.module.ExternalApiWhitelist) Font(org.terasology.engine.rendering.assets.font.Font) ModuleAwareAssetTypeManager(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManager) BlockFamilyDefinitionFormat(org.terasology.engine.world.block.loader.BlockFamilyDefinitionFormat) StorageManager(org.terasology.engine.persistence.StorageManager) BlockShape(org.terasology.engine.world.block.shapes.BlockShape) Path(java.nio.file.Path) BlockFamilyLibrary(org.terasology.engine.world.block.family.BlockFamilyLibrary) HeadlessShader(org.terasology.engine.core.subsystem.headless.assets.HeadlessShader) MeshAnimationImpl(org.terasology.engine.rendering.assets.animation.MeshAnimationImpl) CollisionGroupTypeHandler(org.terasology.engine.persistence.typeHandling.extensionTypes.CollisionGroupTypeHandler) NullAudioManager(org.terasology.engine.audio.nullAudio.NullAudioManager) ModuleAwareAssetTypeManagerImpl(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManagerImpl) BlockSounds(org.terasology.engine.world.block.sounds.BlockSounds) BlockFamilyTypeHandler(org.terasology.engine.persistence.typeHandling.extensionTypes.BlockFamilyTypeHandler) ModuleEnvironment(org.terasology.gestalt.module.ModuleEnvironment) SkeletalMesh(org.terasology.engine.rendering.assets.skeletalmesh.SkeletalMesh) Set(java.util.Set) AudioManager(org.terasology.engine.audio.AudioManager) WorldProvider(org.terasology.engine.world.WorldProvider) BlockFamilyDefinition(org.terasology.engine.world.block.loader.BlockFamilyDefinition) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) UISkinAsset(org.terasology.nui.skin.UISkinAsset) Collectors(java.util.stream.Collectors) WorldTimeImpl(org.terasology.engine.world.time.WorldTimeImpl) EngineTime(org.terasology.engine.core.EngineTime) Context(org.terasology.engine.context.Context) ExtraBlockDataManager(org.terasology.engine.world.chunks.blockdata.ExtraBlockDataManager) BlockShapeImpl(org.terasology.engine.world.block.shapes.BlockShapeImpl) PNGTextureFormat(org.terasology.engine.rendering.assets.texture.PNGTextureFormat) EntitySystemSetupUtil(org.terasology.engine.core.bootstrap.EntitySystemSetupUtil) NullWorldAtlas(org.terasology.engine.world.block.tiles.NullWorldAtlas) TextureData(org.terasology.engine.rendering.assets.texture.TextureData) ModuleManagerFactory(org.terasology.engine.testUtil.ModuleManagerFactory) CollisionGroup(org.terasology.engine.physics.CollisionGroup) MeshAnimation(org.terasology.engine.rendering.assets.animation.MeshAnimation) Name(org.terasology.gestalt.naming.Name) Mockito.mock(org.mockito.Mockito.mock) BlockTile(org.terasology.engine.world.block.tiles.BlockTile) Atlas(org.terasology.engine.rendering.assets.atlas.Atlas) WorldAtlas(org.terasology.engine.world.block.tiles.WorldAtlas) NullStreamingSound(org.terasology.engine.audio.nullAudio.NullStreamingSound) Shader(org.terasology.engine.rendering.assets.shader.Shader) UIElement(org.terasology.nui.asset.UIElement) HeadlessMesh(org.terasology.engine.core.subsystem.headless.assets.HeadlessMesh) ModuleManager(org.terasology.engine.core.module.ModuleManager) EngineEntityManager(org.terasology.engine.entitySystem.entity.internal.EngineEntityManager) Block(org.terasology.engine.world.block.Block) Subtexture(org.terasology.engine.rendering.assets.texture.subtexture.Subtexture) Time(org.terasology.engine.core.Time) StaticSound(org.terasology.engine.audio.StaticSound) StreamingSound(org.terasology.engine.audio.StreamingSound) TypeHandlerLibrary(org.terasology.persistence.typeHandling.TypeHandlerLibrary) FontImpl(org.terasology.engine.rendering.assets.font.FontImpl) CelestialSystem(org.terasology.engine.world.sun.CelestialSystem) WorldTime(org.terasology.engine.world.time.WorldTime) AssetManager(org.terasology.gestalt.assets.management.AssetManager) ComponentSystemManager(org.terasology.engine.core.ComponentSystemManager) CollisionGroupManager(org.terasology.engine.physics.CollisionGroupManager) Logger(org.slf4j.Logger) ReadWriteStorageManager(org.terasology.engine.persistence.internal.ReadWriteStorageManager) BlockFamily(org.terasology.engine.world.block.family.BlockFamily) DefaultCelestialSystem(org.terasology.engine.world.sun.DefaultCelestialSystem) Files(java.nio.file.Files) AssetType(org.terasology.gestalt.assets.AssetType) IOException(java.io.IOException) Prefab(org.terasology.engine.entitySystem.prefab.Prefab) Mockito.when(org.mockito.Mockito.when) RecordAndReplayCurrentStatus(org.terasology.engine.recording.RecordAndReplayCurrentStatus) HeadlessTexture(org.terasology.engine.core.subsystem.headless.assets.HeadlessTexture) BlockManagerImpl(org.terasology.engine.world.block.internal.BlockManagerImpl) Config(org.terasology.engine.config.Config) ModuleTypeRegistry(org.terasology.reflection.ModuleTypeRegistry) Material(org.terasology.engine.rendering.assets.material.Material) BlockManager(org.terasology.engine.world.block.BlockManager) NullSound(org.terasology.engine.audio.nullAudio.NullSound) BlockTypeHandler(org.terasology.engine.persistence.typeHandling.extensionTypes.BlockTypeHandler) Mesh(org.terasology.engine.rendering.assets.mesh.Mesh) NetworkSystem(org.terasology.engine.network.NetworkSystem) PathManager(org.terasology.engine.core.PathManager) NullStreamingSound(org.terasology.engine.audio.nullAudio.NullStreamingSound) UIElement(org.terasology.nui.asset.UIElement) HeadlessMaterial(org.terasology.engine.core.subsystem.headless.assets.HeadlessMaterial) BlockFamilyDefinitionFormat(org.terasology.engine.world.block.loader.BlockFamilyDefinitionFormat) BlockTile(org.terasology.engine.world.block.tiles.BlockTile) Texture(org.terasology.engine.rendering.assets.texture.Texture) HeadlessTexture(org.terasology.engine.core.subsystem.headless.assets.HeadlessTexture) MeshAnimationImpl(org.terasology.engine.rendering.assets.animation.MeshAnimationImpl) HeadlessShader(org.terasology.engine.core.subsystem.headless.assets.HeadlessShader) FontImpl(org.terasology.engine.rendering.assets.font.FontImpl) HeadlessTexture(org.terasology.engine.core.subsystem.headless.assets.HeadlessTexture) BlockFamilyDefinitionData(org.terasology.engine.world.block.loader.BlockFamilyDefinitionData) TextureData(org.terasology.engine.rendering.assets.texture.TextureData) HeadlessSkeletalMesh(org.terasology.engine.core.subsystem.headless.assets.HeadlessSkeletalMesh) NullSound(org.terasology.engine.audio.nullAudio.NullSound) PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) NullWorldAtlas(org.terasology.engine.world.block.tiles.NullWorldAtlas) Atlas(org.terasology.engine.rendering.assets.atlas.Atlas) WorldAtlas(org.terasology.engine.world.block.tiles.WorldAtlas) BlockShapeImpl(org.terasology.engine.world.block.shapes.BlockShapeImpl) UISkinAsset(org.terasology.nui.skin.UISkinAsset) ModuleAwareAssetTypeManager(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManager) ModuleAwareAssetTypeManagerImpl(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManagerImpl) BehaviorTree(org.terasology.engine.logic.behavior.asset.BehaviorTree) HeadlessMesh(org.terasology.engine.core.subsystem.headless.assets.HeadlessMesh) BlockSounds(org.terasology.engine.world.block.sounds.BlockSounds) BlockFamilyDefinition(org.terasology.engine.world.block.loader.BlockFamilyDefinition) Subtexture(org.terasology.engine.rendering.assets.texture.subtexture.Subtexture)

Example 9 with PojoPrefab

use of org.terasology.engine.entitySystem.prefab.internal.PojoPrefab in project Terasology by MovingBlocks.

the class PojoEntityPoolTest method setupClass.

@BeforeAll
public static void setupClass() throws Exception {
    context = new ContextImpl();
    ModuleManager moduleManager = ModuleManagerFactory.create();
    context.put(ModuleManager.class, moduleManager);
    ModuleAwareAssetTypeManager assetTypeManager = new ModuleAwareAssetTypeManagerImpl();
    assetTypeManager.createAssetType(Prefab.class, PojoPrefab::new, "prefabs");
    assetTypeManager.switchEnvironment(moduleManager.getEnvironment());
    context.put(AssetManager.class, assetTypeManager.getAssetManager());
    context.put(RecordAndReplayCurrentStatus.class, new RecordAndReplayCurrentStatus());
    CoreRegistry.setContext(context);
}
Also used : PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) ModuleAwareAssetTypeManager(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManager) ModuleAwareAssetTypeManagerImpl(org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManagerImpl) RecordAndReplayCurrentStatus(org.terasology.engine.recording.RecordAndReplayCurrentStatus) ContextImpl(org.terasology.engine.context.internal.ContextImpl) ModuleManager(org.terasology.engine.core.module.ModuleManager) BeforeAll(org.junit.jupiter.api.BeforeAll)

Aggregations

PojoPrefab (org.terasology.engine.entitySystem.prefab.internal.PojoPrefab)9 ModuleManager (org.terasology.engine.core.module.ModuleManager)7 ModuleAwareAssetTypeManager (org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManager)7 ModuleAwareAssetTypeManagerImpl (org.terasology.gestalt.assets.module.ModuleAwareAssetTypeManagerImpl)7 ContextImpl (org.terasology.engine.context.internal.ContextImpl)6 RecordAndReplayCurrentStatus (org.terasology.engine.recording.RecordAndReplayCurrentStatus)6 BeforeAll (org.junit.jupiter.api.BeforeAll)4 BehaviorTree (org.terasology.engine.logic.behavior.asset.BehaviorTree)3 BeforeEach (org.junit.jupiter.api.BeforeEach)2 Prefab (org.terasology.engine.entitySystem.prefab.Prefab)2 PojoPrefabManager (org.terasology.engine.entitySystem.prefab.internal.PojoPrefabManager)2 NetworkSystem (org.terasology.engine.network.NetworkSystem)2 BlockFamilyDefinition (org.terasology.engine.world.block.loader.BlockFamilyDefinition)2 BlockFamilyDefinitionData (org.terasology.engine.world.block.loader.BlockFamilyDefinitionData)2 BlockFamilyDefinitionFormat (org.terasology.engine.world.block.loader.BlockFamilyDefinitionFormat)2 BlockShapeImpl (org.terasology.engine.world.block.shapes.BlockShapeImpl)2 BlockSounds (org.terasology.engine.world.block.sounds.BlockSounds)2 BlockTile (org.terasology.engine.world.block.tiles.BlockTile)2 UIElement (org.terasology.nui.asset.UIElement)2 UISkinAsset (org.terasology.nui.skin.UISkinAsset)2