net.minecraftforge.fml.common.Loader.getIndexedModList()方法的使用及代码示例

x33g5p2x  于2022-01-23 转载在 其他  
字(9.6k)|赞(0)|评价(0)|浏览(153)

本文整理了Java中net.minecraftforge.fml.common.Loader.getIndexedModList()方法的一些代码示例,展示了Loader.getIndexedModList()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Loader.getIndexedModList()方法的具体详情如下:
包路径:net.minecraftforge.fml.common.Loader
类名称:Loader
方法名:getIndexedModList

Loader.getIndexedModList介绍

暂无

代码示例

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

  1. public AERecipeLoader()
  2. {
  3. this.mod = Loader.instance().getIndexedModList().get( AppEng.MOD_ID );
  4. this.ctx = new JsonContext( AppEng.MOD_ID );
  5. this.initFactories();
  6. }

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

  1. @Override
  2. protected void renderHoveredToolTip( int mouseX, int mouseY )
  3. {
  4. final Slot slot = this.getSlot( mouseX, mouseY );
  5. if( slot != null && slot instanceof IMEFluidSlot && slot.isEnabled() )
  6. {
  7. final IMEFluidSlot fluidSlot = (IMEFluidSlot) slot;
  8. if( fluidSlot.getAEFluidStack() != null && fluidSlot.shouldRenderAsFluid() )
  9. {
  10. final IAEFluidStack fluidStack = fluidSlot.getAEFluidStack();
  11. final String formattedAmount = NumberFormat.getNumberInstance( Locale.US ).format( fluidStack.getStackSize() / 1000.0 ) + " B";
  12. final String modName = "" + TextFormatting.BLUE + TextFormatting.ITALIC + Loader.instance()
  13. .getIndexedModList()
  14. .get( Platform.getModId( fluidStack ) )
  15. .getName();
  16. final List<String> list = new ArrayList<>();
  17. list.add( fluidStack.getFluidStack().getLocalizedName() );
  18. list.add( formattedAmount );
  19. list.add( modName );
  20. this.drawHoveringText( list, mouseX, mouseY );
  21. return;
  22. }
  23. }
  24. super.renderHoveredToolTip( mouseX, mouseY );
  25. }

代码示例来源:origin: Darkhax-Minecraft/Bookshelf

  1. /**
  2. * Gets a mod container by it's ID.
  3. *
  4. * @param modID The ID of the mod to grab.
  5. * @return The ModContainer using that ID.
  6. */
  7. public static ModContainer getModContainer (String modID) {
  8. return Loader.instance().getIndexedModList().get(modID);
  9. }

代码示例来源:origin: mezz/JustEnoughItems

  1. private ForgeModIdHelper() {
  2. this.modMap = Loader.instance().getIndexedModList();
  3. }

代码示例来源:origin: TeamWizardry/Wizardry

  1. public static String[] getResourceListing(String mod, String path) {
  2. List<String> all = Lists.newArrayList();
  3. if (CraftingHelper.findFiles(Loader.instance().getIndexedModList().get(mod), "assets/" + mod + "/" + path, null,
  4. (root, full) -> all.add(root.relativize(full).toString()), false, false))
  5. return all.toArray(new String[0]);
  6. return new String[0];
  7. }

代码示例来源:origin: McJtyMods/TheOneProbe

  1. private static void init() {
  2. Map<String, ModContainer> modMap = Loader.instance().getIndexedModList();
  3. for (Map.Entry<String, ModContainer> modEntry : modMap.entrySet()) {
  4. String lowercaseId = modEntry.getKey().toLowerCase(Locale.ENGLISH);
  5. String modName = modEntry.getValue().getName();
  6. modNamesForIds.put(lowercaseId, modName);
  7. }
  8. }

代码示例来源:origin: OpenMods/OpenModsLib

  1. private static ModContainer findModContainer(ResourceLocation id) {
  2. if (id == null) return null;
  3. String modId = id.getResourceDomain();
  4. return Loader.instance().getIndexedModList().get(modId);
  5. }
  6. }

代码示例来源:origin: MrCrayfish/MrCrayfishFurnitureMod

  1. public void register(String method, String modid)
  2. {
  3. String[] data = method.split("\\.");
  4. String methodName = data[data.length - 1];
  5. String className = method.substring(0, method.length() - methodName.length() - 1);
  6. String modName = Loader.instance().getIndexedModList().get(modid).getName();
  7. try
  8. {
  9. Class clazz = Class.forName(className);
  10. Method registerMethod = clazz.getDeclaredMethod(methodName, IRecipeRegistry.class);
  11. registerMethod.invoke(null, (IRecipeRegistry) RecipeRegistryComm.getInstance(modName));
  12. }
  13. catch(Exception e)
  14. {
  15. logger.info("RecipeAPI: Unable to register comm recipes for " + modid);
  16. e.printStackTrace();
  17. }
  18. }

