public static void initResearches() { registerResearchPage(); // Init siblings ResearchItem enterOtherResearch = ResearchCategories.getResearchList("ELDRITCH").research.get("ENTEROUTER"); String[] enterOtherSiblings = enterOtherResearch.siblings; if (enterOtherSiblings != null) { String[] newSiblings = new String[enterOtherSiblings.length + 1]; System.arraycopy(enterOtherSiblings, 0, newSiblings, 0, enterOtherSiblings.length); newSiblings[enterOtherSiblings.length] = LibResearch.RESEARCH_TELEPORTPOWER; enterOtherResearch.setSiblings(newSiblings); } else { enterOtherResearch.setSiblings(LibResearch.RESEARCH_TELEPORTPOWER); } // Init researches new ResearchItem( LibResearch.RESEARCH_TELEPORTPOWER, LibResearch.CATEGORY_THAUMICTELEPORS, new AspectList(), 0, 0, 0, new ItemStack(Items.ender_pearl)) .setParentsHidden("ENTEROUTER") .setRound() .setPages(new ResearchPage("ttel.rec.teleportpower.page.0")) .registerResearchItem(); new ResearchItem( LibResearch.RESEARCH_TELEPORTPEARL, LibResearch.CATEGORY_THAUMICTELEPORS, new AspectList() .add(Aspect.ELDRITCH, 2) .add(Aspect.TRAVEL, 5) .add(Aspect.CRYSTAL, 3) .add(Aspect.AURA, 5) .add(Aspect.CRAFT, 5) .add(Aspect.MAGIC, 10), 0, 2, 3, new ItemStack(TeleportItems.teleportPearl)) .setParents(LibResearch.RESEARCH_TELEPORTPOWER) .setConcealed() .setPages( new ResearchPage("ttel.rec.teleportpearl.page.0"), new ResearchPage(infusionRecipes.get("TeleportPearl"))) .registerResearchItem(); new ResearchItem( LibResearch.RESEARCH_TELEPORTATIONSTONE, LibResearch.CATEGORY_THAUMICTELEPORS, new AspectList() .add(Aspect.EARTH, 10) .add(Aspect.TRAVEL, 5) .add(Aspect.ELDRITCH, 5) .add(Aspect.SENSES, 5) .add(Aspect.MIND, 5), -2, 2, 3, new ItemStack(TeleportItems.teleportationStone)) .setParents(LibResearch.RESEARCH_TELEPORTPEARL) .setConcealed() .setPages( new ResearchPage("ttel.rec.teleportstone.page.0"), new ResearchPage(infusionRecipes.get("DiamondPearl")), new ResearchPage("ttel.rec.teleportstone.page.1"), new ResearchPage(infusionRecipes.get("TeleportationStone"))) .registerResearchItem(); }
public static ResearchItem copy(ResearchItem res, String newKey, String newCat, int dC, int dR) { ResearchItem rItem; if (res.icon_resource != null) rItem = new ResearchItem( newKey, newCat, res.tags, dC, dR, res.getComplexity(), Object[].class.cast(res.icon_resource)); else rItem = new ResearchItem( newKey, newCat, res.tags, dC, dR, res.getComplexity(), Object[].class.cast(res.icon_item)); rItem.parents = res.parents; rItem.parentsHidden = res.parentsHidden; rItem.siblings = res.siblings; rItem.setPages(res.getPages()); rItem.setHidden(); if (res.isAutoUnlock()) rItem.setAutoUnlock(); if (res.isFlipped()) rItem.setFlipped(); if (res.isHidden()) rItem.setHidden(); if (res.isRound()) rItem.setRound(); if (res.isSecondary()) rItem.setSecondary(); if (res.isSpecial()) rItem.setSpecial(); if (res.isStub()) rItem.setStub(); if (res.siblings != null && res.siblings.length > 0) { String[] sibStr = new String[res.siblings.length + 1]; for (int i = 0; i < res.siblings.length; ++i) sibStr[i] = res.siblings[i]; sibStr[sibStr.length - 1] = newKey; res.setSiblings(sibStr); } else { res.setSiblings(newKey); } if (rItem.siblings != null && rItem.siblings.length > 0) { String[] sibStr = new String[rItem.siblings.length + 1]; for (int i = 0; i < rItem.siblings.length; ++i) sibStr[i] = rItem.siblings[i]; sibStr[sibStr.length - 1] = res.key; rItem.setSiblings(sibStr); } else { rItem.setSiblings(res.key); } return rItem; }