/** * Registers a SubTileEntity, a new special flower. Look in the subtile package of the API. * Call this during {@code RegistryEvent.Register<Block>}, and don't forget to register a model in BotaniaAPIClient. */ public static void registerSubTile(String key, Class<? extends SubTileEntity> subtileClass) { subTiles.put(key, subtileClass); subTileMods.put(key, Loader.instance().activeModContainer().getModId()); }
builder.append( container.getModId() ); builder.append( container.getVersion() );
public static boolean isModLoaded( final String modid ) { try { // if this fails for some reason, try the other method. return Loader.isModLoaded( modid ); } catch( final Throwable ignored ) { } for( final ModContainer f : Loader.instance().getActiveModList() ) { if( f.getModId().equals( modid ) ) { return true; } } return false; }
/** * Tracks the mod container that was active when the element was handled. * * @param element The element being handled. * @param container The mod container that was active when the element was handled. */ private void trackModContainer (@Nonnull T element, ModContainer container) { if (container != null && !container.getModId().equalsIgnoreCase("Forge")) { this.modContainerMap.put(element, container); } }
private static String getCurrentMod() { ModContainer mc = Loader.instance().activeModContainer(); Preconditions.checkState(mc != null, "This method can be only used during mod initialization"); String prefix = mc.getModId().toLowerCase(); return prefix; }
public final void setRegistryName(String name) { int index = name.lastIndexOf(':'); String prefix = index == -1 ? "" : name.substring(0, index); name = index == -1 ? name : name.substring(index + 1); if(index == -1) { ModContainer mc = Loader.instance().activeModContainer(); prefix = mc == null || (mc instanceof InjectedModContainer && ((InjectedModContainer)mc).wrappedContainer instanceof FMLContainer) ? "minecraft" : mc.getModId().toLowerCase(); } this.registryName = new ResourceLocation(prefix, name); }
private ModMeta(ModContainer container) { this.container = container; this.modId = Strings.nullToEmpty(container.getModId()); this.name = Strings.nullToEmpty(container.getName()); this.version = Strings.nullToEmpty(container.getVersion()); this.metadata = container.getMetadata(); }
private static String getCurrentModId() { ModContainer activeModContainer = Loader.instance().activeModContainer(); if (activeModContainer != null) return activeModContainer.getModId(); return "minecraft"; }
protected void findFiles(String dir, List<ResourceLocation> list) { ModContainer mod = book.owner; String id = mod.getModId(); CraftingHelper.findFiles(mod, String.format("assets/%s/%s/%s/%s/%s", id, BookRegistry.BOOKS_LOCATION, book.resourceLoc.getResourcePath(), DEFAULT_LANG, dir), null, pred(id, list), false, false); }
private void collectFilesFromModContainers(ASMDataTable table) { final File dummyEntry = new File("minecraft.jar"); // dummy entry comes from MCP container for (ModContainer c : Loader.instance().getModList()) { File f = c.getSource(); if (f != null && !f.equals(dummyEntry) && !f.isDirectory()) { FileMeta meta = getOrCreateData(f); meta.mods.put(c.getModId(), new ModMeta(c)); } } }
@Override public void blacklistInterdiction(@Nonnull Class<? extends Entity> clazz) { Preconditions.checkNotNull(clazz); Preconditions.checkState(Loader.instance().isInState(LoaderState.POSTINITIALIZATION), "Mod %s registering interdiction blacklist at incorrect time!", Loader.instance().activeModContainer().getModId()); doBlacklistInterdiction(clazz, Loader.instance().activeModContainer().getModId()); }
@Override public void blacklistSwiftwolf(@Nonnull Class<? extends Entity> clazz) { Preconditions.checkNotNull(clazz); Preconditions.checkState(Loader.instance().isInState(LoaderState.POSTINITIALIZATION), "Mod %s registering SWRG repel at incorrect time!", Loader.instance().activeModContainer().getModId()); doBlacklistSwiftwolf(clazz, Loader.instance().activeModContainer().getModId()); }
@Override public void blacklistTimeWatch(@Nonnull Class<? extends TileEntity> clazz) { Preconditions.checkNotNull(clazz); Preconditions.checkState(Loader.instance().isInState(LoaderState.POSTINITIALIZATION), "Mod %s registering TimeWatch blacklist at incorrect time!", Loader.instance().activeModContainer().getModId()); doBlacklistTimewatch(clazz, Loader.instance().activeModContainer().getModId()); }
@Override public void whitelistNBT(@Nonnull ItemStack stack) { Preconditions.checkNotNull(stack); Preconditions.checkState(Loader.instance().isInState(LoaderState.POSTINITIALIZATION), "Mod %s registering NBT whitelist at incorrect time!", Loader.instance().activeModContainer().getModId()); doWhitelistNBT(stack, Loader.instance().activeModContainer().getModId()); }
@Override public void registerCustomEMC(@Nonnull Object o, long value) { Preconditions.checkNotNull(o); boolean flag = Loader.instance().isInState(LoaderState.PREINITIALIZATION) || Loader.instance().isInState(LoaderState.INITIALIZATION) || Loader.instance().isInState(LoaderState.POSTINITIALIZATION); Preconditions.checkState(flag, String.format("Mod %s tried to register EMC at an invalid time!", Loader.instance().activeModContainer().getModId())); APICustomEMCMapper.instance.registerCustomEMC(o, value); PECore.debugLog("Mod {} registered emc value {} for Object {}", Loader.instance().activeModContainer().getModId(), value, o); }
@Override public void registerCustomEMC(@Nonnull ItemStack stack, long value) { Preconditions.checkNotNull(stack); boolean flag = Loader.instance().isInState(LoaderState.PREINITIALIZATION) || Loader.instance().isInState(LoaderState.INITIALIZATION) || Loader.instance().isInState(LoaderState.POSTINITIALIZATION); Preconditions.checkState(flag, String.format("Mod %s tried to register EMC at an invalid time!", Loader.instance().activeModContainer().getModId())); APICustomEMCMapper.instance.registerCustomEMC(stack, value); PECore.debugLog("Mod {} registered emc value {} for itemstack {}", Loader.instance().activeModContainer().getModId(), value, stack.toString()); }
@Override public RodComponent createPole(String name, int durability, int strength) { ResourceLocation resource = new ResourceLocation(Loader.instance().activeModContainer().getModId(), name); return new RodPole(resource, durability, strength); }
@Override public RodComponent createHook(String name, int catchSpeed, Size... bestSizes) { ResourceLocation resource = new ResourceLocation(Loader.instance().activeModContainer().getModId(), name); return new RodHook(resource, catchSpeed, bestSizes); }
public GameRegistryObjectsProvider(String modPrefix) { langDecorator.setMod(modPrefix); itemModelDecorator.setMod(modPrefix); legacyBlockDecorator.setMod(modPrefix); legacyItemDecorator.setMod(modPrefix); this.modContainer = Loader.instance().activeModContainer(); Preconditions.checkNotNull(this.modContainer, "This class can only be initialized in mod init"); this.modId = this.modContainer.getModId(); }