代码示例来源:origin: portablejim/VeinMiner

  1. @SuppressWarnings("UnusedDeclaration")
  2. @EventHandler
  3. public void init(@SuppressWarnings("UnusedParameters") FMLInitializationEvent event) {
  4. ModContainer thisMod = Loader.instance().getIndexedModList().get(ModInfo.MODID);
  5. if(thisMod != null) {
  6. String fileName = thisMod.getSource().getName();
  7. if(fileName.contains("-dev") || !fileName.contains(".jar")) {
  8. ModInfo.DEBUG_MODE = true;
  9. MinerLogger.debug("Enabling debug mode");
  10. }
  11. }
  12. }

代码示例来源:origin: TeamWizardry/Wizardry

  1. public void copyAllRecipes(File directory) {
  2. Map<String, ModContainer> modList = Loader.instance().getIndexedModList();
  3. for (Map.Entry<String, ModContainer> entry : modList.entrySet() ) {
  4. for (String recipeName : getResourceListing(entry.getKey(), "fluid_recipes")) {
  5. if (recipeName.isEmpty()) continue;
  6. InputStream stream = LibrarianLib.PROXY.getResource(entry.getKey(), "fluid_recipes/" + recipeName);
  7. if (stream == null) {
  8. Wizardry.logger.fatal(" > SOMETHING WENT WRONG! Could not read recipe " + recipeName + " from mod jar of '" + entry.getKey() + "'! Report this to the devs on Github!");
  9. continue;
  10. }
  11. try {
  12. FileUtils.copyInputStreamToFile(stream, new File(directory, recipeName));
  13. Wizardry.logger.info(" > Mana recipe " + recipeName + " copied successfully from mod jar.");
  14. } catch (IOException e) {
  15. e.printStackTrace();
  16. }
  17. }
  18. }
  19. }

代码示例来源:origin: RS485/LogisticsPipes

  1. public static boolean isModLoaded(String modId) {
  2. if (modId.contains("@")) {
  3. String version = modId.substring(modId.indexOf('@') + 1);
  4. modId = modId.substring(0, modId.indexOf('@'));
  5. if (Loader.isModLoaded(modId)) {
  6. ModContainer mod = Loader.instance().getIndexedModList().get(modId);
  7. if (mod != null) {
  8. return mod.getVersion().startsWith(version);
  9. }
  10. }
  11. return false;
  12. } else if (Loader.isModLoaded(modId)) {
  13. return true;
  14. } else {
  15. return ModAPIManager.INSTANCE.hasAPI(modId);
  16. }
  17. }

代码示例来源:origin: SleepyTrousers/EnderIO

  1. public static @Nonnull String block2Modname(IForgeRegistryEntry<?> block) {
  2. if (block != null) {
  3. final ResourceLocation registryName = block.getRegistryName();
  4. if (registryName != null) {
  5. final String modid = registryName.getResourceDomain();
  6. if (!Strings.isBlank(modid)) {
  7. final ModContainer modContainer = Loader.instance().getIndexedModList().get(modid);
  8. if (modContainer != null) {
  9. String name = modContainer.getName();
  10. if (name != null && !name.trim().isEmpty()) {
  11. return name;
  12. }
  13. }
  14. }
  15. }
  16. }
  17. return "(???)";
  18. }

代码示例来源:origin: AppliedEnergistics/Applied-Energistics-2

  1. final ModContainer imb = net.minecraftforge.fml.common.Loader.instance().getIndexedModList().get( "ImmibisCore" );
  2. if( imb != null )

代码示例来源:origin: DimensionalDevelopment/VanillaFix

  1. private static Map<File, Set<ModContainer>> makeModMap() {
  2. Map<File, Set<ModContainer>> modMap = new HashMap<>();
  3. for (ModContainer mod : Loader.instance().getModList()) {
  4. Set<ModContainer> currentMods = modMap.getOrDefault(mod.getSource(), new HashSet<>());
  5. currentMods.add(mod);
  6. try {
  7. modMap.put(mod.getSource().getCanonicalFile(), currentMods);
  8. } catch (IOException e) {
  9. throw new RuntimeException(e);
  10. }
  11. }
  12. try {
  13. modMap.remove(Loader.instance().getMinecraftModContainer().getSource()); // Ignore minecraft jar (minecraft)
  14. modMap.remove(Loader.instance().getIndexedModList().get("FML").getSource()); // Ignore forge jar (FML, forge)
  15. } catch (NullPointerException ignored) {
  16. // Workaround for https://github.com/MinecraftForge/MinecraftForge/issues/4919
  17. }
  18. return modMap;
  19. }

