mirror of
https://github.com/magefree/mage.git
synced 2026-09-11 11:58:30 +02:00
Page:
Code Templates
Pages
AI Players
Changelog 1.4.52‐V5‐beta8
Changelog 1.4.52‐V5‐beta9
Changelog 1.4.52‐V6‐beta1
Changelog 1.4.52‐V6‐beta2
Changelog 1.4.52‐V6‐beta3
Changelog 1.4.52‐V6‐beta4
Changelog 1.4.52‐V6‐beta5
Changelog 1.4.52‐V6‐beta6
Changelog 1.4.52‐V6‐beta7
Changelog 1.4.52‐V6‐beta8
Changelog 1.4.52‐V6‐beta9
Changelog 1.4.52‐V7‐beta1
Changelog 1.4.52‐V7‐beta2
Changelog 1.4.52‐V7‐beta3
Changelog 1.4.52‐V7‐beta4
Changelog 1.4.52‐V7‐beta5
Changelog 1.4.52‐V7‐beta6
Changelog 1.4.52‐V7‐beta7
Changelog 1.4.52‐V7‐beta8
Changelog 1.4.52‐V7‐beta9
Changelog 1.4.52‐V8‐beta1
Changelog for next release
Code Templates
Creating a new release for xmage
DEv Release 2014_09_04 and older
Dev Release 2014_09_13
Dev Release 2014_09_26
Dev Release 2014_10_05
Dev Release 2014_10_18
Dev Release 2014_11_01
Dev Release 2014_11_08
Dev Release 2014_11_29
Dev Release 2015_02_07
Dev Release 2015_03_14
Developer Getting Started
Developer HOWTO Guides
Development HOWTO Guides
Development Testing Tools
Development Workflow
Home
Hosting an XMage server
Image test
Implementing Double Faced Cards
List of cards that will not be implemented on Xmage
Older Releases
Parse mtgsalvation spoiler data
Project Overview
Release 1.4.0
Release 1.4.1
Release 1.4.10
Release 1.4.11
Release 1.4.12
Release 1.4.13
Release 1.4.14
Release 1.4.15
Release 1.4.16
Release 1.4.17
Release 1.4.18
Release 1.4.19
Release 1.4.2
Release 1.4.20
Release 1.4.21
Release 1.4.22
Release 1.4.23
Release 1.4.24
Release 1.4.25
Release 1.4.26
Release 1.4.27
Release 1.4.28
Release 1.4.29
Release 1.4.3
Release 1.4.30
Release 1.4.31
Release 1.4.32
Release 1.4.33
Release 1.4.34
Release 1.4.35
Release 1.4.36
Release 1.4.37
Release 1.4.38
Release 1.4.39
Release 1.4.4
Release 1.4.40
Release 1.4.41
Release 1.4.42
Release 1.4.43
Release 1.4.44
Release 1.4.45
Release 1.4.46
Release 1.4.47
Release 1.4.48
Release 1.4.49
Release 1.4.5
Release 1.4.50
Release 1.4.53
Release 1.4.54
Release 1.4.55
Release 1.4.56
Release 1.4.57
Release 1.4.58
Release 1.4.59
Release 1.4.6
Release 1.4.60
Release 1.4.61
Release 1.4.7
Release 1.4.8
Release 1.4.9
Release changes
Server configuration
Set implementation list
Setting up your Development Environment
Supported deck formats
No results
7
Code Templates
Evan Kranzler edited this page 2019-01-26 21:31:34 -05:00
Table of contents
Code templates in NetBeans
It's handy to use code templates for code constructs you need often. The code templates can be defined here: Tools -> Options -> Editor -> Code Templates (Language=Java). You define an "Abbreviation" the "Expand Text" and optional a description. As you enter the abbreviation followed by a tab in the code, the NetBeans editor changes the abbreviation to the expand text.
Examples
One Shot Effect (ose)
class ${effectName newVarName default="New"}Effect extends ${osef type="mage.abilities.effects.OneShotEffect" default="OneShotEffect" editable="false"} {
${effectName}Effect() {
super(Outcome.Benefit);
this.staticText = "${selection}${cursor}";
}
private ${effectName}Effect(final ${effectName}Effect effect) {
super(effect);
}
@Override
public ${effectName}Effect copy() {
return new ${effectName}Effect(this);
}
@Override
public boolean apply(${game type="mage.game.Game" default="Game" editable="false"} game, ${ability type="mage.abilities.Ability" default="Ability" editable="false"} source) {
return false;
}
}
Triggered Ability (ta)
class ${abilityName default="New"}TriggeredAbility extends ${trab type="mage.abilities.TriggeredAbilityImpl" default="TriggeredAbilityImpl" editable="false"} {
${abilityName}TriggeredAbility() {
super(Zone.BATTLEFIELD, null, false);
}
private ${abilityName}TriggeredAbility(final ${abilityName}TriggeredAbility ability) {
super(ability);
}
@Override
public ${abilityName}TriggeredAbility copy() {
return new ${abilityName}TriggeredAbility(this);
}
@Override
public boolean checkTrigger(${gameEvent type="mage.game.events.GameEvent" default="GameEvent" editable="false"} event, ${game type="mage.game.Game" default="Game" editable="false"} game) {
return false;
}
@Override
public String getRule() {
return "${cursor}" + super.getRule();
}
}