
dcutils.cards.mtg.LandCard Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dcutils Show documentation
Show all versions of dcutils Show documentation
Contains convenience classes for: tuples, ranges, graphs, etc.
package dcutils.cards.mtg;
/**
* Represents a single non-basic land card in Magic the Gathering.
*
* An example LandCard:
* 
*
* And the way it can be coded:
new LandCard(
"Battlefield Forge",
Rarity.RARE,
Expansion.MAGIC_ORIGINS
)
.setCardText(String.format(
"%s: Add %s to your mana pool.%n" +
"%s: Add %s or %s to your mana pool. " +
"Battlefield Forge deals 1 damage to you.",
new Tap(),
new ColorlessMana(1),
new Tap(),
BaseMana.RED,
BaseMana.WHITE
));
* @author dca
*/
public class LandCard extends Card {
public LandCard(String landName, Rarity rarity, Expansion expansion) {
super(landName, rarity, expansion, "Land");
} // END constructor
public LandCard(String landName, Rarity rarity, Expansion expansion, String landSpecialization) {
super(landName, rarity, expansion, String.format("Land - %s", landSpecialization));
} // END constructor
@Override
public String toString() {
StringBuffer buffer = new StringBuffer(1024);
buffer.append(this.getClass().getSimpleName()); buffer.append(" [");
buffer.append(String.format("%s = %s", "landName", getCardName()));
buffer.append(", ");
buffer.append(String.format("%s = %s", "rarity", getRarity()));
buffer.append(", ");
buffer.append(String.format("%s = %s", "expansion", getExpansion()));
buffer.append(", ");
buffer.append(String.format("%s = %s", "typeLine", getTypeLine()));
if(hasCardText()) buffer.append(", ");
if(hasCardText()) buffer.append(String.format("%s = %s", "cardText", getCardText()));
if(hasFlavorText()) buffer.append(", ");
if(hasFlavorText()) buffer.append(String.format("%s = %s", "flavorText", getFlavorText()));
if(hasMultiverseId()) buffer.append(", ");
if(hasMultiverseId()) buffer.append(String.format("%s = %s", "multiverseId", getMultiverseId()));
buffer.append("]");
return buffer.toString();
} // END toString
@Override
public boolean equals(Object obj) {
if(null == obj) {
return false;
} else if(obj instanceof LandCard) {
LandCard card = LandCard.class.cast(obj);
return super.equals(card);
} else {
return false;
} // END if/else
} // END equals
@Override
public int hashCode() {
int hashCode = 101;
hashCode = (11 * hashCode) + super.hashCode();
return hashCode;
} // END hashCode
@Override
public String prettyPrint() {
StringBuffer buffer = new StringBuffer(1024);
buffer.append(this.getClass().getSimpleName()); buffer.append(String.format(" [%n"));
buffer.append(String.format("\t%s = %s", "landName", getCardName()));
buffer.append(String.format(",%n"));
buffer.append(String.format("\t%s = %s", "rarity", getRarity()));
buffer.append(String.format(",%n"));
buffer.append(String.format("\t%s = %s", "expansion", getExpansion()));
buffer.append(String.format(",%n"));
buffer.append(String.format("\t%s = %s", "typeLine", getTypeLine()));
if(hasCardText()) buffer.append(String.format(",%n"));
if(hasCardText()) buffer.append(String.format("\t%s = %s", "cardText", getCardText()));
if(hasFlavorText()) buffer.append(String.format(",%n"));
if(hasFlavorText()) buffer.append(String.format("\t%s = %s", "flavorText", getFlavorText()));
if(hasMultiverseId()) buffer.append(String.format(",%n"));
if(hasMultiverseId()) buffer.append(String.format("\t%s = %s", "multiverseId", getMultiverseId()));
buffer.append(String.format("%n]"));
return buffer.toString();
} // END prettyPrint
} // END class LandCard
© 2015 - 2025 Weber Informatics LLC | Privacy Policy