代码示例来源:origin: RS485/LogisticsPipes

  1. public String getModName() {
  2. if (modName == null) {
  3. ResourceLocation rl = item.getRegistryName();
  4. assert rl != null;
  5. Map<String, ModContainer> modList = Loader.instance().getIndexedModList();
  6. ModContainer mc = modList.get(rl.getResourceDomain());
  7. if (mc == null) {
  8. // get mod that really registered this item
  9. Map<ResourceLocation, String> map = ReflectionHelper.invokePrivateMethod(ForgeRegistry.class, ForgeRegistries.ITEMS, "getOverrideOwners", "getOverrideOwners", new Class[0], new Object[0]);
  10. final String key = map.get(rl);
  11. if (key != null)
  12. mc = modList.get(key);
  13. }
  14. modName = mc != null ? mc.getName() : "UNKNOWN";
  15. }
  16. return modName;
  17. }

代码示例来源:origin: Vazkii/Psi

  1. @SideOnly(Side.CLIENT)
  2. public void getTooltip(List<String> tooltip) {
  3. TooltipHelper.addToTooltip(tooltip, getUnlocalizedName());
  4. TooltipHelper.tooltipIfShift(tooltip, () -> addToTooltipAfterShift(tooltip));
  5. String addon = PsiAPI.pieceMods.get(getClass());
  6. if(!addon.equals(LibMisc.MOD_ID)) {
  7. ModContainer container = Loader.instance().getIndexedModList().get(addon);
  8. if (container != null)
  9. TooltipHelper.addToTooltip(tooltip, "psimisc.providerMod", container.getName());
  10. }
  11. }

代码示例来源:origin: RS485/LogisticsPipes

  1. public static boolean isModVersionEqualsOrHigher(String modId, String version) {
  2. ComparableVersion v1 = new ComparableVersion(version);
  3. ModContainer mod = Loader.instance().getIndexedModList().get(modId);
  4. if (mod != null) {
  5. ComparableVersion v2 = new ComparableVersion(mod.getVersion());
  6. return v1.compareTo(v2) <= 0;
  7. }
  8. return false;
  9. }
  10. }

代码示例来源:origin: portablejim/VeinMiner

  1. @SuppressWarnings("unused")
  2. @EventHandler
  3. public void init(@SuppressWarnings("UnusedParameters") FMLInitializationEvent event) {
  4. MinecraftForge.EVENT_BUS.register(this);
  5. ModContainer thisMod = Loader.instance().getIndexedModList().get(ModInfo.MOD_ID);
  6. if(thisMod != null) {
  7. String fileName = thisMod.getSource().getName();
  8. if(fileName.contains("-dev") || !fileName.contains(".jar")) {
  9. debugMode = true;
  10. devLog("DEV VERSION");
  11. }
  12. }
  13. forceConsumerAvailable = false;
  14. if(AUTODETECT_TOOLS_TOGGLE) {
  15. addTools();
  16. }
  17. }

代码示例来源:origin: ForestryMC/ForestryMC

  1. public static boolean isModLoaded(String modname, @Nullable String versionRangeString) {
  2. if (!isModLoaded(modname)) {
  3. return false;
  4. }
  5. if (versionRangeString != null) {
  6. ModContainer mod = Loader.instance().getIndexedModList().get(modname);
  7. ArtifactVersion modVersion = mod.getProcessedVersion();
  8. VersionRange versionRange = VersionParser.parseRange(versionRangeString);
  9. DefaultArtifactVersion requiredVersion = new DefaultArtifactVersion(modname, versionRange);
  10. return requiredVersion.containsVersion(modVersion);
  11. }
  12. return true;
  13. }

代码示例来源:origin: sinkillerj/ProjectE

  1. public CraftTweakerRecipeMapper() {
  2. //Check to make sure it is a version of CraftTweaker that uses the new Recipe System
  3. ctCompat = Loader.isModLoaded("crafttweaker") && VersionParser.parseVersionReference("crafttweaker@[4.1.5,)").containsVersion(Loader.instance().getIndexedModList().get("crafttweaker").getProcessedVersion());
  4. }

相关文章