public void maxPlayerResearch(EntityPlayer ep, boolean notify) { this.setPlayerResearchLevel( ep, ResearchLevel.levelList[ResearchLevel.levelList.length - 1], notify); for (ChromaResearch r : ChromaResearch.getAllObtainableFragments()) { this.givePlayerFragment(ep, r, notify); } for (CastingRecipe r : RecipesCastingTable.instance.getAllRecipes()) { this.givePlayerRecipe(ep, r); } if (ep instanceof EntityPlayerMP) ReikaPlayerAPI.syncCustomData((EntityPlayerMP) ep); }
private ArrayList<ChromaResearch> getNextResearchesFor(EntityPlayer ep, boolean debug) { ChromaResearch pri = this.getPriorityResearchFor(ep); if (pri != null) { ArrayList li = new ArrayList(); li.add(pri); return li; } this.checkForUpgrade(ep); ArrayList<ChromaResearch> li = new ArrayList(); for (ChromaResearch r : ChromaResearch.getAllObtainableFragments()) { if (!this.playerHasFragment(ep, r)) { if (r.level == null || this.getPlayerResearchLevel(ep).isAtLeast(r.level)) { boolean missingdep = false; if (!r.playerHasProgress(ep)) { missingdep = true; if (debug) ChromatiCraft.logger.log( "Fragment " + r + " rejected; insufficient progress " + Arrays.toString(r.getRequiredProgress()) + "."); } else { if (!this.playerHasDependencies(r, ep)) { if (debug) ChromatiCraft.logger.log( "Fragment " + r + " rejected; missing dependency."); // "+p+"."); missingdep = true; } } if (!missingdep) li.add(r); } else if (debug) { ChromatiCraft.logger.log("Fragment " + r + " rejected; insufficient research level."); } } } return li; }