MCPcopy Create free account
hub / github.com/Card-Forge/forge / addCard

Method addCard

forge-core/src/main/java/forge/card/CardDb.java:542–565  ·  view source on GitHub ↗
(PaperCard paperCard)

Source from the content-addressed store, hash-verified

540 }
541
542 public void addCard(PaperCard paperCard) {
543 if (filtered.contains(paperCard.getName())) {
544 return;
545 }
546
547 String mainName = paperCard.getName();
548 allCardsByName.put(mainName, paperCard);
549
550 CardRules rules = paperCard.getRules();
551 allCardsByRules.put(rules, paperCard);
552 if (rules.getSplitType() == CardSplitType.None && !rules.hasFunctionalVariants()) {
553 return;
554 }
555
556 //Card may have multiple names. Add it under all of them.
557
558 List<ICardFace> allFaces = paperCard.getAllFaces();
559 Set<String> namesToAdd = new HashSet<>();
560 allFaces.stream().map(ICardCharacteristics::getName).forEach(namesToAdd::add);
561 allFaces.stream().map(ICardFace::getFlavorName).filter(Objects::nonNull).forEach(namesToAdd::add);
562 namesToAdd.remove(mainName);
563 for(String name : namesToAdd)
564 allCardsByName.put(name, paperCard);
565 }
566
567 private void reIndex() {
568 uniqueCardsByRules.clear();

Callers 4

loadResourcesMethod · 0.95
addSetCardMethod · 0.95
initializeMethod · 0.95
putCardMethod · 0.45

Calls 11

getSplitTypeMethod · 0.95
hasFunctionalVariantsMethod · 0.95
containsMethod · 0.65
getNameMethod · 0.65
getRulesMethod · 0.65
getAllFacesMethod · 0.65
mapMethod · 0.65
streamMethod · 0.65
putMethod · 0.45
filterMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected