Search in sources :

Example 6 with BlockFamilyDefinitionData

use of org.terasology.engine.world.block.loader.BlockFamilyDefinitionData in project Terasology by MovingBlocks.

the class UniverseSetupScreen method initAssets.

private void initAssets() {
    ModuleEnvironment environment = context.get(ModuleManager.class).getEnvironment();
    BlockFamilyLibrary library = new BlockFamilyLibrary(environment, context);
    // 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(UISkinAsset.class, UISkinAsset::new, "skins");
    assetTypeManager.createAssetType(BehaviorTree.class, BehaviorTree::new, "behaviors");
    assetTypeManager.createAssetType(UIElement.class, UIElement::new, "ui");
}
Also used : PojoPrefab(org.terasology.engine.entitySystem.prefab.internal.PojoPrefab) BlockShapeImpl(org.terasology.engine.world.block.shapes.BlockShapeImpl) UIElement(org.terasology.nui.asset.UIElement) UISkinAsset(org.terasology.nui.skin.UISkinAsset) BlockFamilyDefinitionFormat(org.terasology.engine.world.block.loader.BlockFamilyDefinitionFormat) BlockFamilyLibrary(org.terasology.engine.world.block.family.BlockFamilyLibrary) BlockTile(org.terasology.engine.world.block.tiles.BlockTile) ModuleManager(org.terasology.engine.core.module.ModuleManager) BehaviorTree(org.terasology.engine.logic.behavior.asset.BehaviorTree) BlockSounds(org.terasology.engine.world.block.sounds.BlockSounds) BlockFamilyDefinitionData(org.terasology.engine.world.block.loader.BlockFamilyDefinitionData) ModuleEnvironment(org.terasology.gestalt.module.ModuleEnvironment) BlockFamilyDefinition(org.terasology.engine.world.block.loader.BlockFamilyDefinition)

Example 7 with BlockFamilyDefinitionData

use of org.terasology.engine.world.block.loader.BlockFamilyDefinitionData in project Terasology by MovingBlocks.

the class BetweenChunkPropagationTest method setup.

@BeforeEach
@Override
public void setup() throws Exception {
    super.setup();
    AssetManager assetManager = CoreRegistry.get(AssetManager.class);
    regenRules = new SunlightRegenPropagationRules();
    blockManager = new BlockManagerImpl(new NullWorldAtlas(), assetManager, true);
    CoreRegistry.put(BlockManager.class, blockManager);
    extraDataManager = new ExtraBlockDataManager();
    BlockFamilyDefinitionData solidData = new BlockFamilyDefinitionData();
    solidData.getBaseSection().setDisplayName("Stone");
    solidData.getBaseSection().setShape(assetManager.getAsset("engine:cube", BlockShape.class).get());
    solidData.getBaseSection().setTranslucent(false);
    solidData.setBlockFamily(SymmetricFamily.class);
    assetManager.loadAsset(new ResourceUrn("engine:stone"), solidData, BlockFamilyDefinition.class);
    solid = blockManager.getBlock(new BlockUri(new ResourceUrn("engine:stone")));
    regenWorldView = new SunlightRegenWorldView(provider);
    lightWorldView = new SunlightWorldView(provider);
    lightRules = new SunlightPropagationRules(regenWorldView);
    sunlightPropagator = new StandardBatchPropagator(lightRules, lightWorldView);
    propagator = new SunlightRegenBatchPropagator(regenRules, regenWorldView, sunlightPropagator, lightWorldView);
}
Also used : BlockUri(org.terasology.engine.world.block.BlockUri) AssetManager(org.terasology.gestalt.assets.management.AssetManager) ExtraBlockDataManager(org.terasology.engine.world.chunks.blockdata.ExtraBlockDataManager) SunlightRegenWorldView(org.terasology.engine.world.propagation.light.SunlightRegenWorldView) SunlightPropagationRules(org.terasology.engine.world.propagation.light.SunlightPropagationRules) SunlightWorldView(org.terasology.engine.world.propagation.light.SunlightWorldView) BlockFamilyDefinitionData(org.terasology.engine.world.block.loader.BlockFamilyDefinitionData) NullWorldAtlas(org.terasology.engine.world.block.tiles.NullWorldAtlas) ResourceUrn(org.terasology.gestalt.assets.ResourceUrn) SunlightRegenPropagationRules(org.terasology.engine.world.propagation.light.SunlightRegenPropagationRules) BlockManagerImpl(org.terasology.engine.world.block.internal.BlockManagerImpl) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 8 with BlockFamilyDefinitionData

use of org.terasology.engine.world.block.loader.BlockFamilyDefinitionData in project Terasology by MovingBlocks.

the class BulkLightPropagationTest method setup.

@BeforeEach
public void setup() throws Exception {
    super.setup();
    lightRules = new LightPropagationRules();
    AssetManager assetManager = CoreRegistry.get(AssetManager.class);
    blockManager = new BlockManagerImpl(new NullWorldAtlas(), assetManager, true);
    CoreRegistry.put(BlockManager.class, blockManager);
    BlockFamilyDefinitionData fullLightData = new BlockFamilyDefinitionData();
    fullLightData.getBaseSection().setDisplayName("Torch");
    fullLightData.getBaseSection().setShape(assetManager.getAsset("engine:cube", BlockShape.class).get());
    fullLightData.getBaseSection().setLuminance(Chunks.MAX_LIGHT);
    fullLightData.getBaseSection().setTranslucent(true);
    fullLightData.setBlockFamily(SymmetricFamily.class);
    assetManager.loadAsset(new ResourceUrn("engine:torch"), fullLightData, BlockFamilyDefinition.class);
    fullLight = blockManager.getBlock(new BlockUri(new ResourceUrn("engine:torch")));
    BlockFamilyDefinitionData weakLightData = new BlockFamilyDefinitionData();
    weakLightData.getBaseSection().setDisplayName("PartLight");
    weakLightData.getBaseSection().setShape(assetManager.getAsset("engine:cube", BlockShape.class).get());
    weakLightData.getBaseSection().setLuminance((byte) 2);
    weakLightData.getBaseSection().setTranslucent(true);
    weakLightData.setBlockFamily(SymmetricFamily.class);
    assetManager.loadAsset(new ResourceUrn("engine:weakLight"), weakLightData, BlockFamilyDefinition.class);
    weakLight = blockManager.getBlock(new BlockUri(new ResourceUrn("engine:weakLight")));
    BlockFamilyDefinitionData mediumLightData = new BlockFamilyDefinitionData();
    mediumLightData.getBaseSection().setDisplayName("MediumLight");
    mediumLightData.getBaseSection().setShape(assetManager.getAsset("engine:cube", BlockShape.class).get());
    mediumLightData.getBaseSection().setLuminance((byte) 5);
    mediumLightData.getBaseSection().setTranslucent(true);
    mediumLightData.setBlockFamily(SymmetricFamily.class);
    assetManager.loadAsset(new ResourceUrn("engine:mediumLight"), mediumLightData, BlockFamilyDefinition.class);
    mediumLight = blockManager.getBlock(new BlockUri(new ResourceUrn("engine:mediumLight")));
    BlockFamilyDefinitionData solidData = new BlockFamilyDefinitionData();
    solidData.getBaseSection().setDisplayName("Stone");
    solidData.getBaseSection().setShape(assetManager.getAsset("engine:cube", BlockShape.class).get());
    solidData.getBaseSection().setTranslucent(false);
    solidData.setBlockFamily(SymmetricFamily.class);
    assetManager.loadAsset(new ResourceUrn("engine:stone"), solidData, BlockFamilyDefinition.class);
    solid = blockManager.getBlock(new BlockUri(new ResourceUrn("engine:stone")));
    BlockFamilyDefinitionData solidMediumLightData = new BlockFamilyDefinitionData();
    solidMediumLightData.getBaseSection().setDisplayName("SolidMediumLight");
    solidMediumLightData.getBaseSection().setShape(assetManager.getAsset("engine:cube", BlockShape.class).get());
    solidMediumLightData.getBaseSection().setTranslucent(false);
    solidMediumLightData.getBaseSection().setLuminance((byte) 5);
    solidMediumLightData.setBlockFamily(SymmetricFamily.class);
    assetManager.loadAsset(new ResourceUrn("engine:solidMediumLight"), solidMediumLightData, BlockFamilyDefinition.class);
    solidMediumLight = blockManager.getBlock(new BlockUri(new ResourceUrn("engine:solidMediumLight")));
    air = blockManager.getBlock(BlockManager.AIR_ID);
}
Also used : LightPropagationRules(org.terasology.engine.world.propagation.light.LightPropagationRules) BlockUri(org.terasology.engine.world.block.BlockUri) AssetManager(org.terasology.gestalt.assets.management.AssetManager) BlockFamilyDefinitionData(org.terasology.engine.world.block.loader.BlockFamilyDefinitionData) NullWorldAtlas(org.terasology.engine.world.block.tiles.NullWorldAtlas) ResourceUrn(org.terasology.gestalt.assets.ResourceUrn) BlockManagerImpl(org.terasology.engine.world.block.internal.BlockManagerImpl) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 9 with BlockFamilyDefinitionData

