@Override public void setupBlock(ModContainer container, String id, Class<? extends TileEntity> tileEntity, ItemBlock itemBlock) { this.modInstance = container.getMod(); if (tileEntity != null) { this.teClass = tileEntity; hasTileEntity = true; for (TileEntityCapability capability : TileEntityCapability.values()) if (capability.intf.isAssignableFrom(teClass)) teCapabilities.add(capability); } }
@Override protected @Nonnull Map<String, Configuration> getConfigurations() { Map<String, Configuration> result = new HashMap<>(); for (ModContainer modContainer : Loader.instance().getModList()) { Object mod = modContainer.getMod(); if (mod instanceof IEnderIOAddon) { Configuration configuration = ((IEnderIOAddon) mod).getConfiguration(); if (configuration != null) { result.put(modContainer.getModId(), configuration); } } } return result; }
/** * Get's the owning mod instance. If none is set, Bookshelf will attempt to auto-get it * using Forge's loader. * * @return The owning mod's instance. */ public Object getModInstance () { if (this.modInstance == null) { Constants.LOG.error("Registry helper for " + this.modid + " requires a mod instance be set. Attempting to get instance with mod ID. Please ask the mod author to set this themselves."); for (final ModContainer container : Loader.instance().getActiveModList()) { if (this.modid.equalsIgnoreCase(container.getModId())) { this.modInstance = container.getMod(); break; } } } return this.modInstance; }
private InputStream getResource(ResourceLocation resourceLocation) { final ModContainer container = Loader.instance().activeModContainer(); if (container != null) { final String resourcePath = String.format("/%s/%s/%s", "assets", resourceLocation.getResourceDomain(), resourceLocation.getResourcePath()); final InputStream resourceAsStream = container.getMod().getClass().getResourceAsStream(resourcePath); if (resourceAsStream != null) { return resourceAsStream; } else { throw new RuntimeException("Could not find resource " + resourceLocation); } } else { throw new RuntimeException("Failed to find current mod while looking for resource " + resourceLocation); } }
ResourceLocation res = pair.getRight(); InputStream stream = mod.getMod().getClass().getResourceAsStream(file); loadBook(mod, res, stream, false); });
@SubscribeEvent(priority = EventPriority.LOW) public static void registerAddonBlocks(@Nonnull RegistryEvent.Register<Block> event) { for (ModContainer modContainer : Loader.instance().getModList()) { Object mod = modContainer.getMod(); if (mod instanceof IEnderIOAddon) { ((IEnderIOAddon) mod).injectBlocks(NullHelper.notnullF(event.getRegistry(), "RegistryEvent.Register<Block>.getRegistry()")); } } }
@Override @SubscribeEvent public void onConfigChanged(@Nonnull OnConfigChangedEvent event) { if (event.getModID().equals(factory.getModid())) { Log.info("Updating config..."); syncConfig(); // also notify addons of the config change as we present their config values in our GUI for (ModContainer modContainer : Loader.instance().getModList()) { if (modContainer.getMod() instanceof IEnderIOAddon && !modContainer.getModId().equals(factory.getModid())) { MinecraftForge.EVENT_BUS.post(new OnConfigChangedEvent(modContainer.getModId(), null, event.isWorldRunning(), event.isRequiresMcRestart())); } } } }
for (ModContainer modContainer : modList) { bar2.step(modContainer.getName()); Object mod = modContainer.getMod(); if (mod instanceof IEnderIOAddon) { coreFiles.addAll(((IEnderIOAddon) mod).getRecipeFiles()); for (ModContainer modContainer : modList) { bar2.step(modContainer.getName()); Object mod = modContainer.getMod(); if (mod instanceof IEnderIOAddon) { ((IEnderIOAddon) mod).postRecipeRegistration();