diff --git a/.classpath b/.classpath
deleted file mode 100644
index be84541991a..00000000000
--- a/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/.gitignore b/.gitignore
index 671c1d63833..89e18f5b3e6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -231,3 +231,6 @@ forge-gui/tools/oracleScript.log
/release.properties
/target
/test-output
+.settings
+.classpath
+.project
\ No newline at end of file
diff --git a/.project b/.project
deleted file mode 100644
index 107b0a19ca3..00000000000
--- a/.project
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
- forge
-
-
-
-
-
-
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/.settings/net.sf.jautodoc.prefs b/.settings/net.sf.jautodoc.prefs
deleted file mode 100644
index d2ae4087365..00000000000
--- a/.settings/net.sf.jautodoc.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-add_header=true
-add_todo=false
-eclipse.preferences.version=1
-header_text=/*\n * Forge\: Play Magic\: the Gathering.\n * Copyright (C) 2011 Forge Team\n *\n * This program is free software\: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n * \n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n * \n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see .\n */
-project_specific_settings=true
-replacements=\n\n\nGets the\nSets the\nAdds the\nEdits the\nRemoves the\nInits the\nParses the\nCreates the\nBuilds the\nChecks if is\nPrints the\nChecks for\n\n\n
-visibility_private=false
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 99b327bd9a4..00000000000
--- a/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,284 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=true
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
-org.eclipse.jdt.core.formatter.comment.format_line_comments=true
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
-org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
-org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
-org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=120
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
-org.eclipse.jdt.core.formatter.tabulation.char=space
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_on_off_tags=false
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
-org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/.settings/org.eclipse.jdt.ui.prefs b/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index 7df5d57c836..00000000000
--- a/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-#Sun Apr 28 22:56:26 CEST 2013
-eclipse.preferences.version=1
-formatter_profile=_Forge Java Code Style - Formatter Settings
-formatter_settings_version=12
-org.eclipse.jdt.ui.javadoc=true
-org.eclipse.jdt.ui.text.custom_code_templates=/**\r\n * @return the ${bare_field_name}\r\n *//**\r\n * @param ${param}0 the ${bare_field_name} to set\r\n *//**\r\n * ${todo}\: Write javadoc for Constructor.\r\n * ${tags}\r\n *//** \r\n * ${todo}\: Write javadoc for this type.\r\n *\r\n * ${tags}\r\n *//**\r\n * ${todo}\: Write javadoc for this method.\r\n * ${tags}\r\n *//* (non-Javadoc)\r\n * ${see_to_overridden}\r\n *//**\r\n * ${tags}\r\n * ${see_to_target}\r\n */${filecomment}\r\n${package_declaration}\r\n\r\n${typecomment}\r\n${type_declaration}\r\n\r\n\r\n\r\n// ${todo} Auto-generated catch block ignores the exception, but sends it to System.err and probably forge.log.\r\n${exception_var}.printStackTrace();// ${todo} Auto-generated method stub\r\n${body_statement}${body_statement}\r\n// ${todo} Auto-generated constructor stubreturn ${field};${field} \= ${param}0; // ${todo}\: Add 0 to parameter's name.
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2..00000000000
--- a/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/README.md b/README.md
index d9dfa8f7920..7ea34cd3b8a 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,9 @@ Discord channel [here](https://discordapp.com/channels/267367946135928833/267742
# Requirements / Tools
- Java IDE such as IntelliJ or Eclipse
+- Java JDK 8 or later
- Git
+- Git client (optional)
- Maven
- Gitlab account
- Libgdx (optional: familiarity with this library is helpful for mobile platform development)
@@ -26,44 +28,130 @@ Discord channel [here](https://discordapp.com/channels/267367946135928833/267742
# Eclipse
+Eclipse includes Maven integration so a separate install is not necessary. For other IDEs, your mileage may vary.
+
## Project Setup
-- Follow the instructions for cloning from Gitlab. You'll need a Gitlab account setup and an SSH key defined. If you are on a
- Windows machine you can use Putty with TortoiseGit. Run puttygen.exe to generate the key -- save the private key and export
+- Follow the instructions for cloning from Gitlab. You'll need a Gitlab account setup and an SSH key defined.
+
+ If you are on a Windows machine you can use Putty with TortoiseGit for SSH keys. Run puttygen.exe to generate the key -- save the private key and export
the OpenSSH public key. If you just leave the dialog open, you can copy and paste the key from it to your Gitlab profile under
- "SSH keys".
-
- Run pageant.exe and add the private key generated earlier. TortoiseGit will use this for accessing Gitlab.
+ "SSH keys". Run pageant.exe and add the private key generated earlier. TortoiseGit will use this for accessing Gitlab.
- Fork the Forge git repo to your Gitlab account.
- Clone your forked repo to your local machine.
-- Make sure the Java SDK is installed -- not just the JRE. Java 8 or newer required. At the time of this writing, JDK 11 works as expected.
+- Make sure the Java SDK is installed -- not just the JRE. Java 8 or newer required. If you execute `java -version` at the shell or command prompt, it should report version 1.8 or later.
-- You need maven to load in dependencies and build. Obtain that [from here](https://maven.apache.org/download.cgi). Execute the following from the root repo dir to download dependencies, etc:
+- Install Eclipse 2018-12 or later for Java. Launch it.
- `mvn -U -B clean -P windows-linux install`
-
- For the desktop, this will create a populated directory at `forge-gui-desktop/target/forge-gui-desktop-` containing typical release files such as the jar, Windows executable, resource files, etc.
-
-- Install Eclipse for Java. Launch it. At the time of this writing, Eclipse 2018-12 works as expected. YMMV for other versions.
-
-- Create a workspace. Go to the workbench. Right-click inside of Package Explorer > Import... > General > Existing Projects into Workspace > Navigate to local forge repo >
- Check "Search for nested projects" > Uncheck 'forge', check the rest > Finish.
+- Create a workspace. Go to the workbench. Right-click inside of Package Explorer > Import... > Maven > Existing Maven Projects > Navigate to root path of the local forge repo and
+ ensure everything is checked > Finish.
-- Let Eclipse run through building the project.
+- Let Eclipse run through building the project. You may be prompted for resolving any missing Maven plugins -- accept the ones offered. You may see errors appear in the "Problems" tab. These should
+ be automatically resolved as plug-ins are installed and Eclipse continues the build process. If this is the first time for some plug-in installs, Eclipse may prompt you to restart. Do so. Be patient
+ for this first time through.
+
+- Once everything builds, all errors should disappear. You can now advance to Project launch.
## Project Launch
### Desktop
-- Right-click on forge-gui-desktop > Run As... > Java Application > "Main - forge.view" > Proceed
+This is the standard configuration used for releasing to Windows / Linux / MacOS.
+
+- Right-click on forge-gui-desktop > Run As... > Java Application > "Main - forge.view" > Ok
+
+- The familiar Forge splash screen, etc. should appear. Enjoy!
### Mobile (Desktop dev)
-- Right-click on forge-gui-mobile-dev > Run As... > Java Application > "Main - forge.app" > Proceed
-
+This is the configuration used for doing mobile development using the Windows / Linux / MacOS front-end. Knowledge of libgdx is helpful here.
+
+- Right-click on forge-gui-mobile-dev > Run As... > Java Application > "Main - forge.app" > Ok.
+
+- A view similar to a mobile phone should appear. Enjoy!
+
+## Eclipse / Android SDK Integration
+
+Google no longer supports Android SDK releases for Eclipse. That said, it is still possible to build and debug Android platforms.
+
+### Android SDK
+
+Reference SO for obtaining a specific release: https://stackoverflow.com/questions/27043522/where-can-i-download-an-older-version-of-the-android-sdk
+
+#### Windows
+
+Download the following archived version of the Android SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.3-windows.zip. Install it somewhere on your machine. This is referenced
+in the following instructions as your 'Android SDK Install' path.
+
+#### Linux / Mac OSX
+
+TBD
+
+### Android Plugin for Eclipse
+
+Google's last plugin release does not work completely with target's running Android 7.0 or later. Download the ADT-24.2.0-20160729.zip plugin
+from: https://github.com/khaledev/ADT/releases
+
+In Eclipse go to: Help > Install New Software... > Add > Name: ADT Update, Click on the "Archive:" button and navigate to the downloaded ADT-24.2.0-20160729.zip file > Add. Install all "Developer Tools". Eclipse
+should restart and prompt you to run the SDK Manager. Launch it and continue to the next steps below.
+
+### Android Platform
+
+In Eclipse, if the SDK Manager is not already running, go to Window > Android SDK Manager. Install the following options / versions:
+
+- Android SDK Build-tools 26.0.1
+- Android 7.1.1 (API 25) SDK Platform
+- Google USB Driver 11
+
+Note that this will populate additional tools in the Android SDK install path extracted above.
+
+### Proguard update
+
+The Proguard included with the Android SDK Build-tools is outdated and does not work with Java 1.8. Download Proguard 6.0.3 from https://sourceforge.net/projects/proguard/files/proguard/6.0/.
+
+- Go to the Android SDK install path. Rename the tools/proguard/ path to tools/proguard4.7/.
+
+- Extract Proguard 6.0.3 to the Android SDK install path under tools/. You will need to rename the dir proguard6.0.3/ to proguard/.
+
+### Android Build
+
+The Eclipse plug-ins do NOT support building things for Android. They do however allow you to use the debugger so you can still set breakpoints and trace
+things out. The steps below show how to generate a debug Android build.
+
+Right-click on the forge-gui-android project. Run as.. > Maven build...
+
+On the Main tab, set Goals: install, Profiles: android-debug
+On the Environment tab, you may need to define the variable ANDROID_HOME with the value containing the path to your Android SDK installation.
+For example, Variable: ANDROID_HOME, Value: Your Android SDK install path here.
+
+You should now be able to "run" the forge-gui-android Maven build. This may take a few minutes. If everything worked, you should see "BUILD SUCCESS" in the Console View.
+
+Assuming you got this far, you should have an Android forge-android-[version].apk in the forge-gui-android/target path.
+
+### Android Deploy
+
+You'll need to have the Android SDK install path platform-tools/ path in your command search path to easily deploy builds.
+
+- Open a command prompt. Navigate to the forge-gui-android/target/ path.
+
+- Connect your Android device to your dev machine.
+
+- Ensure the device is visible using `adb devices`
+
+- Remove the old Forge install if present: `adb uninstall forge.app`
+
+- Install the new apk: `adb install forge-android-[version].apk`
+
+### Android Debugging
+
+Assuming the apk is installed, launch it from the device.
+
+In Eclipse, launch the DDMS. Window > Perspective > Open Perspective > Other... > DDMS. You should see the forge app in the list. Highlight the app, click on the green debug button and a
+green debug button should appear next to the app's name. You can now set breakpoints and step through the source code.
+
# IntelliJ
TBD
diff --git a/forge-ai/.classpath b/forge-ai/.classpath
deleted file mode 100644
index f4c9e0b5d64..00000000000
--- a/forge-ai/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/forge-ai/.project b/forge-ai/.project
deleted file mode 100644
index 21815fac93b..00000000000
--- a/forge-ai/.project
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
- forge-ai
-
-
- forge-game
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/forge-ai/.settings/org.eclipse.core.resources.prefs b/forge-ai/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index f7ef3e0d839..00000000000
--- a/forge-ai/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,3 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=ISO-8859-1
-encoding/=UTF-8
diff --git a/forge-ai/.settings/org.eclipse.jdt.core.prefs b/forge-ai/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ec4300d5d09..00000000000
--- a/forge-ai/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/forge-ai/.settings/org.eclipse.m2e.core.prefs b/forge-ai/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2..00000000000
--- a/forge-ai/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java
index edc95abd172..ae728a26dc7 100644
--- a/forge-ai/src/main/java/forge/ai/ability/AttachAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/AttachAi.java
@@ -233,8 +233,15 @@ public class AttachAi extends SpellAbilityAi {
boolean alternativeConsiderations = hasFloatMana || willDiscardNow || willDieNow || willRespondToStack || willCastAtEOT || willCastEarly;
- if (!alternativeConsiderations && (combat == null || game.getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_DECLARE_BLOCKERS)) || (!combat.isAttacking(attachTarget) && !combat.isBlocking(attachTarget))) {
- return false;
+ if (!alternativeConsiderations) {
+ if (combat == null ||
+ game.getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_DECLARE_BLOCKERS)) {
+ return false;
+ }
+
+ if (!(combat.isAttacking(attachTarget) || combat.isBlocking(attachTarget))) {
+ return false;
+ }
}
return true;
diff --git a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java
index 56d88681c72..7b2a02ebf11 100644
--- a/forge-ai/src/main/java/forge/ai/ability/TokenAi.java
+++ b/forge-ai/src/main/java/forge/ai/ability/TokenAi.java
@@ -9,7 +9,10 @@ import forge.game.ability.AbilityFactory;
import forge.game.ability.AbilityUtils;
import forge.game.ability.ApiType;
import forge.game.ability.effects.TokenEffect;
-import forge.game.card.*;
+import forge.game.card.Card;
+import forge.game.card.CardCollection;
+import forge.game.card.CardLists;
+import forge.game.card.CardPredicates;
import forge.game.card.token.TokenInfo;
import forge.game.combat.Combat;
import forge.game.cost.CostPart;
@@ -340,6 +343,7 @@ public class TokenAi extends SpellAbilityAi {
@Override
protected Player chooseSinglePlayer(Player ai, SpellAbility sa, Iterable options) {
// TODO: AILogic
+ readParameters(sa); // remember to call this somewhere!
Combat combat = ai.getGame().getCombat();
// TokenAttacking
if (combat != null && sa.hasParam("TokenAttacking")) {
@@ -359,6 +363,7 @@ public class TokenAi extends SpellAbilityAi {
@Override
protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable options) {
// TODO: AILogic
+ readParameters(sa); // remember to call this somewhere!
Combat combat = ai.getGame().getCombat();
// TokenAttacking
if (combat != null && sa.hasParam("TokenAttacking")) {
diff --git a/forge-core/.classpath b/forge-core/.classpath
deleted file mode 100644
index 95651cd7399..00000000000
--- a/forge-core/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/forge-core/.project b/forge-core/.project
deleted file mode 100644
index 134e5f60689..00000000000
--- a/forge-core/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- forge-core
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/forge-core/.settings/org.eclipse.core.resources.prefs b/forge-core/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index ebf9f8ffb65..00000000000
--- a/forge-core/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=ISO-8859-1
-encoding//src/test/java=ISO-8859-1
-encoding/=UTF-8
diff --git a/forge-core/.settings/org.eclipse.jdt.core.prefs b/forge-core/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ec4300d5d09..00000000000
--- a/forge-core/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/forge-core/.settings/org.eclipse.m2e.core.prefs b/forge-core/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2..00000000000
--- a/forge-core/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/forge-game/.classpath b/forge-game/.classpath
deleted file mode 100644
index f82cf56e3b6..00000000000
--- a/forge-game/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/forge-game/.project b/forge-game/.project
deleted file mode 100644
index 921bbcc8c69..00000000000
--- a/forge-game/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
- forge-game
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/forge-game/.settings/org.eclipse.core.resources.prefs b/forge-game/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index ebf9f8ffb65..00000000000
--- a/forge-game/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=ISO-8859-1
-encoding//src/test/java=ISO-8859-1
-encoding/=UTF-8
diff --git a/forge-game/.settings/org.eclipse.jdt.core.prefs b/forge-game/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index ec4300d5d09..00000000000
--- a/forge-game/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/forge-game/.settings/org.eclipse.m2e.core.prefs b/forge-game/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2..00000000000
--- a/forge-game/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java
index c7841849b9e..5ed6907f405 100644
--- a/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java
+++ b/forge-game/src/main/java/forge/game/ability/effects/PumpEffect.java
@@ -94,32 +94,13 @@ public class PumpEffect extends SpellAbilityEffect {
game.fireEvent(new GameEventCardStatsChanged(gameCard));
}
};
- if (sa.hasParam("UntilEndOfCombat")) {
- game.getEndOfCombat().addUntil(untilEOT);
- } else if (sa.hasParam("UntilYourNextUpkeep")) {
- game.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT);
- } else if (sa.hasParam("UntilHostLeavesPlay")) {
- sa.getHostCard().addLeavesPlayCommand(untilEOT);
- } else if (sa.hasParam("UntilHostLeavesPlayOrEOT")) {
- sa.getHostCard().addLeavesPlayCommand(untilEOT);
- game.getEndOfTurn().addUntil(untilEOT);
- } else if (sa.hasParam("UntilLoseControlOfHost")) {
- sa.getHostCard().addLeavesPlayCommand(untilEOT);
- sa.getHostCard().addChangeControllerCommand(untilEOT);
- } else if (sa.hasParam("UntilYourNextTurn")) {
- game.getCleanup().addUntil(sa.getActivatingPlayer(), untilEOT);
- } else if (sa.hasParam("UntilUntaps")) {
- sa.getHostCard().addUntapCommand(untilEOT);
- } else {
- game.getEndOfTurn().addUntil(untilEOT);
- }
+ addUntilCommand(sa, untilEOT);
}
game.fireEvent(new GameEventCardStatsChanged(gameCard));
}
private static void applyPump(final SpellAbility sa, final Player p,
final List keywords, final long timestamp) {
- final Game game = p.getGame();
final Card host = sa.getHostCard();
//if host is not on the battlefield don't apply
// Suspend should does Affect the Stack
@@ -144,16 +125,32 @@ public class PumpEffect extends SpellAbilityEffect {
}
}
};
- if (sa.hasParam("UntilEndOfCombat")) {
- game.getEndOfCombat().addUntil(untilEOT);
- } else if (sa.hasParam("UntilYourNextUpkeep")) {
- game.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT);
- } else if (sa.hasParam("UntilLoseControlOfHost")) {
- sa.getHostCard().addLeavesPlayCommand(untilEOT);
- sa.getHostCard().addChangeControllerCommand(untilEOT);
- } else {
- game.getEndOfTurn().addUntil(untilEOT);
- }
+ addUntilCommand(sa, untilEOT);
+ }
+ }
+
+ private static void addUntilCommand(final SpellAbility sa, GameCommand untilEOT) {
+ final Card host = sa.getHostCard();
+ final Game game = host.getGame();
+
+ if (sa.hasParam("UntilEndOfCombat")) {
+ game.getEndOfCombat().addUntil(untilEOT);
+ } else if (sa.hasParam("UntilYourNextUpkeep")) {
+ game.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT);
+ } else if (sa.hasParam("UntilHostLeavesPlay")) {
+ host.addLeavesPlayCommand(untilEOT);
+ } else if (sa.hasParam("UntilHostLeavesPlayOrEOT")) {
+ host.addLeavesPlayCommand(untilEOT);
+ game.getEndOfTurn().addUntil(untilEOT);
+ } else if (sa.hasParam("UntilLoseControlOfHost")) {
+ host.addLeavesPlayCommand(untilEOT);
+ host.addChangeControllerCommand(untilEOT);
+ } else if (sa.hasParam("UntilYourNextTurn")) {
+ game.getCleanup().addUntil(sa.getActivatingPlayer(), untilEOT);
+ } else if (sa.hasParam("UntilUntaps")) {
+ host.addUntapCommand(untilEOT);
+ } else {
+ game.getEndOfTurn().addUntil(untilEOT);
}
}
diff --git a/forge-gui-android/.classpath b/forge-gui-android/.classpath
deleted file mode 100644
index 854f8d35e8d..00000000000
--- a/forge-gui-android/.classpath
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/forge-gui-android/.project b/forge-gui-android/.project
deleted file mode 100644
index f68607bb2bb..00000000000
--- a/forge-gui-android/.project
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
- forge-gui-android
-
-
-
-
-
- com.android.ide.eclipse.adt.ResourceManagerBuilder
-
-
-
-
- com.android.ide.eclipse.adt.PreCompilerBuilder
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- com.android.ide.eclipse.adt.ApkBuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.m2e.core.maven2Nature
- com.android.ide.eclipse.adt.AndroidNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/forge-gui-android/.settings/org.eclipse.core.resources.prefs b/forge-gui-android/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/forge-gui-android/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/forge-gui-android/.settings/org.eclipse.jdt.core.prefs b/forge-gui-android/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 443e08599a2..00000000000
--- a/forge-gui-android/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/forge-gui-android/.settings/org.eclipse.m2e.core.prefs b/forge-gui-android/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2..00000000000
--- a/forge-gui-android/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/forge-gui-desktop/.classpath b/forge-gui-desktop/.classpath
deleted file mode 100644
index 0be04346393..00000000000
--- a/forge-gui-desktop/.classpath
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/forge-gui-desktop/.project b/forge-gui-desktop/.project
deleted file mode 100644
index fbe08c4028d..00000000000
--- a/forge-gui-desktop/.project
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- forge-gui-desktop
-
-
- forge-core
- forge-game
- forge-gui
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.m2e.core.maven2Builder
-
-
-
-
-
- org.eclipse.jdt.core.javanature
- org.eclipse.m2e.core.maven2Nature
-
-
diff --git a/forge-gui-desktop/.settings/org.eclipse.core.resources.prefs b/forge-gui-desktop/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/forge-gui-desktop/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/forge-gui-desktop/.settings/org.eclipse.jdt.core.prefs b/forge-gui-desktop/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 62492222ad2..00000000000
--- a/forge-gui-desktop/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,12 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.7
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
diff --git a/forge-gui-desktop/.settings/org.eclipse.m2e.core.prefs b/forge-gui-desktop/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2..00000000000
--- a/forge-gui-desktop/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java b/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java
index 898411c7573..afa9e46045a 100644
--- a/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java
+++ b/forge-gui-desktop/src/main/java/forge/menus/ForgeMenu.java
@@ -17,8 +17,11 @@ import forge.Singletons;
import forge.gui.GuiUtils;
import forge.screens.home.online.OnlineMenu;
import forge.util.ReflectionUtil;
+import forge.util.Localizer;
+
public final class ForgeMenu {
+
private JPopupMenu popupMenu;
private IMenuProvider provider;
private static HashMap activeShortcuts = new HashMap();
@@ -123,7 +126,8 @@ public final class ForgeMenu {
}
private static JMenuItem getMenuItem_Restart() {
- JMenuItem menuItem = new JMenuItem("Restart");
+ final Localizer localizer = Localizer.getInstance();
+ JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblRestart"));
menuItem.setMnemonic(KeyEvent.VK_R);
menuItem.addActionListener(getRestartAction());
return menuItem;
@@ -139,7 +143,8 @@ public final class ForgeMenu {
}
private static JMenuItem getMenuItem_Exit() {
- JMenuItem menuItem = new JMenuItem("Exit");
+ final Localizer localizer = Localizer.getInstance();
+ JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblExit"));
menuItem.setMnemonic(KeyEvent.VK_X);
menuItem.addActionListener(getExitAction());
return menuItem;
diff --git a/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java b/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java
index b121abb0b8d..9d430b660c8 100644
--- a/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java
+++ b/forge-gui-desktop/src/main/java/forge/menus/HelpMenu.java
@@ -4,6 +4,7 @@ import forge.properties.ForgeConstants;
import forge.toolbox.FOptionPane;
import forge.util.BuildInfo;
import forge.util.FileUtil;
+import forge.util.Localizer;
import javax.swing.*;
@@ -18,7 +19,8 @@ public final class HelpMenu {
private HelpMenu() { }
public static JMenu getMenu() {
- JMenu menu = new JMenu("Help");
+ final Localizer localizer = Localizer.getInstance();
+ JMenu menu = new JMenu(localizer.getMessage("lblHelp"));
menu.setMnemonic(KeyEvent.VK_H);
menu.add(getMenu_GettingStarted());
menu.add(getMenu_Articles());
@@ -32,7 +34,8 @@ public final class HelpMenu {
}
private static JMenuItem getMenuItem_About() {
- JMenuItem menuItem = new JMenuItem("About Forge...");
+ final Localizer localizer = Localizer.getInstance();
+ JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblAboutForge")+ "...");
menuItem.addActionListener(getAboutForgeAction());
return menuItem;
}
@@ -41,15 +44,17 @@ public final class HelpMenu {
return new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
+ final Localizer localizer = Localizer.getInstance();
FOptionPane.showMessageDialog(
"Version : " + BuildInfo.getVersionString(),
- "About Forge");
+ localizer.getMessage("lblAboutForge"));
}
};
}
private static JMenu getMenu_Troubleshooting() {
- JMenu mnu = new JMenu("Troubleshooting");
+ final Localizer localizer = Localizer.getInstance();
+ JMenu mnu = new JMenu(localizer.getMessage("lblTroubleshooting"));
mnu.add(getMenuItem_UrlLink("How to Provide a Useful Bug Report", "http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=9621"));
mnu.addSeparator();
mnu.add(getMenuItem_ReadMeFile());
@@ -57,14 +62,16 @@ public final class HelpMenu {
}
private static JMenu getMenu_Articles() {
- JMenu mnu = new JMenu("Articles");
+ final Localizer localizer = Localizer.getInstance();
+ JMenu mnu = new JMenu(localizer.getMessage("lblArticles"));
mnu.add(getMenuItem_UrlLink("HOW-TO: Customize your Sealed Deck games with fantasy blocks", "http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=8164"));
mnu.add(getMenuItem_UrlLink("Quest Mode: Guide to Formats, Worlds, and everything", "http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=9258"));
return mnu;
}
private static JMenu getMenu_GettingStarted() {
- JMenu mnu = new JMenu("Getting Started");
+ final Localizer localizer = Localizer.getInstance();
+ JMenu mnu = new JMenu(localizer.getMessage("lblGettingStarted"));
mnu.add(getMenuItem_HowToPlayFile());
mnu.addSeparator();
mnu.add(getMenuItem_UrlLink("Forge Wiki", "http://www.slightlymagic.net/wiki/Forge", KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0)));
@@ -73,7 +80,8 @@ public final class HelpMenu {
}
private static JMenuItem getMenuItem_HowToPlayFile() {
- JMenuItem menuItem = new JMenuItem("How to Play");
+ final Localizer localizer = Localizer.getInstance();
+ JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblHowtoPlay"));
menuItem.addActionListener(getOpenFileAction(getFile(ForgeConstants.HOWTO_FILE)));
return menuItem;
}
@@ -85,13 +93,15 @@ public final class HelpMenu {
}
private static JMenuItem getMenuItem_License() {
- JMenuItem menuItem = new JMenuItem("Forge License");
+ final Localizer localizer = Localizer.getInstance();
+ JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblForgeLicense"));
menuItem.addActionListener(getOpenFileAction(getFile(ForgeConstants.LICENSE_FILE)));
return menuItem;
}
private static JMenuItem getMenuItem_ReleaseNotes() {
- JMenuItem menuItem = new JMenuItem("Release Notes");
+ final Localizer localizer = Localizer.getInstance();
+ JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblReleaseNotes"));
menuItem.addActionListener(getOpenFileAction(getFile(ForgeConstants.CHANGES_FILE)));
return menuItem;
}
diff --git a/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java b/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java
index d3309933cc5..7a5711e163e 100644
--- a/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java
+++ b/forge-gui-desktop/src/main/java/forge/menus/LayoutMenu.java
@@ -26,6 +26,7 @@ import forge.toolbox.FSkin;
import forge.toolbox.FSkin.SkinnedMenuItem;
import forge.view.FFrame;
import forge.view.FView;
+import forge.util.Localizer;
/**
* Returns a JMenu containing options associated with game screen layout.
@@ -42,8 +43,8 @@ public final class LayoutMenu {
public JMenu getMenu() {
currentScreen = Singletons.getControl().getCurrentScreen();
-
- final JMenu menu = new JMenu("Layout");
+ final Localizer localizer = Localizer.getInstance();
+ final JMenu menu = new JMenu(localizer.getMessage("lblLayout"));
menu.setMnemonic(KeyEvent.VK_L);
if (currentScreen != FScreen.HOME_SCREEN) {
menu.add(getMenu_ViewOptions());
@@ -60,7 +61,8 @@ public final class LayoutMenu {
}
private JMenu getMenu_ViewOptions() {
- final JMenu menu = new JMenu("View");
+ final Localizer localizer = Localizer.getInstance();
+ final JMenu menu = new JMenu(localizer.getMessage("lblView"));
menu.add(getMenuItem_ShowTabs());
if (currentScreen != null && currentScreen.isMatchScreen()) {
menu.add(getMenuItem_ShowBackgroundImage());
@@ -69,14 +71,16 @@ public final class LayoutMenu {
}
private JMenu getMenu_FileOptions() {
- final JMenu menu = new JMenu("File");
+ final Localizer localizer = Localizer.getInstance();
+ final JMenu menu = new JMenu(localizer.getMessage("lblFile"));
menu.add(getMenuItem_OpenLayout());
menu.add(getMenuItem_SaveLayout());
return menu;
}
private static JMenu getMenu_ThemeOptions() {
- final JMenu menu = new JMenu("Theme");
+ final Localizer localizer = Localizer.getInstance();
+ final JMenu menu = new JMenu(localizer.getMessage("lblTheme"));
JRadioButtonMenuItem menuItem;
final ButtonGroup group = new ButtonGroup();
final String currentSkin = prefs.getPref(FPref.UI_SKIN);
@@ -102,7 +106,8 @@ public final class LayoutMenu {
};
private static JMenuItem getMenuItem_ShowBackgroundImage() {
- final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem("Background Image");
+ final Localizer localizer = Localizer.getInstance();
+ final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(localizer.getMessage("lblBackgroundImage"));
menuItem.setState(prefs.getPrefBoolean(FPref.UI_MATCH_IMAGE_VISIBLE));
menuItem.addActionListener(getShowBackgroundImageAction(menuItem));
return menuItem;
@@ -124,7 +129,8 @@ public final class LayoutMenu {
}
private static JMenuItem getMenuItem_ShowTabs() {
- final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem("Panel Tabs");
+ final Localizer localizer = Localizer.getInstance();
+ final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(localizer.getMessage("lblPanelTabs"));
menuItem.setAccelerator(MenuUtil.getAcceleratorKey(KeyEvent.VK_T));
menuItem.setState(!prefs.getPrefBoolean(FPref.UI_HIDE_GAME_TABS));
menuItem.addActionListener(getShowTabsAction(menuItem));
@@ -142,7 +148,8 @@ public final class LayoutMenu {
}
private JMenuItem getMenuItem_SaveLayout() {
- final SkinnedMenuItem menuItem = new SkinnedMenuItem("Save Current Layout");
+ final Localizer localizer = Localizer.getInstance();
+ final SkinnedMenuItem menuItem = new SkinnedMenuItem(localizer.getMessage("lblSaveCurrentLayout"));
menuItem.setIcon((showIcons ? MenuUtil.getMenuIcon(FSkinProp.ICO_SAVELAYOUT) : null));
menuItem.addActionListener(getSaveLayoutAction());
return menuItem;
@@ -157,7 +164,8 @@ public final class LayoutMenu {
}
private JMenuItem getMenuItem_OpenLayout() {
- final SkinnedMenuItem menuItem = new SkinnedMenuItem("Open...");
+ final Localizer localizer = Localizer.getInstance();
+ final SkinnedMenuItem menuItem = new SkinnedMenuItem(localizer.getMessage("lblOpen") +"..");
menuItem.setIcon((showIcons ? MenuUtil.getMenuIcon(FSkinProp.ICO_OPENLAYOUT) : null));
menuItem.addActionListener(getOpenLayoutAction());
return menuItem;
@@ -172,7 +180,8 @@ public final class LayoutMenu {
}
private JMenuItem getMenuItem_RevertLayout() {
- final SkinnedMenuItem menuItem = new SkinnedMenuItem("Refresh");
+ final Localizer localizer = Localizer.getInstance();
+ final SkinnedMenuItem menuItem = new SkinnedMenuItem(localizer.getMessage("lblRefresh"));
menuItem.setIcon((showIcons ? MenuUtil.getMenuIcon(FSkinProp.ICO_REVERTLAYOUT) : null));
menuItem.addActionListener(getRevertLayoutAction());
return menuItem;
@@ -187,7 +196,8 @@ public final class LayoutMenu {
}
private static JMenuItem getMenuItem_SetWindowSize() {
- final JMenuItem menuItem = new JMenuItem("Set Window Size");
+ final Localizer localizer = Localizer.getInstance();
+ final JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblSetWindowSize"));
menuItem.addActionListener(getSetWindowSizeAction());
return menuItem;
}
@@ -196,7 +206,8 @@ public final class LayoutMenu {
return new ActionListener() {
@Override public void actionPerformed(final ActionEvent e) {
final String[] options = {"800x600", "1024x768", "1280x720"};
- final String choice = GuiChoose.oneOrNone("Choose new window size", options);
+ final Localizer localizer = Localizer.getInstance();
+ final String choice = GuiChoose.oneOrNone(localizer.getMessage("lblChooseNewWindowSize"), options);
if (choice != null) {
final String[] dims = choice.split("x");
Singletons.getView().getFrame().setSize(Integer.parseInt(dims[0]), Integer.parseInt(dims[1]));
@@ -207,10 +218,12 @@ public final class LayoutMenu {
private static JMenuItem fullScreenItem;
public static void updateFullScreenItemText() {
- fullScreenItem.setText(Singletons.getView().getFrame().isFullScreen() ? "Exit Full Screen" : "Full Screen");
+ final Localizer localizer = Localizer.getInstance();
+ fullScreenItem.setText(Singletons.getView().getFrame().isFullScreen() ? localizer.getMessage("lblExitFullScreen") : localizer.getMessage("lblFullScreen"));
}
private static JMenuItem getMenuItem_FullScreen() {
- fullScreenItem = new JMenuItem("Full Screen");
+ final Localizer localizer = Localizer.getInstance();
+ fullScreenItem = new JMenuItem(localizer.getMessage("lblFullScreen"));
updateFullScreenItemText();
fullScreenItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0));
fullScreenItem.addActionListener(getFullScreenAction());
diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/EMenuGroup.java b/forge-gui-desktop/src/main/java/forge/screens/home/EMenuGroup.java
index e035b5ef4e6..906c8a845a0 100644
--- a/forge-gui-desktop/src/main/java/forge/screens/home/EMenuGroup.java
+++ b/forge-gui-desktop/src/main/java/forge/screens/home/EMenuGroup.java
@@ -1,5 +1,5 @@
package forge.screens.home;
-
+import forge.util.Localizer;
/**
* Submenus each belong to a menu group, which
* is used for several functions, such as expanding
@@ -8,12 +8,12 @@ package forge.screens.home;
*
(E at beginning of class name denotes an enum.)
*/
public enum EMenuGroup {
- SANCTIONED ("Sanctioned Formats"),
- ONLINE ("Online Multiplayer"),
- QUEST ("Quest Mode"),
- PUZZLE ("Puzzle Mode"),
- GAUNTLET ("Gauntlets"),
- SETTINGS ("Game Settings");
+ SANCTIONED ("lblSanctionedFormats"),
+ ONLINE ("lblOnlineMultiplayer"),
+ QUEST ("lblQuestMode"),
+ PUZZLE ("lblPuzzleMode"),
+ GAUNTLET ("lblGauntlets"),
+ SETTINGS ("lblGameSettings");
private final String strTitle;
@@ -21,5 +21,9 @@ public enum EMenuGroup {
private EMenuGroup(final String s0) { strTitle = s0; }
/** @return {@link java.lang.String} */
- public String getTitle() { return this.strTitle; }
+ public String getTitle() {
+ final Localizer localizer = Localizer.getInstance();
+ String t = localizer.getMessage(this.strTitle);
+ return t;
+ }
}
diff --git a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java
index 2068e3a4f05..fccc6776dbf 100644
--- a/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java
+++ b/forge-gui-desktop/src/main/java/forge/screens/home/PlayerPanel.java
@@ -51,9 +51,11 @@ import forge.toolbox.FTextField;
import forge.util.MyRandom;
import forge.util.NameGenerator;
import forge.util.gui.SOptionPane;
+import forge.util.Localizer;
@SuppressWarnings("serial")
public class PlayerPanel extends FPanel {
+ final Localizer localizer = Localizer.getInstance();
private final static ForgePreferences prefs = FModel.getPreferences();
private static final SkinColor unfocusedPlayerOverlay = FSkin.getColor(FSkin.Colors.CLR_OVERLAY).alphaColor(120);
@@ -77,23 +79,23 @@ public class PlayerPanel extends FPanel {
private final FComboBoxWrapper