use of org.terasology.engine.world.block.loader.BlockFamilyDefinitionData in project Terasology by MovingBlocks.

the class BulkSunlightPropagationTest method setup.

@BeforeEach
public void setup() throws Exception {
    super.setup();
    regenRules = new SunlightRegenPropagationRules();
    AssetManager assetManager = CoreRegistry.get(AssetManager.class);
    blockManager = new BlockManagerImpl(new NullWorldAtlas(), assetManager, true);
    CoreRegistry.put(BlockManager.class, blockManager);
    BlockFamilyDefinitionData solidData = new BlockFamilyDefinitionData();
    solidData.getBaseSection().setDisplayName("Stone");
    solidData.getBaseSection().setShape(assetManager.getAsset("engine:cube", BlockShape.class).get());
    solidData.getBaseSection().setTranslucent(false);
    solidData.setBlockFamily(SymmetricFamily.class);
    assetManager.loadAsset(new ResourceUrn("engine:stone"), solidData, BlockFamilyDefinition.class);
    solid = blockManager.getBlock(new BlockUri(new ResourceUrn("engine:stone")));
    air = blockManager.getBlock(BlockManager.AIR_ID);
    Map<Vector3ic, Block> blockData = Maps.newHashMap();
    regenWorldView = new StubPropagatorWorldView(Chunks.CHUNK_REGION, air, blockData);
    lightWorldView = new StubPropagatorWorldView(Chunks.CHUNK_REGION, air, blockData);
    lightRules = new SunlightPropagationRules(regenWorldView);
    sunlightPropagator = new StandardBatchPropagator(lightRules, lightWorldView);
    propagator = new SunlightRegenBatchPropagator(regenRules, regenWorldView, sunlightPropagator, lightWorldView);
}
Also used : BlockUri(org.terasology.engine.world.block.BlockUri) AssetManager(org.terasology.gestalt.assets.management.AssetManager) SunlightPropagationRules(org.terasology.engine.world.propagation.light.SunlightPropagationRules) BlockFamilyDefinitionData(org.terasology.engine.world.block.loader.BlockFamilyDefinitionData) Vector3ic(org.joml.Vector3ic) Block(org.terasology.engine.world.block.Block) NullWorldAtlas(org.terasology.engine.world.block.tiles.NullWorldAtlas) ResourceUrn(org.terasology.gestalt.assets.ResourceUrn) SunlightRegenPropagationRules(org.terasology.engine.world.propagation.light.SunlightRegenPropagationRules) BlockManagerImpl(org.terasology.engine.world.block.internal.BlockManagerImpl) BeforeEach(org.junit.jupiter.api.BeforeEach)

Example 10 with BlockFamilyDefinitionData

use of org.terasology.engine.world.block.loader.BlockFamilyDefinitionData 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)

Aggregations

BlockFamilyDefinitionData (org.terasology.engine.world.block.loader.BlockFamilyDefinitionData)13 ResourceUrn (org.terasology.gestalt.assets.ResourceUrn)10 AssetManager (org.terasology.gestalt.assets.management.AssetManager)8 BeforeEach (org.junit.jupiter.api.BeforeEach)7 BlockManagerImpl (org.terasology.engine.world.block.internal.BlockManagerImpl)7 NullWorldAtlas (org.terasology.engine.world.block.tiles.NullWorldAtlas)7 BlockUri (org.terasology.engine.world.block.BlockUri)6 ExtraBlockDataManager (org.terasology.engine.world.chunks.blockdata.ExtraBlockDataManager)6 ModuleManager (org.terasology.engine.core.module.ModuleManager)3 PojoPrefab (org.terasology.engine.entitySystem.prefab.internal.PojoPrefab)2 BehaviorTree (org.terasology.engine.logic.behavior.asset.BehaviorTree)2 Block (org.terasology.engine.world.block.Block)2 BlockFamilyDefinition (org.terasology.engine.world.block.loader.BlockFamilyDefinition)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 SunlightPropagationRules (org.terasology.engine.world.propagation.light.SunlightPropagationRules)2 SunlightRegenPropagationRules (org.terasology.engine.world.propagation.light.SunlightRegenPropagationRules)2 ModuleEnvironment (org.terasology.gestalt.module.ModuleEnvironment)2