Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Mod(AlchemicalBees.MODID)
- public class AlchemicalBees {
- // Directly reference a log4j logger.
- public static final String MODID = "alchemicalbees";
- public static ItemGroup ITEM_GROUP;
- private static final Logger LOGGER = LogManager.getLogger();
- public static final IProxy PROXY = DistExecutor.safeRunForDist(() -> ClientProxy::new, () -> ServerProxy::new);
- private static final String[] LOCALES = new String[]{
- "en_us",
- "en_uk"
- };
- public AlchemicalBees() {
- IEventBus mod = FMLJavaModLoadingContext.get().getModEventBus();
- IEventBus forge = MinecraftForge.EVENT_BUS;
- PROXY.setup(mod, forge);
- addRegistries(mod);
- mod.addListener(this::commonSetup);
- mod.addListener(this::gatherData);
- }
- private void commonSetup(final FMLCommonSetupEvent event) {
- }
- private void addRegistries(IEventBus mod) {
- ALBItem.generateItems();
- ALBBlock.generateBlocks();
- ITEM_GROUP = new ItemGroup("alchemical_bees") {
- @Override
- @OnlyIn(Dist.CLIENT)
- public ItemStack createIcon() {
- return new ItemStack(ALBItem.registeredItems.get("royal_jelly").item.get());
- }
- };
- ALBItem.addToTab();
- ALBItem.ITEMS.register(mod);
- ALBBlock.BLOCKS.register(mod);
- }
- private void gatherData(final GatherDataEvent event) {
- LOGGER.debug("Running data gen #1");
- DataGenerator gen = event.getGenerator();
- if (event.includeClient()) {
- LOGGER.debug("Running data gen #2");
- ExistingFileHelper efh = event.getExistingFileHelper();
- gen.addProvider(new ALBItemModelProvider(gen, efh));
- gen.addProvider(new ALBBlockStateProvider(gen, efh));
- addLanguageProviders(gen);
- LOGGER.debug("Running data gen #6");
- }
- }
- private void addLanguageProviders(final DataGenerator gen) {
- for (String locale : LOCALES) {
- gen.addProvider(new ALBLanguageProvider(gen, locale));
- }
- }
- }
- public class ALBBlockStateProvider extends BlockStateProvider {
- private static final Logger LOGGER = LogManager.getLogger();
- public ALBBlockStateProvider(DataGenerator gen, ExistingFileHelper efh) {
- super(gen, AlchemicalBees.MODID, efh);
- }
- @Override
- public void registerStatesAndModels() {
- LOGGER.debug("Running data gen #5");
- ALBBlock.registeredBlocks.forEach((k, v) -> {
- if (v instanceof PipeBlock) {
- generatePipeTemplate(v);
- } else if (v.getModelPath() == null) {
- basicBlock(v);
- } else {
- modelBlock(v);
- }
- });
- }
- ...
- public class ALBItemModelProvider extends ItemModelProvider {
- private static final Logger LOGGER = LogManager.getLogger();
- public ALBItemModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
- super(generator, AlchemicalBees.MODID, existingFileHelper);
- }
- @Override
- protected void registerModels() {
- LOGGER.debug("Running data gen #3");
- ALBItem.registeredItems.forEach((k, v) -> {
- if (!v.isBlockItem){
- simpleItem(v.item);
- }
- });
- }
- ...
- public class ALBLanguageProvider extends LanguageProvider {
- private static final Logger LOGGER = LogManager.getLogger();
- public ALBLanguageProvider(DataGenerator gen, String locale) {
- super(gen, AlchemicalBees.MODID, locale);
- }
- @Override
- protected void addTranslations() {
- LOGGER.debug("Running data gen #4");
- String locale = this.getName().replace("Languages: ", "");
- ALBItem.registeredItems.forEach((k, v) -> {
- String translation = v.translations.get(locale);
- if (translation != null) {
- addItem(v.item, translation);
- }
- });
- ALBBlock.registeredBlocks.forEach((k, v) -> {
- String translation = v.translations.get(locale);
- if (translation != null) {
- addBlock(v.block, translation);
- }
- });
- }
- }
- public abstract class ALBItem {
- public boolean isBlockItem = false;
- public static void generateItems() {
- registerItem("royal_jelly", new RoyalJelly());
- }
- public static void addToTab() {
- registeredItems.forEach((k, v) -> {
- v.properties.group(AlchemicalBees.ITEM_GROUP);
- });
- }
- public abstract void addTranslations(Map<String, String> translations);
- public abstract void addProperties(Item.Properties properties);
- public void setID(String id) {
- this.itemID = id;
- }
- public String itemID;
- public Map<String, String> translations = new HashMap<>();
- public RegistryObject<Item> item;
- public Item.Properties properties = new Item.Properties();
- public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, AlchemicalBees.MODID);
- public static Map<String, ALBItem> registeredItems = new HashMap<>();
- public static void registerItem(String id, ALBItem item) {
- // set item id
- item.setID(id);
- // add item properties
- item.addProperties(item.properties);
- // add translations
- item.addTranslations(item.translations);
- // register item
- item.item = ITEMS.register(id, () -> new Item(item.properties));
- registeredItems.put(id, item);
- }
- }
- // fails to run all data gen
- [12:35:19] [main/DEBUG] [ne.mi.fm.ja.FMLModContainer/LOADING]: Firing event for modid alchemicalbees : net.minecraftforge.fml.event.lifecycle.GatherDataEvent@79f14c56
- [12:35:19] [main/DEBUG] [co.da.al.co.AlchemicalBees/]: Running data gen #1
- [12:35:19] [main/DEBUG] [co.da.al.co.AlchemicalBees/]: Running data gen #2
- [12:35:19] [main/DEBUG] [co.da.al.co.AlchemicalBees/]: Running data gen #7
- [12:35:19] [main/DEBUG] [ne.mi.fm.ja.FMLModContainer/LOADING]: Fired event for modid alchemicalbees : net.minecraftforge.fml.event.lifecycle.GatherDataEvent@79f14c56
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement