This commit is contained in:
Zoë
2022-07-14 19:50:25 -07:00
parent 04c6363469
commit 1003304fde
45 changed files with 189 additions and 221 deletions
@@ -8,7 +8,6 @@ import java.nio.file.StandardCopyOption
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.plugins.BasePluginExtension
import org.gradle.kotlin.dsl.TaskContainerScope
import org.gradle.kotlin.dsl.apply
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.extra
@@ -88,7 +87,8 @@ fun Project.configureDistribution() {
val jar = getJarTask().archiveFileName.get()
resources.computeIfAbsent(
if (extra.has("bootstrap") && extra.get("bootstrap") as Boolean) "addons/bootstrap"
else "addons") { ArrayList() }.add(jar)
else "addons"
) { ArrayList() }.add(jar)
}
val options = DumperOptions()
@@ -7,8 +7,6 @@
package com.dfsek.terra.addons.biome;
import org.jetbrains.annotations.Nullable;
import java.util.Optional;
import java.util.Set;
@@ -21,14 +19,12 @@ import com.dfsek.terra.api.world.biome.PlatformBiome;
* Class representing a config-defined biome
*/
public class UserDefinedBiome implements Biome {
private PlatformBiome platformBiome;
private final String id;
private final BiomeTemplate config;
private final int color;
private final Set<String> tags;
private final Context context = new Context();
private PlatformBiome platformBiome;
public UserDefinedBiome(BiomeTemplate config) {
this.id = config.getID();
@@ -49,11 +45,6 @@ public class UserDefinedBiome implements Biome {
return Optional.ofNullable(platformBiome);
}
@Override
public int getColor() {
return color;
}
@Override
public void setPlatformBiome(PlatformBiome biome) {
if(platformBiome != null) {
@@ -63,6 +54,11 @@ public class UserDefinedBiome implements Biome {
this.platformBiome = biome;
}
@Override
public int getColor() {
return color;
}
@Override
public Set<String> getTags() {
return tags;
@@ -8,8 +8,6 @@
package com.dfsek.terra.api.world.biome;
import org.jetbrains.annotations.Nullable;
import java.util.Optional;
import java.util.Set;
@@ -29,6 +27,11 @@ public interface Biome extends PropertyHolder, StringIdentifiable {
*/
Optional<PlatformBiome> getPlatformBiome();
/**
* Sets the platform biome this custom biome delegates to.
*/
void setPlatformBiome(PlatformBiome biome);
/**
* Get the color of this biome.
*
@@ -42,9 +45,4 @@ public interface Biome extends PropertyHolder, StringIdentifiable {
* @return A {@link Set} of String tags this biome holds.
*/
Set<String> getTags();
/**
* Sets the platform biome this custom biome delegates to.
*/
void setPlatformBiome(PlatformBiome biome);
}
-1
View File
@@ -4,7 +4,6 @@ terra.source=https://github.com/PolyhedralDev/Terra
terra.issues=https://github.com/PolyhedralDev/Terra/issues
terra.wiki=https://github.com/PolyhedralDev/Terra/wiki
terra.license=MIT
# Gradle options
org.gradle.jvmargs=-Xmx4096M -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC
org.gradle.warning.mode=all
@@ -4,9 +4,6 @@ import ca.solostudios.strata.Versions;
import ca.solostudios.strata.version.Version;
import com.dfsek.terra.api.addon.BaseAddon;
import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
import com.dfsek.terra.api.event.functional.FunctionalEventHandler;
import com.dfsek.terra.api.world.biome.Biome;
public class BukkitAddon implements BaseAddon {
@@ -45,9 +45,8 @@ import com.dfsek.terra.bukkit.world.BukkitAdapter;
public class TerraBukkitPlugin extends JavaPlugin {
private static final Logger logger = LoggerFactory.getLogger(TerraBukkitPlugin.class);
private PlatformImpl platform;
private final Map<String, com.dfsek.terra.api.world.chunk.generation.ChunkGenerator> generatorMap = new HashMap<>();
private PlatformImpl platform;
@Override
public void onEnable() {
@@ -1,7 +1,5 @@
package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.bukkit.world.BukkitPlatformBiome;
import org.bukkit.generator.BiomeProvider;
import org.bukkit.generator.WorldInfo;
import org.jetbrains.annotations.NotNull;
@@ -12,6 +10,7 @@ import java.util.stream.StreamSupport;
import com.dfsek.terra.api.Handle;
import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.bukkit.world.BukkitPlatformBiome;
public class BukkitBiomeProvider extends BiomeProvider implements Handle {
@@ -1,12 +1,11 @@
package com.dfsek.terra.bukkit.nms;
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
import org.bukkit.Bukkit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.dfsek.terra.bukkit.PlatformImpl;
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
public interface Initializer {
@@ -1,9 +1,9 @@
package com.dfsek.terra.bukkit.world;
import com.dfsek.terra.api.world.biome.PlatformBiome;
import org.bukkit.block.Biome;
import com.dfsek.terra.api.world.biome.PlatformBiome;
public interface BukkitPlatformBiome extends PlatformBiome {
Biome getBukkitBiome();
@@ -1,9 +1,5 @@
package com.dfsek.terra.bukkit.nms.v1_19_R1;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.BiomeUtil;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.TagUtil;
import net.minecraft.core.Holder;
import net.minecraft.core.MappedRegistry;
import net.minecraft.core.WritableRegistry;
@@ -19,17 +15,18 @@ import java.util.Map;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.BiomeUtil;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.TagUtil;
import com.dfsek.terra.registry.master.ConfigRegistry;
public class AwfulBukkitHacks {
private static final Logger LOGGER = LoggerFactory.getLogger(AwfulBukkitHacks.class);
public static final Map<Holder<net.minecraft.world.level.biome.Biome>, Map<ResourceLocation,
ProbabilityCollection<ConfiguredStructure>>>
TERRA_BIOME_FERTILIZABLE_MAP = new HashMap<>();
public static final Map<TagKey<Biome>, List<ResourceLocation>>
TERRA_BIOME_TAG_MAP = new HashMap<>();
private static final Logger LOGGER = LoggerFactory.getLogger(AwfulBukkitHacks.class);
public static void registerBiomes(ConfigRegistry configRegistry) {
try {
@@ -1,7 +1,5 @@
package com.dfsek.terra.bukkit.nms.v1_19_R1;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VanillaBiomeProperties;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
@@ -15,6 +13,7 @@ import java.util.Objects;
import java.util.Optional;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VanillaBiomeProperties;
public class NMSBiomeInjector {
@@ -1,7 +1,5 @@
package com.dfsek.terra.bukkit.nms.v1_19_R1;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.ProtoPlatformBiome;
import com.mojang.serialization.Codec;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
@@ -11,6 +9,7 @@ import net.minecraft.world.level.biome.Climate.Sampler;
import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.ProtoPlatformBiome;
public class NMSBiomeProvider extends BiomeSource {
@@ -3,32 +3,6 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1;
import com.dfsek.tectonic.api.TypeRegistry;
import com.dfsek.tectonic.api.depth.DepthTracker;
import com.dfsek.tectonic.api.exception.LoadException;
import com.dfsek.terra.api.addon.BaseAddon;
import com.dfsek.terra.api.world.biome.PlatformBiome;
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.BiomeAdditionsSoundTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.BiomeMoodSoundTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.BiomeParticleConfigTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.EntityTypeTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.FertilizableConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.MusicSoundTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.ProtoPlatformBiome;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SoundEventTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnCostConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnEntryTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnSettingsTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnTypeConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VillagerTypeTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.BiomeUtil;
import net.minecraft.data.BuiltinRegistries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
@@ -48,11 +22,28 @@ import net.minecraft.world.level.biome.MobSpawnSettings;
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import org.bukkit.Bukkit;
import com.dfsek.terra.bukkit.PlatformImpl;
import java.util.List;
import java.util.Locale;
import com.dfsek.terra.api.addon.BaseAddon;
import com.dfsek.terra.api.world.biome.PlatformBiome;
import com.dfsek.terra.bukkit.PlatformImpl;
import com.dfsek.terra.bukkit.TerraBukkitPlugin;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.BiomeAdditionsSoundTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.BiomeMoodSoundTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.BiomeParticleConfigTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.EntityTypeTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.FertilizableConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.MusicSoundTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.ProtoPlatformBiome;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SoundEventTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnCostConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnEntryTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnSettingsTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.SpawnTypeConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VillagerTypeTemplate;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.BiomeUtil;
public class NMSPlatform extends PlatformImpl {
@@ -35,6 +35,7 @@ public class Reflection {
void setFrozen(MappedRegistry<?> instance, boolean frozen);
}
@Proxies(VillagerTypeProxy.class)
public interface VillagerTypeProxy {
@Static
@@ -3,8 +3,10 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1.config;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import java.util.Map;
import net.minecraft.resources.ResourceLocation;
import java.util.Map;
import com.dfsek.terra.api.structure.configured.ConfiguredStructure;
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
@@ -3,11 +3,11 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1.config;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import com.dfsek.terra.api.util.Range;
import net.minecraft.sounds.Music;
import net.minecraft.sounds.SoundEvent;
import com.dfsek.terra.api.util.Range;
public class MusicSoundTemplate implements ObjectTemplate<Music> {
@Value("sound")
@@ -17,17 +17,14 @@
package com.dfsek.terra.bukkit.nms.v1_19_R1.config;
import com.dfsek.terra.api.world.biome.PlatformBiome;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.MinecraftUtil;
import com.dfsek.terra.bukkit.world.BukkitPlatformBiome;
import net.minecraft.core.Registry;
import net.minecraft.data.BuiltinRegistries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.biome.Biome;
import org.bukkit.craftbukkit.v1_19_R1.block.CraftBlock;
import com.dfsek.terra.api.world.biome.PlatformBiome;
import com.dfsek.terra.bukkit.nms.v1_19_R1.util.MinecraftUtil;
import com.dfsek.terra.bukkit.world.BukkitPlatformBiome;
public class ProtoPlatformBiome implements PlatformBiome, BukkitPlatformBiome {
@@ -3,11 +3,11 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1.config;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import com.dfsek.terra.api.util.Range;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import com.dfsek.terra.api.util.Range;
public class SpawnEntryTemplate implements ObjectTemplate<SpawnerData> {
@Value("type")
@@ -3,11 +3,12 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1.config;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import java.util.List;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.level.biome.MobSpawnSettings;
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import java.util.List;
public class SpawnSettingsTemplate implements ObjectTemplate<MobSpawnSettings> {
@Value("spawns")
@@ -3,10 +3,11 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1.config;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import java.util.List;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.level.biome.MobSpawnSettings.SpawnerData;
import java.util.List;
public class SpawnTypeConfig implements ObjectTemplate<SpawnTypeConfig> {
@Value("group")
@@ -3,10 +3,6 @@ package com.dfsek.terra.bukkit.nms.v1_19_R1.config;
import com.dfsek.tectonic.api.config.template.ConfigTemplate;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.Music;
import net.minecraft.sounds.SoundEvent;
@@ -18,6 +14,11 @@ import net.minecraft.world.level.biome.Biome.Precipitation;
import net.minecraft.world.level.biome.Biome.TemperatureModifier;
import net.minecraft.world.level.biome.BiomeSpecialEffects.GrassColorModifier;
import net.minecraft.world.level.biome.MobSpawnSettings;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import com.dfsek.terra.api.properties.Properties;
@@ -1,10 +1,12 @@
package com.dfsek.terra.bukkit.nms.v1_19_R1.util;
import com.dfsek.terra.bukkit.nms.v1_19_R1.Reflection;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.FertilizableConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.ProtoPlatformBiome;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VanillaBiomeProperties;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.data.BuiltinRegistries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.entity.npc.VillagerType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,24 +15,21 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
import net.minecraft.data.BuiltinRegistries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.entity.npc.VillagerType;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.world.biome.Biome;
import com.dfsek.terra.bukkit.nms.v1_19_R1.Reflection;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.FertilizableConfig;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.ProtoPlatformBiome;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VanillaBiomeProperties;
public class BiomeUtil {
private static final Logger logger = LoggerFactory.getLogger(BiomeUtil.class);
public static final Map<Holder<net.minecraft.world.level.biome.Biome>, Map<ResourceLocation, FertilizableConfig>>
TERRA_BIOME_FERTILIZABLE_MAP = new HashMap<>();
public static final Map<TagKey<net.minecraft.world.level.biome.Biome>, List<ResourceLocation>>
TERRA_BIOME_TAG_MAP = new HashMap<>();
private static final Logger logger = LoggerFactory.getLogger(BiomeUtil.class);
protected static ResourceKey<net.minecraft.world.level.biome.Biome> registerBiome(ResourceLocation identifier,
net.minecraft.world.level.biome.Biome biome) {
@@ -17,11 +17,12 @@
package com.dfsek.terra.bukkit.nms.v1_19_R1.util;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.info.WorldProperties;
import net.minecraft.core.BlockPos;
import net.minecraft.world.level.LevelHeightAccessor;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.info.WorldProperties;
public final class MinecraftAdapter {
@@ -1,13 +1,5 @@
package com.dfsek.terra.bukkit.nms.v1_19_R1.util;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VanillaBiomeProperties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Locale;
import java.util.Objects;
import java.util.Optional;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Holder;
import net.minecraft.core.Registry;
@@ -21,11 +13,19 @@ import net.minecraft.world.level.biome.BiomeSpecialEffects;
import net.minecraft.world.level.block.entity.RandomizableContainerBlockEntity;
import net.minecraft.world.level.block.entity.SignBlockEntity;
import net.minecraft.world.level.block.entity.SpawnerBlockEntity;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Locale;
import java.util.Objects;
import java.util.Optional;
import com.dfsek.terra.api.block.entity.BlockEntity;
import com.dfsek.terra.api.block.entity.Container;
import com.dfsek.terra.api.block.entity.MobSpawner;
import com.dfsek.terra.api.block.entity.Sign;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.bukkit.nms.v1_19_R1.config.VanillaBiomeProperties;
public final class MinecraftUtil {
@@ -3,12 +3,11 @@ package com.dfsek.terra.mod.config;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import com.dfsek.terra.api.util.Range;
import net.minecraft.sound.MusicSound;
import net.minecraft.sound.SoundEvent;
import com.dfsek.terra.api.util.Range;
public class MusicSoundTemplate implements ObjectTemplate<MusicSound> {
@Value("sound")
@@ -3,12 +3,11 @@ package com.dfsek.terra.mod.config;
import com.dfsek.tectonic.api.config.template.annotations.Default;
import com.dfsek.tectonic.api.config.template.annotations.Value;
import com.dfsek.tectonic.api.config.template.object.ObjectTemplate;
import com.dfsek.terra.api.util.Range;
import net.minecraft.entity.EntityType;
import net.minecraft.world.biome.SpawnSettings.SpawnEntry;
import com.dfsek.terra.api.util.Range;
public class SpawnEntryTemplate implements ObjectTemplate<SpawnEntry> {
@Value("type")
@@ -26,13 +26,11 @@ import com.dfsek.terra.mod.mixin.access.VillagerTypeAccessor;
public class BiomeUtil {
private static final Logger logger = LoggerFactory.getLogger(BiomeUtil.class);
public static final Map<RegistryEntry<net.minecraft.world.biome.Biome>, Map<Identifier, FertilizableConfig>>
TERRA_BIOME_FERTILIZABLE_MAP = new HashMap<>();
public static final Map<TagKey<net.minecraft.world.biome.Biome>, List<Identifier>>
TERRA_BIOME_TAG_MAP = new HashMap<>();
private static final Logger logger = LoggerFactory.getLogger(BiomeUtil.class);
public static void registerBiomes() {
logger.info("Registering biomes...");
@@ -1,18 +1,14 @@
package com.dfsek.terra.lifecycle;
import cloud.commandframework.execution.CommandExecutionCoordinator;
import cloud.commandframework.fabric.FabricServerCommandManager;
import com.dfsek.terra.api.command.CommandSender;
import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent;
import com.dfsek.terra.mod.MinecraftAddon;
import net.minecraft.server.command.ServerCommandSource;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.dfsek.terra.api.command.CommandSender;
import com.dfsek.terra.api.event.events.platform.CommandRegistrationEvent;
public class LifecycleEntryPoint {
private static final Logger logger = LoggerFactory.getLogger(LifecycleEntryPoint.class);