Ejemplo n.º 1
0
        private static Dispatcher GetDispatcher(DispatcherResourcesBuilder dispatcherResources, VersionResources versionResources)
        {
            VersionResourceKeys keys             = versionResources.GetResourceKeys();
            RootNode            commandRootNode  = GetResources <CommandsBuilder, RootNode>(dispatcherResources.Commands, keys.GetCommandsKey());
            DispatcherResources commandResources = new DispatcherResources()
            {
                Anchors            = GetResources <AnchorsBuilder, Anchors>(dispatcherResources.Anchors, keys.GetAnchorsKey()),
                Blocks             = GetResources <BlocksBuilder, Blocks>(dispatcherResources.Blocks, keys.GetBlocksKey()),
                Colours            = GetResources <ColoursBuilder, Colours>(dispatcherResources.Colours, keys.GetColoursKey()),
                Components         = GetResources <ComponentsBuilder, Components>(dispatcherResources.Components, keys.GetComponentsKey()),
                Enchantments       = GetResources <EnchantmentsBuilder, Enchantments>(dispatcherResources.Enchantments, keys.GetEnchantmentsKey()),
                Entities           = GetResources <EntitiesBuilder, Entities>(dispatcherResources.Entities, keys.GetEntitiesKey()),
                Gamemodes          = GetResources <GamemodesBuilder, Gamemodes>(dispatcherResources.Gamemodes, keys.GetGamemodesKey()),
                Items              = GetResources <ItemsBuilder, Items>(dispatcherResources.Items, keys.GetItemsKey()),
                ItemComponents     = GetResources <ComponentsBuilder, Components>(dispatcherResources.ItemComponents, keys.GetItemComponentsKey()),
                ItemSlots          = GetResources <ItemSlotsBuilder, ItemSlots>(dispatcherResources.ItemSlots, keys.GetItemSlotsKey()),
                MobEffects         = GetResources <MobEffectsBuilder, MobEffects>(dispatcherResources.MobEffects, keys.GetMobEffectsKey()),
                ObjectiveCriteria  = GetResources <ObjectiveCriteriaBuilder, ObjectiveCriteria>(dispatcherResources.ObjectiveCriteria, keys.GetObjectiveCriteriaKey()),
                Operations         = GetResources <OperationsBuilder, Operations>(dispatcherResources.Operations, keys.GetOperationsKey()),
                Particles          = GetResources <ParticlesBuilder, Particles>(dispatcherResources.Particles, keys.GetParticlesKey()),
                ScoreboardSlots    = GetResources <ScoreboardSlotsBuilder, ScoreboardSlots>(dispatcherResources.ScoreboardSlots, keys.GetScoreboardSlotsKey()),
                SelectorArguments  = GetResources <SelectorArgumentsBuilder, EntitySelectorOptions>(dispatcherResources.SelectorArguments, keys.GetSelectorArgumentsKey()),
                Sorts              = GetResources <SortsBuilder, Sorts>(dispatcherResources.Sorts, keys.GetSortsKey()),
                TimeScalars        = GetResources <TimeScalarsBuilder, TimeScalars>(dispatcherResources.TimeScalars, keys.GetTimeScalarsKey()),
                StructureRotations = GetResources <StructureRotationsBuilder, StructureRotations>(dispatcherResources.StructureRotations, keys.GetStructureRotationsKey()),
                StructureMirrors   = GetResources <StructureMirrorsBuilder, StructureMirrors>(dispatcherResources.StructureMirrors, keys.GetStructureMirrorsKey())
            };

            Dispatcher dispatcher = new Dispatcher(versionResources.GetName(), commandRootNode, commandResources, versionResources.GetUseBedrockStringReader());

            return(dispatcher);
        }
Ejemplo n.º 2
0
        public Dictionary <string, Dispatcher> Build(DispatcherResourcesBuilder resources)
        {
            Dictionary <string, Dispatcher> dispatchers = new Dictionary <string, Dispatcher>();

            foreach (KeyValuePair <string, VersionResources> pair in Versions)
            {
                dispatchers.Add(pair.Key, GetDispatcher(resources, pair.Value));
            }
            return(dispatchers);
        }