/* * Copyright (C) 2014-2022 Daniel Saukel * * This library is free software: you can redistribute it and/or modify it under the * terms of the GNU Lesser General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. See the GNULesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with * this program. If not, see . */ package de.erethon.dungeonsxl.api; import de.erethon.bedrock.misc.Registry; import de.erethon.dungeonsxl.api.dungeon.GameRule; import de.erethon.dungeonsxl.api.sign.DungeonSign; /** * Class that manages initialization of several registries. *

* Addons should implement this interface and add their feature implementations to the registry in the respective method. * * @author Daniel Saukel */ public interface DungeonModule { /** * Initializes the {@link de.erethon.dungeonsxl.api.Requirement requirement} registry. * * @param requirementRegistry the registry */ void initRequirements(Registry> requirementRegistry); /** * Initializes the {@link de.erethon.dungeonsxl.api.Reward reward} registry. * * @param rewardRegistry the registry */ void initRewards(Registry> rewardRegistry); /** * Initializes the {@link de.erethon.dungeonsxl.api.sign.DungeonSign dungeon sign} registry. * * @param signRegistry the registry */ void initSigns(Registry> signRegistry); /** * Initializes the {@link de.erethon.dungeonsxl.api.dungeon.GameRule game rule} registry. * * @param gameRuleRegistry the registry */ void initGameRules(Registry gameRuleRegistry); }