Code formatter take 2

This commit is contained in:
modmuss50 2016-03-25 09:47:34 +00:00
parent 33985f1a31
commit 5eed5b161d
450 changed files with 32768 additions and 26684 deletions

295
CodeFormatter.xml Normal file
View file

@ -0,0 +1,295 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="12">
<profile kind="CodeFormatterProfile" name="TechReborn" version="12">
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.enabling_tag" value="@formatter:on"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.use_on_off_tags" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_lambda_body" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode" value="enabled"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_method_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.join_wrapped_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_resources_in_try" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_label" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.8"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
</profile>
</profiles>

View file

@ -1,5 +1,7 @@
package techreborn; package techreborn;
import java.io.File;
import net.minecraft.block.BlockDispenser; import net.minecraft.block.BlockDispenser;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.client.event.ConfigChangedEvent; import net.minecraftforge.fml.client.event.ConfigChangedEvent;
@ -14,7 +16,9 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry; import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.registry.EntityRegistry; import net.minecraftforge.fml.common.registry.EntityRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry; import net.minecraftforge.fml.common.registry.GameRegistry;
import org.apache.commons.lang3.time.StopWatch; import org.apache.commons.lang3.time.StopWatch;
import reborncore.common.multiblock.MultiblockEventHandler; import reborncore.common.multiblock.MultiblockEventHandler;
import reborncore.common.multiblock.MultiblockServerTickHandler; import reborncore.common.multiblock.MultiblockServerTickHandler;
import reborncore.common.packets.AddDiscriminatorEvent; import reborncore.common.packets.AddDiscriminatorEvent;
@ -33,7 +37,14 @@ import techreborn.dispenser.BehaviorDispenseScrapbox;
import techreborn.entitys.EntityNukePrimed; import techreborn.entitys.EntityNukePrimed;
import techreborn.events.OreUnifier; import techreborn.events.OreUnifier;
import techreborn.events.TRTickHandler; import techreborn.events.TRTickHandler;
import techreborn.init.*; import techreborn.init.ModBlocks;
import techreborn.init.ModFluids;
import techreborn.init.ModItems;
import techreborn.init.ModLoot;
import techreborn.init.ModParts;
import techreborn.init.ModRecipes;
import techreborn.init.ModSounds;
import techreborn.init.RecipeCompact;
import techreborn.lib.ModInfo; import techreborn.lib.ModInfo;
import techreborn.packets.PacketAesu; import techreborn.packets.PacketAesu;
import techreborn.packets.PacketIdsu; import techreborn.packets.PacketIdsu;
@ -42,10 +53,9 @@ import techreborn.tiles.idsu.IDSUManager;
import techreborn.utils.StackWIPHandler; import techreborn.utils.StackWIPHandler;
import techreborn.world.TechRebornWorldGen; import techreborn.world.TechRebornWorldGen;
import java.io.File;
@Mod(modid = ModInfo.MOD_ID, name = ModInfo.MOD_NAME, version = ModInfo.MOD_VERSION, dependencies = ModInfo.MOD_DEPENDENCUIES, guiFactory = ModInfo.GUI_FACTORY_CLASS, acceptedMinecraftVersions = "[1.9]") @Mod(modid = ModInfo.MOD_ID, name = ModInfo.MOD_NAME, version = ModInfo.MOD_VERSION, dependencies = ModInfo.MOD_DEPENDENCUIES, guiFactory = ModInfo.GUI_FACTORY_CLASS, acceptedMinecraftVersions = "[1.9]")
public class Core { public class Core
{
public static ConfigTechReborn config; public static ConfigTechReborn config;
@SidedProxy(clientSide = ModInfo.CLIENT_PROXY_CLASS, serverSide = ModInfo.SERVER_PROXY_CLASS) @SidedProxy(clientSide = ModInfo.CLIENT_PROXY_CLASS, serverSide = ModInfo.SERVER_PROXY_CLASS)
@ -53,25 +63,23 @@ public class Core {
@Mod.Instance @Mod.Instance
public static Core INSTANCE; public static Core INSTANCE;
public VersionChecker versionChecker;
public static LogHelper logHelper = new LogHelper(new ModInfo()); public static LogHelper logHelper = new LogHelper(new ModInfo());
public static TechRebornWorldGen worldGen;
private static RecipeCompact recipeCompact; private static RecipeCompact recipeCompact;
private static File configDir; private static File configDir;
public VersionChecker versionChecker;
public static TechRebornWorldGen worldGen;
@Mod.EventHandler @Mod.EventHandler
public void preinit(FMLPreInitializationEvent event) { public void preinit(FMLPreInitializationEvent event)
{
event.getModMetadata().version = ModInfo.MOD_VERSION; event.getModMetadata().version = ModInfo.MOD_VERSION;
INSTANCE = this; INSTANCE = this;
FMLCommonHandler.instance().bus().register(this); FMLCommonHandler.instance().bus().register(this);
MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(this);
configDir = new File(event.getModConfigurationDirectory(), "techreborn"); configDir = new File(event.getModConfigurationDirectory(), "techreborn");
if(!configDir.exists()){ if (!configDir.exists())
{
configDir.mkdir(); configDir.mkdir();
} }
config = ConfigTechReborn.initialize(new File(configDir, "main.cfg")); config = ConfigTechReborn.initialize(new File(configDir, "main.cfg"));
@ -81,10 +89,11 @@ public class Core {
recipeCompact = new RecipeCompact(); recipeCompact = new RecipeCompact();
TechRebornAPI.recipeCompact = recipeCompact; TechRebornAPI.recipeCompact = recipeCompact;
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.preInit(event); compatModule.preInit(event);
} }
//Entitys // Entitys
EntityRegistry.registerModEntity(EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true); EntityRegistry.registerModEntity(EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true);
proxy.preInit(event); proxy.preInit(event);
@ -96,7 +105,8 @@ public class Core {
} }
@Mod.EventHandler @Mod.EventHandler
public void init(FMLInitializationEvent event) throws IllegalAccessException, InstantiationException { public void init(FMLInitializationEvent event) throws IllegalAccessException, InstantiationException
{
// Register ModBlocks // Register ModBlocks
ModBlocks.init(); ModBlocks.init();
// Register Fluids // Register Fluids
@ -107,10 +117,11 @@ public class Core {
ModLoot.init(); ModLoot.init();
// Multiparts // Multiparts
ModParts.init(); ModParts.init();
//Sounds // Sounds
ModSounds.init(); ModSounds.init();
// Compat // Compat
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.init(event); compatModule.init(event);
} }
// Recipes // Recipes
@ -134,24 +145,27 @@ public class Core {
MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler()); MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler());
// IDSU manager // IDSU manager
IDSUManager.INSTANCE = new IDSUManager(); IDSUManager.INSTANCE = new IDSUManager();
//Event busses // Event busses
MinecraftForge.EVENT_BUS.register(IDSUManager.INSTANCE); MinecraftForge.EVENT_BUS.register(IDSUManager.INSTANCE);
MinecraftForge.EVENT_BUS.register(new MultiblockServerTickHandler()); MinecraftForge.EVENT_BUS.register(new MultiblockServerTickHandler());
MinecraftForge.EVENT_BUS.register(new TRTickHandler()); MinecraftForge.EVENT_BUS.register(new TRTickHandler());
MinecraftForge.EVENT_BUS.register(new OreUnifier()); MinecraftForge.EVENT_BUS.register(new OreUnifier());
MinecraftForge.EVENT_BUS.register(worldGen.retroGen); MinecraftForge.EVENT_BUS.register(worldGen.retroGen);
MinecraftForge.EVENT_BUS.register(new StackWIPHandler()); MinecraftForge.EVENT_BUS.register(new StackWIPHandler());
//Scrapbox // Scrapbox
if (config.scrapboxDispenser) { if (config.scrapboxDispenser)
{
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.scrapBox, new BehaviorDispenseScrapbox()); BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.scrapBox, new BehaviorDispenseScrapbox());
} }
logHelper.info("Initialization Complete"); logHelper.info("Initialization Complete");
} }
@Mod.EventHandler @Mod.EventHandler
public void postinit(FMLPostInitializationEvent event) throws Exception { public void postinit(FMLPostInitializationEvent event) throws Exception
{
// Has to be done here as Buildcraft registers their recipes late // Has to be done here as Buildcraft registers their recipes late
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.postInit(event); compatModule.postInit(event);
} }
proxy.postInit(event); proxy.postInit(event);
@ -164,22 +178,27 @@ public class Core {
} }
@Mod.EventHandler @Mod.EventHandler
public void serverStarting(FMLServerStartingEvent event) { public void serverStarting(FMLServerStartingEvent event)
{
event.registerServerCommand(new TechRebornDevCommand()); event.registerServerCommand(new TechRebornDevCommand());
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.serverStarting(event); compatModule.serverStarting(event);
} }
} }
@SubscribeEvent @SubscribeEvent
public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent cfgChange) { public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent cfgChange)
if (cfgChange.modID.equals("TechReborn")) { {
if (cfgChange.modID.equals("TechReborn"))
{
ConfigTechReborn.Configs(); ConfigTechReborn.Configs();
} }
} }
@SubscribeEvent @SubscribeEvent
public void addDiscriminator(AddDiscriminatorEvent event) { public void addDiscriminator(AddDiscriminatorEvent event)
{
event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketAesu.class); event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketAesu.class);
event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketIdsu.class); event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketIdsu.class);
} }

View file

@ -1,33 +1,33 @@
package techreborn.achievement; package techreborn.achievement;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.stats.Achievement; import net.minecraft.stats.Achievement;
import java.util.ArrayList; public class AchievementMod extends Achievement
import java.util.List; {
public class AchievementMod extends Achievement { public static List<Achievement> achievements = new ArrayList();
public static List<Achievement> achievements = new ArrayList(); public AchievementMod(String name, int x, int y, ItemStack icon, Achievement parent)
{
super("achievement.techreborn:" + name, "TechReborn:" + name, x, y, icon, parent);
achievements.add(this);
registerStat();
}
public AchievementMod(String name, int x, int y, ItemStack icon, public AchievementMod(String name, int x, int y, Item icon, Achievement parent)
Achievement parent) { {
super("achievement.techreborn:" + name, "TechReborn:" + name, x, y, this(name, x, y, new ItemStack(icon), parent);
icon, parent); }
achievements.add(this);
registerStat();
}
public AchievementMod(String name, int x, int y, Item icon, public AchievementMod(String name, int x, int y, Block icon, Achievement parent)
Achievement parent) { {
this(name, x, y, new ItemStack(icon), parent); this(name, x, y, new ItemStack(icon), parent);
} }
public AchievementMod(String name, int x, int y, Block icon,
Achievement parent) {
this(name, x, y, new ItemStack(icon), parent);
}
} }

View file

@ -8,29 +8,32 @@ import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemPickupEvent;
import reborncore.common.achievement.ICraftAchievement; import reborncore.common.achievement.ICraftAchievement;
import reborncore.common.achievement.IPickupAchievement; import reborncore.common.achievement.IPickupAchievement;
public class AchievementTriggerer { public class AchievementTriggerer
{
@SubscribeEvent @SubscribeEvent
public void onItemPickedUp(ItemPickupEvent event) { public void onItemPickedUp(ItemPickupEvent event)
ItemStack stack = event.pickedUp.getEntityItem(); {
if (stack != null && stack.getItem() instanceof IPickupAchievement) { ItemStack stack = event.pickedUp.getEntityItem();
Achievement achievement = ((IPickupAchievement) stack.getItem()) if (stack != null && stack.getItem() instanceof IPickupAchievement)
.getAchievementOnPickup(stack, event.player, event.pickedUp); {
if (achievement != null) Achievement achievement = ((IPickupAchievement) stack.getItem()).getAchievementOnPickup(stack, event.player,
event.player.addStat(achievement, 1); event.pickedUp);
} if (achievement != null)
} event.player.addStat(achievement, 1);
}
}
@SubscribeEvent @SubscribeEvent
public void onItemCrafted(ItemCraftedEvent event) { public void onItemCrafted(ItemCraftedEvent event)
if (event.crafting != null {
&& event.crafting.getItem() instanceof ICraftAchievement) { if (event.crafting != null && event.crafting.getItem() instanceof ICraftAchievement)
Achievement achievement = ((ICraftAchievement) event.crafting {
.getItem()).getAchievementOnCraft(event.crafting, Achievement achievement = ((ICraftAchievement) event.crafting.getItem())
event.player, event.craftMatrix); .getAchievementOnCraft(event.crafting, event.player, event.craftMatrix);
if (achievement != null) if (achievement != null)
event.player.addStat(achievement, 1); event.player.addStat(achievement, 1);
} }
} }
} }

View file

@ -7,32 +7,29 @@ import net.minecraftforge.fml.common.FMLCommonHandler;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
import techreborn.lib.ModInfo; import techreborn.lib.ModInfo;
public class TRAchievements { public class TRAchievements
{
public static AchievementPage techrebornPage; public static AchievementPage techrebornPage;
public static int pageIndex; public static int pageIndex;
public static Achievement ore_PickUp; public static Achievement ore_PickUp;
public static Achievement thermalgen_Craft; public static Achievement thermalgen_Craft;
public static Achievement centrifuge_Craft; public static Achievement centrifuge_Craft;
public static void init() { public static void init()
ore_PickUp = new AchievementMod("ore_PickUp", 0, 0, new ItemStack( {
ModBlocks.ore, 1, 0), null); ore_PickUp = new AchievementMod("ore_PickUp", 0, 0, new ItemStack(ModBlocks.ore, 1, 0), null);
centrifuge_Craft = new AchievementMod("centrifuge_Craft", 1, 1, centrifuge_Craft = new AchievementMod("centrifuge_Craft", 1, 1, ModBlocks.centrifuge, ore_PickUp);
ModBlocks.centrifuge, ore_PickUp); thermalgen_Craft = new AchievementMod("thermalgen_Craft", 2, 1, ModBlocks.thermalGenerator, ore_PickUp);
thermalgen_Craft = new AchievementMod("thermalgen_Craft", 2, 1,
ModBlocks.thermalGenerator, ore_PickUp);
pageIndex = AchievementPage.getAchievementPages().size(); pageIndex = AchievementPage.getAchievementPages().size();
techrebornPage = new AchievementPage(ModInfo.MOD_NAME, techrebornPage = new AchievementPage(ModInfo.MOD_NAME,
AchievementMod.achievements AchievementMod.achievements.toArray(new Achievement[AchievementMod.achievements.size()]));
.toArray(new Achievement[AchievementMod.achievements AchievementPage.registerAchievementPage(techrebornPage);
.size()]));
AchievementPage.registerAchievementPage(techrebornPage);
FMLCommonHandler.instance().bus().register(new AchievementTriggerer()); FMLCommonHandler.instance().bus().register(new AchievementTriggerer());
} }
} }

View file

@ -1,5 +1,9 @@
package techreborn.api; package techreborn.api;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.inventory.InventoryCrafting; import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@ -11,111 +15,127 @@ import net.minecraft.world.World;
import net.minecraftforge.oredict.ShapedOreRecipe; import net.minecraftforge.oredict.ShapedOreRecipe;
import net.minecraftforge.oredict.ShapelessOreRecipe; import net.minecraftforge.oredict.ShapelessOreRecipe;
import java.util.ArrayList; public class RollingMachineRecipe
import java.util.HashMap; {
import java.util.List;
public class RollingMachineRecipe { public static final RollingMachineRecipe instance = new RollingMachineRecipe();
private final List<IRecipe> recipes = new ArrayList<IRecipe>();
private final List<IRecipe> recipes = new ArrayList<IRecipe>(); public void addShapedOreRecipe(ItemStack outputItemStack, Object... objectInputs)
{
recipes.add(new ShapedOreRecipe(outputItemStack, objectInputs));
}
public static final RollingMachineRecipe instance = new RollingMachineRecipe(); public void addShapelessOreRecipe(ItemStack outputItemStack, Object... objectInputs)
{
recipes.add(new ShapelessOreRecipe(outputItemStack, objectInputs));
}
public void addShapedOreRecipe(ItemStack outputItemStack, public void addRecipe(ItemStack output, Object... components)
Object... objectInputs) { {
recipes.add(new ShapedOreRecipe(outputItemStack, objectInputs)); String s = "";
} int i = 0;
int j = 0;
int k = 0;
if (components[i] instanceof String[])
{
String as[] = (String[]) components[i++];
for (int l = 0; l < as.length; l++)
{
String s2 = as[l];
k++;
j = s2.length();
s = (new StringBuilder()).append(s).append(s2).toString();
}
} else
{
while (components[i] instanceof String)
{
String s1 = (String) components[i++];
k++;
j = s1.length();
s = (new StringBuilder()).append(s).append(s1).toString();
}
}
HashMap hashmap = new HashMap();
for (; i < components.length; i += 2)
{
Character character = (Character) components[i];
ItemStack itemstack1 = null;
if (components[i + 1] instanceof Item)
{
itemstack1 = new ItemStack((Item) components[i + 1]);
} else if (components[i + 1] instanceof Block)
{
itemstack1 = new ItemStack((Block) components[i + 1], 1, -1);
} else if (components[i + 1] instanceof ItemStack)
{
itemstack1 = (ItemStack) components[i + 1];
}
hashmap.put(character, itemstack1);
}
public void addShapelessOreRecipe(ItemStack outputItemStack, ItemStack recipeArray[] = new ItemStack[j * k];
Object... objectInputs) { for (int i1 = 0; i1 < j * k; i1++)
recipes {
.add(new ShapelessOreRecipe(outputItemStack, objectInputs)); char c = s.charAt(i1);
} if (hashmap.containsKey(Character.valueOf(c)))
{
recipeArray[i1] = ((ItemStack) hashmap.get(Character.valueOf(c))).copy();
} else
{
recipeArray[i1] = null;
}
}
public void addRecipe(ItemStack output, Object... components) { recipes.add(new ShapedRecipes(j, k, recipeArray, output));
String s = ""; }
int i = 0;
int j = 0;
int k = 0;
if (components[i] instanceof String[]) {
String as[] = (String[]) components[i++];
for (int l = 0; l < as.length; l++) {
String s2 = as[l];
k++;
j = s2.length();
s = (new StringBuilder()).append(s).append(s2).toString();
}
} else {
while (components[i] instanceof String) {
String s1 = (String) components[i++];
k++;
j = s1.length();
s = (new StringBuilder()).append(s).append(s1).toString();
}
}
HashMap hashmap = new HashMap();
for (; i < components.length; i += 2) {
Character character = (Character) components[i];
ItemStack itemstack1 = null;
if (components[i + 1] instanceof Item) {
itemstack1 = new ItemStack((Item) components[i + 1]);
} else if (components[i + 1] instanceof Block) {
itemstack1 = new ItemStack((Block) components[i + 1], 1, -1);
} else if (components[i + 1] instanceof ItemStack) {
itemstack1 = (ItemStack) components[i + 1];
}
hashmap.put(character, itemstack1);
}
ItemStack recipeArray[] = new ItemStack[j * k]; public void addShapelessRecipe(ItemStack output, Object... components)
for (int i1 = 0; i1 < j * k; i1++) { {
char c = s.charAt(i1); List<ItemStack> ingredients = new ArrayList<ItemStack>();
if (hashmap.containsKey(Character.valueOf(c))) { for (int j = 0; j < components.length; j++)
recipeArray[i1] = ((ItemStack) hashmap {
.get(Character.valueOf(c))).copy(); Object obj = components[j];
} else { if (obj instanceof ItemStack)
recipeArray[i1] = null; {
} ingredients.add(((ItemStack) obj).copy());
} continue;
}
if (obj instanceof Item)
{
ingredients.add(new ItemStack((Item) obj));
continue;
}
if (obj instanceof Block)
{
ingredients.add(new ItemStack((Block) obj));
} else
{
throw new RuntimeException("Invalid shapeless recipe!");
}
}
recipes.add(new ShapedRecipes(j, k, recipeArray, output)); recipes.add(new ShapelessRecipes(output, ingredients));
} }
public void addShapelessRecipe(ItemStack output, Object... components) { public ItemStack findMatchingRecipe(InventoryCrafting inv, World world)
List<ItemStack> ingredients = new ArrayList<ItemStack>(); {
for (int j = 0; j < components.length; j++) { for (int k = 0; k < recipes.size(); k++)
Object obj = components[j]; {
if (obj instanceof ItemStack) { IRecipe irecipe = (IRecipe) recipes.get(k);
ingredients.add(((ItemStack) obj).copy()); if (irecipe.matches(inv, world))
continue; {
} return irecipe.getCraftingResult(inv);
if (obj instanceof Item) { }
ingredients.add(new ItemStack((Item) obj)); }
continue;
}
if (obj instanceof Block) {
ingredients.add(new ItemStack((Block) obj));
} else {
throw new RuntimeException("Invalid shapeless recipe!");
}
}
recipes.add(new ShapelessRecipes(output, ingredients)); return null;
} }
public ItemStack findMatchingRecipe(InventoryCrafting inv, World world) { public List<IRecipe> getRecipeList()
for (int k = 0; k < recipes.size(); k++) { {
IRecipe irecipe = (IRecipe) recipes.get(k); return recipes;
if (irecipe.matches(inv, world)) { }
return irecipe.getCraftingResult(inv);
}
}
return null;
}
public List<IRecipe> getRecipeList() {
return recipes;
}
} }

View file

@ -1,15 +1,17 @@
package techreborn.api; package techreborn.api;
import net.minecraft.item.ItemStack;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
public class ScrapboxList { import net.minecraft.item.ItemStack;
public class ScrapboxList
{
public static List<ItemStack> stacks = new ArrayList<ItemStack>(); public static List<ItemStack> stacks = new ArrayList<ItemStack>();
public static void addItemStackToList(ItemStack stack){ public static void addItemStackToList(ItemStack stack)
{
stacks.add(stack); stacks.add(stack);
} }
} }

View file

@ -5,17 +5,21 @@ import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.api.upgrade.IMachineUpgrade; import techreborn.api.upgrade.IMachineUpgrade;
public class SlotUpgrade extends Slot{ public class SlotUpgrade extends Slot
{
public SlotUpgrade(IInventory inventoryIn, int index, int xPosition, int yPosition) { public SlotUpgrade(IInventory inventoryIn, int index, int xPosition, int yPosition)
{
super(inventoryIn, index, xPosition, yPosition); super(inventoryIn, index, xPosition, yPosition);
} }
@Override @Override
public boolean isItemValid(ItemStack stack) { public boolean isItemValid(ItemStack stack)
if(stack.getItem() instanceof IMachineUpgrade){ {
if (stack.getItem() instanceof IMachineUpgrade)
{
return true; return true;
} } else
else return false; return false;
} }
} }

View file

@ -3,34 +3,37 @@ package techreborn.api;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.api.recipe.IRecipeCompact; import techreborn.api.recipe.IRecipeCompact;
public final class TechRebornAPI { public final class TechRebornAPI
{
public static IRecipeCompact recipeCompact; public static IRecipeCompact recipeCompact;
public static void addRollingOreMachinceRecipe(ItemStack output, public static void addRollingOreMachinceRecipe(ItemStack output, Object... components)
Object... components) { {
RollingMachineRecipe.instance.addShapedOreRecipe(output, components); RollingMachineRecipe.instance.addShapedOreRecipe(output, components);
} }
public static void addShapelessOreRollingMachinceRecipe(ItemStack output, public static void addShapelessOreRollingMachinceRecipe(ItemStack output, Object... components)
Object... components) { {
RollingMachineRecipe.instance.addShapelessOreRecipe(output, components); RollingMachineRecipe.instance.addShapelessOreRecipe(output, components);
} }
public static void addRollingMachinceRecipe(ItemStack output, public static void addRollingMachinceRecipe(ItemStack output, Object... components)
Object... components) { {
RollingMachineRecipe.instance.addRecipe(output, components); RollingMachineRecipe.instance.addRecipe(output, components);
} }
public static void addShapelessRollingMachinceRecipe(ItemStack output, public static void addShapelessRollingMachinceRecipe(ItemStack output, Object... components)
Object... components) { {
RollingMachineRecipe.instance.addShapelessRecipe(output, components); RollingMachineRecipe.instance.addShapelessRecipe(output, components);
} }
} }
class RegisteredItemRecipe extends Exception { class RegisteredItemRecipe extends Exception
public RegisteredItemRecipe(String message) { {
super(message); public RegisteredItemRecipe(String message)
} {
super(message);
}
} }

View file

@ -1,82 +1,49 @@
package techreborn.api; package techreborn.api;
import net.minecraft.block.Block; import net.minecraft.block.Block;
public class TechRebornBlocks { public class TechRebornBlocks
{
public static Block getBlock(String name) { public static Block getBlock(String name)
try { {
Object e = Class.forName("techreborn.init.ModBlocks").getField(name).get(null); try
return e instanceof Block ? (Block) e : null; {
} catch (NoSuchFieldException e1) { Object e = Class.forName("techreborn.init.ModBlocks").getField(name).get(null);
e1.printStackTrace(); return e instanceof Block ? (Block) e : null;
return null; } catch (NoSuchFieldException e1)
} catch (IllegalAccessException e) { {
e.printStackTrace(); e1.printStackTrace();
return null; return null;
} catch (ClassNotFoundException e) { } catch (IllegalAccessException e)
e.printStackTrace(); {
return null; e.printStackTrace();
} return null;
} } catch (ClassNotFoundException e)
{
e.printStackTrace();
return null;
}
}
/** /**
*
Full list of blocks. * Full list of blocks.
*
thermalGenerator * thermalGenerator quantumTank quantumChest digitalChest centrifuge
quantumTank * RollingMachine MachineCasing BlastFurnace AlloySmelter Grinder
quantumChest * ImplosionCompressor MatterFabricator ChunkLoader HighAdvancedMachineBlock
digitalChest * Dragoneggenergysiphoner Magicenergeyconverter AssemblyMachine
centrifuge * DieselGenerator IndustrialElectrolyzer MagicalAbsorber Semifluidgenerator
RollingMachine * Gasturbine AlloyFurnace ChemicalReactor lathe platecuttingmachine Idsu
MachineCasing * Aesu Lesu Supercondensator Woodenshelf Metalshelf LesuStorage
BlastFurnace * Distillationtower ElectricCraftingTable VacuumFreezer PlasmaGenerator
AlloySmelter * FusionControlComputer ComputerCube FusionCoil LightningRod heatGenerator
Grinder * industrialSawmill chargeBench farm
ImplosionCompressor *
MatterFabricator * ore storage storage2 machineframe
ChunkLoader *
HighAdvancedMachineBlock *
Dragoneggenergysiphoner */
Magicenergeyconverter
AssemblyMachine
DieselGenerator
IndustrialElectrolyzer
MagicalAbsorber
Semifluidgenerator
Gasturbine
AlloyFurnace
ChemicalReactor
lathe
platecuttingmachine
Idsu
Aesu
Lesu
Supercondensator
Woodenshelf
Metalshelf
LesuStorage
Distillationtower
ElectricCraftingTable
VacuumFreezer
PlasmaGenerator
FusionControlComputer
ComputerCube
FusionCoil
LightningRod
heatGenerator
industrialSawmill
chargeBench
farm
ore
storage
storage2
machineframe
*/
} }

View file

@ -2,79 +2,47 @@ package techreborn.api;
import net.minecraft.item.Item; import net.minecraft.item.Item;
public class TechRebornItems { public class TechRebornItems
{
public static Item getItem(String name) { public static Item getItem(String name)
try { {
Object e = Class.forName("techreborn.init.ModItems").getField(name).get(null); try
return e instanceof Item ? (Item) e : null; {
} catch (NoSuchFieldException e1) { Object e = Class.forName("techreborn.init.ModItems").getField(name).get(null);
e1.printStackTrace(); return e instanceof Item ? (Item) e : null;
return null; } catch (NoSuchFieldException e1)
} catch (IllegalAccessException e) { {
e.printStackTrace(); e1.printStackTrace();
return null; return null;
} catch (ClassNotFoundException e) { } catch (IllegalAccessException e)
e.printStackTrace(); {
return null; e.printStackTrace();
} return null;
} } catch (ClassNotFoundException e)
{
/* e.printStackTrace();
return null;
Items }
}
gems
ingots
nuggets
dusts
smallDusts
tinyDusts
parts
cells
rockCutter
lithiumBatpack
lapotronpack
omniTool
advancedDrill
lapotronicOrb
manuel
uuMatter
plate
rods
crushedOre
purifiedCrushedOre
cloakingDevice
bucketBerylium /*
bucketcalcium *
bucketcalciumcarbonate * Items
bucketChlorite *
bucketDeuterium * gems ingots nuggets dusts smallDusts tinyDusts parts cells rockCutter
bucketGlyceryl * lithiumBatpack lapotronpack omniTool advancedDrill lapotronicOrb manuel
bucketHelium * uuMatter plate rods crushedOre purifiedCrushedOre cloakingDevice
bucketHelium3 *
bucketHeliumplasma * bucketBerylium bucketcalcium bucketcalciumcarbonate bucketChlorite
bucketHydrogen * bucketDeuterium bucketGlyceryl bucketHelium bucketHelium3
bucketLithium * bucketHeliumplasma bucketHydrogen bucketLithium bucketMercury
bucketMercury * bucketMethane bucketNitrocoalfuel bucketNitrofuel bucketNitrogen
bucketMethane * bucketNitrogendioxide bucketPotassium bucketSilicon bucketSodium
bucketNitrocoalfuel * bucketSodiumpersulfate bucketTritium bucketWolframium
bucketNitrofuel *
bucketNitrogen * hammerIron hammerDiamond upgrades farmPatten
bucketNitrogendioxide *
bucketPotassium */
bucketSilicon
bucketSodium
bucketSodiumpersulfate
bucketTritium
bucketWolframium
hammerIron
hammerDiamond
upgrades
farmPatten
*/
} }

View file

@ -1,4 +1,4 @@
@API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI") package techreborn.api; @API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI")
package techreborn.api;
import net.minecraftforge.fml.common.API; import net.minecraftforge.fml.common.API;

View file

@ -1,86 +1,100 @@
package techreborn.api.reactor; package techreborn.api.reactor;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public class FusionReactorRecipe { public class FusionReactorRecipe
{
/** /**
* This is the item stack that is required in the top slot * This is the item stack that is required in the top slot
* *
* This cannot be null * This cannot be null
*/ */
ItemStack topInput; ItemStack topInput;
/** /**
* This is the item stack that is required in the bottom slot * This is the item stack that is required in the bottom slot
* *
* This can be null * This can be null
*/ */
ItemStack bottomInput; ItemStack bottomInput;
/** /**
* This is the output stack * This is the output stack
* *
* This cannot be null * This cannot be null
*/ */
ItemStack output; ItemStack output;
/**
* This is the required eu that has to be in the rector for the reaction to
* start
*/
double startEU;
/**
* This is the eu that changes every tick, set as a minus number to use
* power and a positive number to gen power.
*/
double euTick;
/** /**
* This is the required eu that has to be in the rector for the reaction to start * This is the time in ticks that the reaction takes to complete
*/ */
double startEU; int tickTime;
/**
* This is the eu that changes every tick, set as a minus number to use power and a positive number to gen power.
*/
double euTick;
/** /**
* This is the time in ticks that the reaction takes to complete *
*/ * @param topInput
int tickTime; * This is the top slot stack
* @param bottomInput
* This is the bottom slot stack
* @param output
* This is the output stack
* @param startEU
* This is the inital EU amount
* @param euTick
* This is the eu that is transfured every tick
* @param tickTime
* This is the time the recipe takes to process
*/
public FusionReactorRecipe(ItemStack topInput, ItemStack bottomInput, ItemStack output, double startEU,
double euTick, int tickTime)
{
this.topInput = topInput;
this.bottomInput = bottomInput;
this.output = output;
this.startEU = startEU;
this.euTick = euTick;
this.tickTime = tickTime;
}
/** public ItemStack getTopInput()
* {
* @param topInput This is the top slot stack return topInput;
* @param bottomInput This is the bottom slot stack }
* @param output This is the output stack
* @param startEU This is the inital EU amount
* @param euTick This is the eu that is transfured every tick
* @param tickTime This is the time the recipe takes to process
*/
public FusionReactorRecipe(ItemStack topInput, ItemStack bottomInput, ItemStack output, double startEU, double euTick, int tickTime) {
this.topInput = topInput;
this.bottomInput = bottomInput;
this.output = output;
this.startEU = startEU;
this.euTick = euTick;
this.tickTime = tickTime;
}
public ItemStack getBottomInput()
{
return bottomInput;
}
public ItemStack getTopInput() { public ItemStack getOutput()
return topInput; {
} return output;
}
public ItemStack getBottomInput() { public double getStartEU()
return bottomInput; {
} return startEU;
}
public ItemStack getOutput() { public double getEuTick()
return output; {
} return euTick;
}
public double getStartEU() { public int getTickTime()
return startEU; {
} return tickTime;
}
public double getEuTick() {
return euTick;
}
public int getTickTime() {
return tickTime;
}
} }

View file

@ -1,21 +1,23 @@
package techreborn.api.reactor; package techreborn.api.reactor;
import java.util.ArrayList; import java.util.ArrayList;
public class FusionReactorRecipeHelper { public class FusionReactorRecipeHelper
{
/** /**
* This is the list of all the recipes * This is the list of all the recipes
*/ */
public static ArrayList<FusionReactorRecipe> reactorRecipes = new ArrayList<FusionReactorRecipe>(); public static ArrayList<FusionReactorRecipe> reactorRecipes = new ArrayList<FusionReactorRecipe>();
/** /**
* Register your reactor recipe here * Register your reactor recipe here
* *
* @param reactorRecipe the recipe you want to add * @param reactorRecipe
*/ * the recipe you want to add
public static void registerRecipe(FusionReactorRecipe reactorRecipe){ */
reactorRecipes.add(reactorRecipe); public static void registerRecipe(FusionReactorRecipe reactorRecipe)
} {
reactorRecipes.add(reactorRecipe);
}
} }

View file

@ -1,4 +1,4 @@
@API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI") package techreborn.api.reactor; @API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI")
package techreborn.api.reactor;
import net.minecraftforge.fml.common.API; import net.minecraftforge.fml.common.API;

View file

@ -1,92 +1,101 @@
package techreborn.api.recipe; package techreborn.api.recipe;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
/** /**
* Extend this to add a recipe * Extend this to add a recipe
*/ */
public abstract class BaseRecipe implements IBaseRecipeType, Cloneable { public abstract class BaseRecipe implements IBaseRecipeType, Cloneable
{
public ArrayList<ItemStack> inputs; public ArrayList<ItemStack> inputs;
public String name;
public int tickTime;
public int euPerTick;
private ArrayList<ItemStack> outputs;
private ArrayList<ItemStack> outputs; public BaseRecipe(String name, int tickTime, int euPerTick)
{
inputs = new ArrayList<ItemStack>();
outputs = new ArrayList<ItemStack>();
this.name = name;
// This adds all new recipes
this.tickTime = tickTime;
this.euPerTick = euPerTick;
}
public String name; @Override
public ItemStack getOutput(int i)
{
return outputs.get(i).copy();
}
public int tickTime; @Override
public int getOutputsSize()
{
return outputs.size();
}
public int euPerTick; public void addOutput(ItemStack stack)
{
outputs.add(stack);
}
public BaseRecipe(String name, int tickTime, int euPerTick) { @Override
inputs = new ArrayList<ItemStack>(); public List<ItemStack> getInputs()
outputs = new ArrayList<ItemStack>(); {
this.name = name; return inputs;
//This adds all new recipes }
this.tickTime = tickTime;
this.euPerTick = euPerTick;
}
@Override @Override
public ItemStack getOutput(int i) { public String getRecipeName()
return outputs.get(i).copy(); {
} return name;
}
@Override @Override
public int getOutputsSize() { public int tickTime()
return outputs.size(); {
} return tickTime;
}
public void addOutput(ItemStack stack) { @Override
outputs.add(stack); public int euPerTick()
} {
return euPerTick;
}
@Override
public boolean canCraft(TileEntity tile)
{
return true;
}
@Override @Override
public List<ItemStack> getInputs() { public boolean onCraft(TileEntity tile)
return inputs; {
} return true;
}
@Override @Override
public String getRecipeName() { public Object clone() throws CloneNotSupportedException
return name; {
} return super.clone();
}
@Override @Override
public int tickTime() { public boolean useOreDic()
return tickTime; {
} return true;
}
@Override @Override
public int euPerTick() { public List<ItemStack> getOutputs()
return euPerTick; {
} return outputs;
}
@Override
public boolean canCraft(TileEntity tile) {
return true;
}
@Override
public boolean onCraft(TileEntity tile) {
return true;
}
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public boolean useOreDic() {
return true;
}
@Override
public List<ItemStack> getOutputs() {
return outputs;
}
} }

View file

@ -1,81 +1,87 @@
package techreborn.api.recipe; package techreborn.api.recipe;
import java.util.List;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import java.util.List;
/** /**
* This is the base recipe class implement this to make a recipe handler * This is the base recipe class implement this to make a recipe handler
*/ */
public interface IBaseRecipeType { public interface IBaseRecipeType
{
/** /**
* Use this to get all of the inputs * Use this to get all of the inputs
* *
* @return the List of inputs * @return the List of inputs
*/ */
public List<ItemStack> getInputs(); public List<ItemStack> getInputs();
/** /**
* This gets the output form the array list * This gets the output form the array list
* @param i get output form position in arraylist *
* @return the output * @param i
*/ * get output form position in arraylist
public ItemStack getOutput(int i); * @return the output
*/
public ItemStack getOutput(int i);
/** /**
* @return The ammount of outputs * @return The ammount of outputs
*/ */
public int getOutputsSize(); public int getOutputsSize();
/** /**
* @return get outputs * @return get outputs
*/ */
public List<ItemStack> getOutputs(); public List<ItemStack> getOutputs();
/** /**
* This is the name to check that the recipe is the one that should be used in * This is the name to check that the recipe is the one that should be used
* the tile entity that is set up to process this recipe. * in the tile entity that is set up to process this recipe.
* *
* @return The recipeName * @return The recipeName
*/ */
public String getRecipeName(); public String getRecipeName();
/** /**
* This should be a user friendly name * This should be a user friendly name
* *
* @return The user friendly name of the recipe. * @return The user friendly name of the recipe.
*/ */
public String getUserFreindlyName(); public String getUserFreindlyName();
/** /**
* This is how long the recipe needs to tick for the crafting operation to complete * This is how long the recipe needs to tick for the crafting operation to
* * complete
* @return tick length *
*/ * @return tick length
public int tickTime(); */
public int tickTime();
/** /**
* This is how much eu Per tick the machine should use * This is how much eu Per tick the machine should use
* *
* @return the amount of eu to be used per tick. * @return the amount of eu to be used per tick.
*/ */
public int euPerTick(); public int euPerTick();
/** /**
* @param tile the tile that is doing the crafting * @param tile
* @return if true the recipe will craft, if false it will not * the tile that is doing the crafting
*/ * @return if true the recipe will craft, if false it will not
public boolean canCraft(TileEntity tile); */
public boolean canCraft(TileEntity tile);
/** /**
* @param tile the tile that is doing the crafting * @param tile
* @return return true if fluid was taken and should craft * the tile that is doing the crafting
*/ * @return return true if fluid was taken and should craft
public boolean onCraft(TileEntity tile); */
public boolean onCraft(TileEntity tile);
public Object clone() throws CloneNotSupportedException; public Object clone() throws CloneNotSupportedException;
public boolean useOreDic(); public boolean useOreDic();
} }

View file

@ -2,7 +2,8 @@ package techreborn.api.recipe;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
public interface IRecipeCompact { public interface IRecipeCompact
{
ItemStack getItem(String name); ItemStack getItem(String name);
} }

View file

@ -1,5 +1,7 @@
package techreborn.api.recipe; package techreborn.api.recipe;
import java.util.ArrayList;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import reborncore.api.power.IEnergyInterfaceTile; import reborncore.api.power.IEnergyInterfaceTile;
@ -8,327 +10,417 @@ import reborncore.common.tile.TileMachineBase;
import reborncore.common.util.Inventory; import reborncore.common.util.Inventory;
import reborncore.common.util.ItemUtils; import reborncore.common.util.ItemUtils;
import java.util.ArrayList;
/** /**
* Use this in your tile entity to craft things * Use this in your tile entity to craft things
*/ */
public class RecipeCrafter { public class RecipeCrafter
{
/** /**
* This is the recipe type to use * This is the recipe type to use
*/ */
public String recipeName; public String recipeName;
/** /**
* This is the parent tile * This is the parent tile
*/ */
public TileMachineBase parentTile; public TileMachineBase parentTile;
/** /**
* This is the place to use the power from * This is the place to use the power from
*/ */
public IEnergyInterfaceTile energy; public IEnergyInterfaceTile energy;
/** /**
* This is the amount of inputs that the setRecipe has * This is the amount of inputs that the setRecipe has
*/ */
public int inputs; public int inputs;
/** /**
* This is the amount of outputs that the recipe has * This is the amount of outputs that the recipe has
*/ */
public int outputs; public int outputs;
/** /**
* This is the inventory to use for the crafting * This is the inventory to use for the crafting
*/ */
public Inventory inventory; public Inventory inventory;
/** /**
* This is the list of the slots that the crafting logic should look for the input item stacks. * This is the list of the slots that the crafting logic should look for the
*/ * input item stacks.
public int[] inputSlots; */
public int[] inputSlots;
/** /**
* This is the list for the slots that the crafting logic should look fot the output item stacks. * This is the list for the slots that the crafting logic should look fot
*/ * the output item stacks.
public int[] outputSlots; */
public int[] outputSlots;
public IBaseRecipeType currentRecipe;
public int currentTickTime = 0;
public int currentNeededTicks = 1;// Set to 1 to stop rare crashes
double lastEnergy;
/**
* This is used to change the speed of the crafting operation.
* <p/>
* 0 = none; 0.2 = 20% speed increase 0.75 = 75% increase
*/
double speedMultiplier = 0;
/**
* This is used to change the power of the crafting operation.
* <p/>
* 1 = none; 1.2 = 20% speed increase 1.75 = 75% increase 5 = uses 5 times
* more power
*/
double powerMultiplier = 1;
int ticksSinceLastChange;
/** /**
* This is the constructor, not a lot to say here :P * This is the constructor, not a lot to say here :P
* *
* @param recipeName The recipe name that should be crafted * @param recipeName
* @param parentTile The tile that wil be using this recipe crafter * The recipe name that should be crafted
* @param inputs The amount of input slots * @param parentTile
* @param outputs The amount of output slots * The tile that wil be using this recipe crafter
* @param inventory The inventory of the machine * @param inputs
* @param inputSlots A list of the input slot ids * The amount of input slots
* @param outputSlots A list of output slot ids * @param outputs
*/ * The amount of output slots
public RecipeCrafter(String recipeName, TileMachineBase parentTile, int inputs, int outputs, Inventory inventory, int[] inputSlots, int[] outputSlots) { * @param inventory
this.recipeName = recipeName; * The inventory of the machine
this.parentTile = parentTile; * @param inputSlots
if (parentTile instanceof IEnergyInterfaceTile) { * A list of the input slot ids
energy = (IEnergyInterfaceTile) parentTile; * @param outputSlots
} * A list of output slot ids
this.inputs = inputs; */
this.outputs = outputs; public RecipeCrafter(String recipeName, TileMachineBase parentTile, int inputs, int outputs, Inventory inventory,
this.inventory = inventory; int[] inputSlots, int[] outputSlots)
this.inputSlots = inputSlots; {
this.outputSlots = outputSlots; this.recipeName = recipeName;
} this.parentTile = parentTile;
if (parentTile instanceof IEnergyInterfaceTile)
{
energy = (IEnergyInterfaceTile) parentTile;
}
this.inputs = inputs;
this.outputs = outputs;
this.inventory = inventory;
this.inputSlots = inputSlots;
this.outputSlots = outputSlots;
}
/**
* Call this on the tile tick
*/
public void updateEntity()
{
if (parentTile.getWorld().isRemote)
{
return;
}
ticksSinceLastChange++;
if (ticksSinceLastChange == 20)
{// Force a has chanced every second
inventory.hasChanged = true;
ticksSinceLastChange = 0;
}
if (currentRecipe == null && inventory.hasChanged)
{// It will now look for new recipes.
currentTickTime = 0;
for (IBaseRecipeType recipe : RecipeHandler.getRecipeClassFromName(recipeName))
{
if (recipe.canCraft(parentTile) && hasAllInputs(recipe))
{// This checks to see if it has all of the inputs
boolean canGiveInvAll = true;
for (int i = 0; i < recipe.getOutputsSize(); i++)
{// This checks to see if it can fit all of the outputs
if (!canFitStack(recipe.getOutput(i), outputSlots[i], recipe.useOreDic()))
{
canGiveInvAll = false;
return;
}
}
if (canGiveInvAll)
{
setCurrentRecipe(recipe);// Sets the current recipe then
// syncs
this.currentNeededTicks = (int) (currentRecipe.tickTime() * (1.0 - speedMultiplier));
this.currentTickTime = -1;
setIsActive();
} else
{
this.currentTickTime = -1;
}
}
}
} else
{
if (inventory.hasChanged && !hasAllInputs())
{// If it doesn't have all the inputs reset
currentRecipe = null;
currentTickTime = -1;
setIsActive();
}
if (currentRecipe != null && currentTickTime >= currentNeededTicks)
{// If it has reached the recipe tick time
boolean canGiveInvAll = true;
for (int i = 0; i < currentRecipe.getOutputsSize(); i++)
{// Checks to see if it can fit the output
if (!canFitStack(currentRecipe.getOutput(i), outputSlots[i], currentRecipe.useOreDic()))
{
canGiveInvAll = false;
}
}
ArrayList<Integer> filledSlots = new ArrayList<Integer>();// The
// slots
// that
// have
// been
// filled
if (canGiveInvAll && currentRecipe.onCraft(parentTile))
{
for (int i = 0; i < currentRecipe.getOutputsSize(); i++)
{
if (!filledSlots.contains(outputSlots[i]))
{// checks it has not been filled
fitStack(currentRecipe.getOutput(i).copy(), outputSlots[i]);// fills
// the
// slot
// with
// the
// output
// stack
filledSlots.add(outputSlots[i]);
}
}
useAllInputs();// this uses all the inputs
currentRecipe = null;// resets
currentTickTime = -1;
setIsActive();
}
} else if (currentRecipe != null && currentTickTime < currentNeededTicks)
{
if (energy.canUseEnergy(getEuPerTick()))
{// This uses the power
energy.useEnergy(getEuPerTick());
currentTickTime++;// increase the ticktime
}
}
}
if (inventory.hasChanged)
{
inventory.hasChanged = false;
}
}
public IBaseRecipeType currentRecipe; public boolean hasAllInputs()
public int currentTickTime = 0; {
public int currentNeededTicks = 1;//Set to 1 to stop rare crashes if (currentRecipe == null)
double lastEnergy; {
return false;
}
for (ItemStack input : currentRecipe.getInputs())
{
Boolean hasItem = false;
for (int inputSlot : inputSlots)
{// Checks to see if it can find the input
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputSlot), true, true,
currentRecipe.useOreDic()) && inventory.getStackInSlot(inputSlot).stackSize >= input.stackSize)
{
hasItem = true;
}
}
if (!hasItem)
return false;
}
return true;
}
/** public boolean hasAllInputs(IBaseRecipeType recipeType)
* This is used to change the speed of the crafting operation. {
* <p/> if (recipeType == null)
* 0 = none; {
* 0.2 = 20% speed increase return false;
* 0.75 = 75% increase }
*/ for (ItemStack input : recipeType.getInputs())
double speedMultiplier = 0; {
Boolean hasItem = false;
for (int inputslot : inputSlots)
{
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputslot), true, true,
recipeType.useOreDic()) && inventory.getStackInSlot(inputslot).stackSize >= input.stackSize)
{
hasItem = true;
}
}
if (!hasItem)
return false;
}
return true;
}
/** public void useAllInputs()
* This is used to change the power of the crafting operation. {
* <p/> if (currentRecipe == null)
* 1 = none; {
* 1.2 = 20% speed increase return;
* 1.75 = 75% increase }
* 5 = uses 5 times more power for (ItemStack input : currentRecipe.getInputs())
*/ {
double powerMultiplier = 1; for (int inputSlot : inputSlots)
{// Uses all of the inputs
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputSlot), true, true,
currentRecipe.useOreDic()))
{
inventory.decrStackSize(inputSlot, input.stackSize);
break;
}
}
}
}
int ticksSinceLastChange; public boolean canFitStack(ItemStack stack, int slot, boolean oreDic)
{// Checks to see if it can fit the stack
if (stack == null)
{
return true;
}
if (inventory.getStackInSlot(slot) == null)
{
return true;
}
if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, oreDic))
{
if (stack.stackSize + inventory.getStackInSlot(slot).stackSize <= stack.getMaxStackSize())
{
return true;
}
}
return false;
}
/** public void fitStack(ItemStack stack, int slot)
* Call this on the tile tick {// This fits a stack into a slot
*/ if (stack == null)
public void updateEntity() { {
if (parentTile.getWorld().isRemote) { return;
return; }
} if (inventory.getStackInSlot(slot) == null)
ticksSinceLastChange++; {// If the slot is empty set the contents
if (ticksSinceLastChange == 20) {//Force a has chanced every second inventory.setInventorySlotContents(slot, stack);
inventory.hasChanged = true; return;
ticksSinceLastChange = 0; }
} if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, currentRecipe.useOreDic()))
if (currentRecipe == null && inventory.hasChanged) {//It will now look for new recipes. {// If the slot has stuff in
currentTickTime = 0; if (stack.stackSize + inventory.getStackInSlot(slot).stackSize <= stack.getMaxStackSize())
for (IBaseRecipeType recipe : RecipeHandler.getRecipeClassFromName(recipeName)) { {// Check to see if it fits
if (recipe.canCraft(parentTile) && hasAllInputs(recipe)) {//This checks to see if it has all of the inputs ItemStack newStack = stack.copy();
boolean canGiveInvAll = true; newStack.stackSize = inventory.getStackInSlot(slot).stackSize + stack.stackSize;// Sets
for (int i = 0; i < recipe.getOutputsSize(); i++) {//This checks to see if it can fit all of the outputs // the
if (!canFitStack(recipe.getOutput(i), outputSlots[i], recipe.useOreDic())) { // new
canGiveInvAll = false; // stack
return; // size
} inventory.setInventorySlotContents(slot, newStack);
} }
if (canGiveInvAll) { }
setCurrentRecipe(recipe);//Sets the current recipe then syncs }
this.currentNeededTicks = (int) (currentRecipe.tickTime() * (1.0 - speedMultiplier));
this.currentTickTime = -1;
setIsActive();
} else {
this.currentTickTime = -1;
}
}
}
} else {
if (inventory.hasChanged && !hasAllInputs()) {//If it doesn't have all the inputs reset
currentRecipe = null;
currentTickTime = -1;
setIsActive();
}
if (currentRecipe != null && currentTickTime >= currentNeededTicks) {//If it has reached the recipe tick time
boolean canGiveInvAll = true;
for (int i = 0; i < currentRecipe.getOutputsSize(); i++) {//Checks to see if it can fit the output
if (!canFitStack(currentRecipe.getOutput(i), outputSlots[i], currentRecipe.useOreDic())) {
canGiveInvAll = false;
}
}
ArrayList<Integer> filledSlots = new ArrayList<Integer>();//The slots that have been filled
if (canGiveInvAll && currentRecipe.onCraft(parentTile)) {
for (int i = 0; i < currentRecipe.getOutputsSize(); i++) {
if (!filledSlots.contains(outputSlots[i])) {//checks it has not been filled
fitStack(currentRecipe.getOutput(i).copy(), outputSlots[i]);//fills the slot with the output stack
filledSlots.add(outputSlots[i]);
}
}
useAllInputs();//this uses all the inputs
currentRecipe = null;//resets
currentTickTime = -1;
setIsActive();
}
} else if (currentRecipe != null && currentTickTime < currentNeededTicks) {
if (energy.canUseEnergy(getEuPerTick())) {//This uses the power
energy.useEnergy(getEuPerTick());
currentTickTime++;//increase the ticktime
}
}
}
if (inventory.hasChanged) {
inventory.hasChanged = false;
}
}
public boolean hasAllInputs() { public void readFromNBT(NBTTagCompound tag)
if (currentRecipe == null) { {
return false; NBTTagCompound data = tag.getCompoundTag("Crater");
}
for (ItemStack input : currentRecipe.getInputs()) {
Boolean hasItem = false;
for (int inputSlot : inputSlots) {//Checks to see if it can find the input
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputSlot), true, true, currentRecipe.useOreDic()) && inventory.getStackInSlot(inputSlot).stackSize >= input.stackSize) {
hasItem = true;
}
}
if (!hasItem)
return false;
}
return true;
}
public boolean hasAllInputs(IBaseRecipeType recipeType) { if (data.hasKey("currentTickTime"))
if (recipeType == null) { currentTickTime = data.getInteger("currentTickTime");
return false;
}
for (ItemStack input : recipeType.getInputs()) {
Boolean hasItem = false;
for (int inputslot : inputSlots) {
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputslot), true, true, recipeType.useOreDic()) && inventory.getStackInSlot(inputslot).stackSize >= input.stackSize) {
hasItem = true;
}
}
if (!hasItem)
return false;
}
return true;
}
public void useAllInputs() { if (parentTile != null && parentTile.getWorld() != null && parentTile.getWorld().isRemote)
if (currentRecipe == null) { {
return; parentTile.getWorld().notifyBlockUpdate(parentTile.getPos(),
} parentTile.getWorld().getBlockState(parentTile.getPos()),
for (ItemStack input : currentRecipe.getInputs()) { parentTile.getWorld().getBlockState(parentTile.getPos()), 3);
for (int inputSlot : inputSlots) {//Uses all of the inputs parentTile.getWorld().markBlockRangeForRenderUpdate(parentTile.getPos().getX(), parentTile.getPos().getY(),
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputSlot), true, true, currentRecipe.useOreDic())) { parentTile.getPos().getZ(), parentTile.getPos().getX(), parentTile.getPos().getY(),
inventory.decrStackSize(inputSlot, input.stackSize); parentTile.getPos().getZ());
break; }
} }
}
}
}
public boolean canFitStack(ItemStack stack, int slot, boolean oreDic) {//Checks to see if it can fit the stack public void writeToNBT(NBTTagCompound tag)
if (stack == null) { {
return true;
}
if (inventory.getStackInSlot(slot) == null) {
return true;
}
if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, oreDic)) {
if (stack.stackSize + inventory.getStackInSlot(slot).stackSize <= stack.getMaxStackSize()) {
return true;
}
}
return false;
}
public void fitStack(ItemStack stack, int slot) {//This fits a stack into a slot NBTTagCompound data = new NBTTagCompound();
if (stack == null) {
return;
}
if (inventory.getStackInSlot(slot) == null) {//If the slot is empty set the contents
inventory.setInventorySlotContents(slot, stack);
return;
}
if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, currentRecipe.useOreDic())) {//If the slot has stuff in
if (stack.stackSize + inventory.getStackInSlot(slot).stackSize <= stack.getMaxStackSize()) {//Check to see if it fits
ItemStack newStack = stack.copy();
newStack.stackSize = inventory.getStackInSlot(slot).stackSize + stack.stackSize;//Sets the new stack size
inventory.setInventorySlotContents(slot, newStack);
}
}
}
public void readFromNBT(NBTTagCompound tag) { data.setDouble("currentTickTime", currentTickTime);
NBTTagCompound data = tag.getCompoundTag("Crater");
if (data.hasKey("currentTickTime")) tag.setTag("Crater", data);
currentTickTime = data.getInteger("currentTickTime"); }
if (parentTile != null && parentTile.getWorld() != null && parentTile.getWorld().isRemote) { private boolean isActive()
parentTile.getWorld().notifyBlockUpdate(parentTile.getPos(), parentTile.getWorld().getBlockState(parentTile.getPos()), parentTile.getWorld().getBlockState(parentTile.getPos()), 3); {
parentTile.getWorld().markBlockRangeForRenderUpdate(parentTile.getPos().getX(), parentTile.getPos().getY(), parentTile.getPos().getZ(), parentTile.getPos().getX(), parentTile.getPos().getY(), parentTile.getPos().getZ()); return currentRecipe != null && energy.getEnergy() >= currentRecipe.euPerTick();
} }
}
public void writeToNBT(NBTTagCompound tag) { public void addSpeedMulti(double amount)
{
if (speedMultiplier + amount <= 0.99)
{
speedMultiplier += amount;
} else
{
speedMultiplier = 0.99;
}
}
NBTTagCompound data = new NBTTagCompound(); public void resetSpeedMulti()
{
speedMultiplier = 0;
}
data.setDouble("currentTickTime", currentTickTime); public double getSpeedMultiplier()
{
return speedMultiplier;
}
tag.setTag("Crater", data); public void addPowerMulti(double amount)
} {
powerMultiplier += amount;
}
public void resetPowerMulti()
{
powerMultiplier = 1;
}
private boolean isActive() { public double getPowerMultiplier()
return currentRecipe != null && energy.getEnergy() >= currentRecipe.euPerTick(); {
} return powerMultiplier;
}
public void addSpeedMulti(double amount) { public double getEuPerTick()
if (speedMultiplier + amount <= 0.99) { {
speedMultiplier += amount; return currentRecipe.euPerTick() * powerMultiplier;
} else { }
speedMultiplier = 0.99;
}
}
public void resetSpeedMulti() { public void setIsActive()
speedMultiplier = 0; {
} if (parentTile.getWorld().getBlockState(parentTile.getPos()).getBlock() instanceof BlockMachineBase)
{
BlockMachineBase blockMachineBase = (BlockMachineBase) parentTile.getWorld()
.getBlockState(parentTile.getPos()).getBlock();
blockMachineBase.setActive(isActive(), parentTile.getWorld(), parentTile.getPos());
}
parentTile.getWorld().notifyBlockUpdate(parentTile.getPos(),
parentTile.getWorld().getBlockState(parentTile.getPos()),
parentTile.getWorld().getBlockState(parentTile.getPos()), 3);
}
public double getSpeedMultiplier() { public void setCurrentRecipe(IBaseRecipeType recipe)
return speedMultiplier; {
} try
{
public void addPowerMulti(double amount) { this.currentRecipe = (IBaseRecipeType) recipe.clone();
powerMultiplier += amount; } catch (CloneNotSupportedException e)
} {
e.printStackTrace();
public void resetPowerMulti() { }
powerMultiplier = 1; }
}
public double getPowerMultiplier() {
return powerMultiplier;
}
public double getEuPerTick() {
return currentRecipe.euPerTick() * powerMultiplier;
}
public void setIsActive() {
if(parentTile.getWorld().getBlockState(parentTile.getPos()).getBlock() instanceof BlockMachineBase){
BlockMachineBase blockMachineBase = (BlockMachineBase) parentTile.getWorld().getBlockState(parentTile.getPos()).getBlock();
blockMachineBase.setActive(isActive(), parentTile.getWorld(), parentTile.getPos());
}
parentTile.getWorld().notifyBlockUpdate(parentTile.getPos(), parentTile.getWorld().getBlockState(parentTile.getPos()), parentTile.getWorld().getBlockState(parentTile.getPos()), 3);
}
public void setCurrentRecipe(IBaseRecipeType recipe) {
try {
this.currentRecipe = (IBaseRecipeType) recipe.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
}
} }

View file

@ -1,103 +1,127 @@
package techreborn.api.recipe; package techreborn.api.recipe;
import net.minecraft.item.ItemStack;
import org.apache.commons.lang3.time.StopWatch;
import reborncore.common.util.ItemUtils;
import techreborn.Core;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import net.minecraft.item.ItemStack;
public class RecipeHandler { import org.apache.commons.lang3.time.StopWatch;
/** import reborncore.common.util.ItemUtils;
* This is the array list of all of the recipes for all of the machines import techreborn.Core;
*/
public static final ArrayList<IBaseRecipeType> recipeList = new ArrayList<IBaseRecipeType>();
public class RecipeHandler
{
public static HashMap<IBaseRecipeType, String> stackMap = new HashMap<IBaseRecipeType, String>(); /**
/** * This is the array list of all of the recipes for all of the machines
* This is a list of all the registered machine names. */
*/ public static final ArrayList<IBaseRecipeType> recipeList = new ArrayList<IBaseRecipeType>();
public static ArrayList<String> machineNames = new ArrayList<String>();
/** public static HashMap<IBaseRecipeType, String> stackMap = new HashMap<IBaseRecipeType, String>();
* Use this to get all of the recipes form a recipe name /**
* * This is a list of all the registered machine names.
* @param name the name that the recipe was resisted as. */
* @return A list of all the recipes of a given name. public static ArrayList<String> machineNames = new ArrayList<String>();
*/
public static List<IBaseRecipeType> getRecipeClassFromName(String name) {
List<IBaseRecipeType> baseRecipeList = new ArrayList<IBaseRecipeType>();
for (IBaseRecipeType baseRecipe : recipeList) {
if (baseRecipe.getRecipeName().equals(name)) {
baseRecipeList.add(baseRecipe);
}
}
return baseRecipeList;
}
public static String getUserFreindlyName(String name) { /**
for (IBaseRecipeType baseRecipe : recipeList) { * Use this to get all of the recipes form a recipe name
if (baseRecipe.getRecipeName().equals(name)) { *
return baseRecipe.getUserFreindlyName(); * @param name
} * the name that the recipe was resisted as.
} * @return A list of all the recipes of a given name.
return ""; */
} public static List<IBaseRecipeType> getRecipeClassFromName(String name)
{
List<IBaseRecipeType> baseRecipeList = new ArrayList<IBaseRecipeType>();
for (IBaseRecipeType baseRecipe : recipeList)
{
if (baseRecipe.getRecipeName().equals(name))
{
baseRecipeList.add(baseRecipe);
}
}
return baseRecipeList;
}
/** public static String getUserFreindlyName(String name)
* Add a recipe to the system {
* for (IBaseRecipeType baseRecipe : recipeList)
* @param recipe The recipe to add to the system. {
*/ if (baseRecipe.getRecipeName().equals(name))
public static void addRecipe(IBaseRecipeType recipe) { {
if (recipe == null) { return baseRecipe.getUserFreindlyName();
return; }
} }
if (recipeList.contains(recipe)) { return "";
return; }
}
// if (!RecipeConfigManager.canLoadRecipe(recipe)) {
// return;
// }
if (!machineNames.contains(recipe.getRecipeName())) {
machineNames.add(recipe.getRecipeName());
}
recipeList.add(recipe);
StringBuffer buffer = new StringBuffer();
for (StackTraceElement ste : Thread.currentThread().getStackTrace()) {
buffer.append(ste);
}
stackMap.put(recipe, buffer.toString());
}
/**
* Add a recipe to the system
*
* @param recipe
* The recipe to add to the system.
*/
public static void addRecipe(IBaseRecipeType recipe)
{
if (recipe == null)
{
return;
}
if (recipeList.contains(recipe))
{
return;
}
// if (!RecipeConfigManager.canLoadRecipe(recipe)) {
// return;
// }
if (!machineNames.contains(recipe.getRecipeName()))
{
machineNames.add(recipe.getRecipeName());
}
recipeList.add(recipe);
StringBuffer buffer = new StringBuffer();
for (StackTraceElement ste : Thread.currentThread().getStackTrace())
{
buffer.append(ste);
}
stackMap.put(recipe, buffer.toString());
}
public static void scanForDupeRecipes() throws Exception { public static void scanForDupeRecipes() throws Exception
StopWatch watch = new StopWatch(); {
watch.start(); StopWatch watch = new StopWatch();
for (IBaseRecipeType baseRecipeType : recipeList) { watch.start();
for (IBaseRecipeType recipe : recipeList) { for (IBaseRecipeType baseRecipeType : recipeList)
if (baseRecipeType != recipe && baseRecipeType.getRecipeName().equals(recipe.getRecipeName())) { {
for (int i = 0; i < baseRecipeType.getInputs().size(); i++) { for (IBaseRecipeType recipe : recipeList)
if (ItemUtils.isItemEqual(baseRecipeType.getInputs().get(i), recipe.getInputs().get(i), true, false, false)) { {
StringBuffer itemInfo = new StringBuffer(); if (baseRecipeType != recipe && baseRecipeType.getRecipeName().equals(recipe.getRecipeName()))
for (ItemStack inputs : baseRecipeType.getInputs()) { {
itemInfo.append(":" + inputs.getItem().getUnlocalizedName() + "," + inputs.getDisplayName() + "," + inputs.stackSize); for (int i = 0; i < baseRecipeType.getInputs().size(); i++)
} {
Core.logHelper.all(stackMap.get(baseRecipeType)); if (ItemUtils.isItemEqual(baseRecipeType.getInputs().get(i), recipe.getInputs().get(i), true,
// throw new Exception("Found a duplicate recipe for " + baseRecipeType.getRecipeName() + " with inputs " + itemInfo.toString()); false, false))
} {
} StringBuffer itemInfo = new StringBuffer();
} for (ItemStack inputs : baseRecipeType.getInputs())
} {
} itemInfo.append(":" + inputs.getItem().getUnlocalizedName() + ","
Core.logHelper.all(watch + " : Scanning dupe recipes"); + inputs.getDisplayName() + "," + inputs.stackSize);
watch.stop(); }
Core.logHelper.all(stackMap.get(baseRecipeType));
// throw new Exception("Found a duplicate recipe for
// " + baseRecipeType.getRecipeName() + " with
// inputs " + itemInfo.toString());
}
}
}
}
}
Core.logHelper.all(watch + " : Scanning dupe recipes");
watch.stop();
} }
} }

View file

@ -3,17 +3,21 @@ package techreborn.api.recipe;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.items.ItemParts; import techreborn.items.ItemParts;
import techreborn.lib.Reference; import techreborn.lib.Reference;
//THIS is only here to trick JEI into showing recipes for the recycler
public class RecyclerRecipe extends BaseRecipe {
public RecyclerRecipe(ItemStack input) { //THIS is only here to trick JEI into showing recipes for the recycler
public class RecyclerRecipe extends BaseRecipe
{
public RecyclerRecipe(ItemStack input)
{
super(Reference.recyclerRecipe, 0, 0); super(Reference.recyclerRecipe, 0, 0);
inputs.add(input); inputs.add(input);
addOutput(ItemParts.getPartByName("scrap")); addOutput(ItemParts.getPartByName("scrap"));
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Recycler"; return "Recycler";
} }
} }

View file

@ -4,16 +4,19 @@ import net.minecraft.item.ItemStack;
import techreborn.init.ModItems; import techreborn.init.ModItems;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class ScrapboxRecipe extends BaseRecipe { public class ScrapboxRecipe extends BaseRecipe
{
public ScrapboxRecipe(ItemStack output) { public ScrapboxRecipe(ItemStack output)
{
super(Reference.scrapboxRecipe, 0, 0); super(Reference.scrapboxRecipe, 0, 0);
inputs.add(new ItemStack(ModItems.scrapBox)); inputs.add(new ItemStack(ModItems.scrapBox));
addOutput(output); addOutput(output);
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Scrapbox"; return "Scrapbox";
} }
} }

View file

@ -4,20 +4,23 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class AlloySmelterRecipe extends BaseRecipe { public class AlloySmelterRecipe extends BaseRecipe
{
public AlloySmelterRecipe(ItemStack input1, ItemStack input2, ItemStack output1, int tickTime, int euPerTick) { public AlloySmelterRecipe(ItemStack input1, ItemStack input2, ItemStack output1, int tickTime, int euPerTick)
super(Reference.alloySmelteRecipe, tickTime, euPerTick); {
if (input1 != null) super(Reference.alloySmelteRecipe, tickTime, euPerTick);
inputs.add(input1); if (input1 != null)
if (input2 != null) inputs.add(input1);
inputs.add(input2); if (input2 != null)
if (output1 != null) inputs.add(input2);
addOutput(output1); if (output1 != null)
} addOutput(output1);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Alloy Smelter"; {
} return "Alloy Smelter";
}
} }

View file

@ -4,20 +4,23 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class AssemblingMachineRecipe extends BaseRecipe { public class AssemblingMachineRecipe extends BaseRecipe
{
public AssemblingMachineRecipe(ItemStack input1, ItemStack input2, ItemStack output1, int tickTime, int euPerTick) { public AssemblingMachineRecipe(ItemStack input1, ItemStack input2, ItemStack output1, int tickTime, int euPerTick)
super(Reference.assemblingMachineRecipe, tickTime, euPerTick); {
if (input1 != null) super(Reference.assemblingMachineRecipe, tickTime, euPerTick);
inputs.add(input1); if (input1 != null)
if (input2 != null) inputs.add(input1);
inputs.add(input2); if (input2 != null)
if (output1 != null) inputs.add(input2);
addOutput(output1); if (output1 != null)
} addOutput(output1);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Assembling Machine"; {
} return "Assembling Machine";
}
} }

View file

@ -6,41 +6,47 @@ import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
import techreborn.tiles.TileBlastFurnace; import techreborn.tiles.TileBlastFurnace;
public class BlastFurnaceRecipe extends BaseRecipe { public class BlastFurnaceRecipe extends BaseRecipe
{
public int neededHeat;
public int neededHeat; public BlastFurnaceRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2, int tickTime,
int euPerTick, int neededHeat)
{
super(Reference.blastFurnaceRecipe, tickTime, euPerTick);
if (input1 != null)
inputs.add(input1);
if (input2 != null)
inputs.add(input2);
if (output1 != null)
addOutput(output1);
if (output2 != null)
addOutput(output2);
public BlastFurnaceRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2, int tickTime, int euPerTick, int neededHeat) { this.neededHeat = neededHeat;
super(Reference.blastFurnaceRecipe, tickTime, euPerTick); }
if (input1 != null)
inputs.add(input1);
if (input2 != null)
inputs.add(input2);
if (output1 != null)
addOutput(output1);
if (output2 != null)
addOutput(output2);
this.neededHeat = neededHeat; @Override
} public String getUserFreindlyName()
{
return "Blast Furnace";
}
@Override @Override
public String getUserFreindlyName() { public boolean canCraft(TileEntity tile)
return "Blast Furnace"; {
} if (tile instanceof TileBlastFurnace)
{
TileBlastFurnace blastFurnace = (TileBlastFurnace) tile;
return blastFurnace.getHeat() >= neededHeat;
}
return false;
}
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
if (tile instanceof TileBlastFurnace) { {
TileBlastFurnace blastFurnace = (TileBlastFurnace) tile; return super.onCraft(tile);
return blastFurnace.getHeat() >= neededHeat; }
}
return false;
}
@Override
public boolean onCraft(TileEntity tile) {
return super.onCraft(tile);
}
} }

View file

@ -4,26 +4,30 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class CentrifugeRecipe extends BaseRecipe { public class CentrifugeRecipe extends BaseRecipe
{
public CentrifugeRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) { public CentrifugeRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2, ItemStack output3,
super(Reference.centrifugeRecipe, tickTime, euPerTick); ItemStack output4, int tickTime, int euPerTick)
if (input1 != null) {
inputs.add(input1); super(Reference.centrifugeRecipe, tickTime, euPerTick);
if (input2 != null) if (input1 != null)
inputs.add(input2); inputs.add(input1);
if (output1 != null) if (input2 != null)
addOutput(output1); inputs.add(input2);
if (output2 != null) if (output1 != null)
addOutput(output2); addOutput(output1);
if (output3 != null) if (output2 != null)
addOutput(output3); addOutput(output2);
if (output4 != null) if (output3 != null)
addOutput(output4); addOutput(output3);
} if (output4 != null)
addOutput(output4);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Centrifuge"; {
} return "Centrifuge";
}
} }

View file

@ -4,20 +4,23 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class ChemicalReactorRecipe extends BaseRecipe { public class ChemicalReactorRecipe extends BaseRecipe
{
public ChemicalReactorRecipe(ItemStack input1, ItemStack input2, ItemStack output1, int tickTime, int euPerTick) { public ChemicalReactorRecipe(ItemStack input1, ItemStack input2, ItemStack output1, int tickTime, int euPerTick)
super(Reference.chemicalReactorRecipe, tickTime, euPerTick); {
if (input1 != null) super(Reference.chemicalReactorRecipe, tickTime, euPerTick);
inputs.add(input1); if (input1 != null)
if (input2 != null) inputs.add(input1);
inputs.add(input2); if (input2 != null)
if (output1 != null) inputs.add(input2);
addOutput(output1); if (output1 != null)
} addOutput(output1);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Chemical Reactor"; {
} return "Chemical Reactor";
}
} }

View file

@ -1,22 +1,24 @@
package techreborn.api.recipe.machines; package techreborn.api.recipe.machines;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class CompressorRecipe extends BaseRecipe { public class CompressorRecipe extends BaseRecipe
{
public CompressorRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick) { public CompressorRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick)
super(Reference.compressorRecipe, tickTime, euPerTick); {
if (input1 != null) super(Reference.compressorRecipe, tickTime, euPerTick);
inputs.add(input1); if (input1 != null)
if (output1 != null) inputs.add(input1);
addOutput(output1); if (output1 != null)
} addOutput(output1);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Compressor"; {
} return "Compressor";
}
} }

View file

@ -1,22 +1,24 @@
package techreborn.api.recipe.machines; package techreborn.api.recipe.machines;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class ExtractorRecipe extends BaseRecipe { public class ExtractorRecipe extends BaseRecipe
{
public ExtractorRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick) { public ExtractorRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick)
super(Reference.extractorRecipe, tickTime, euPerTick); {
if (input1 != null) super(Reference.extractorRecipe, tickTime, euPerTick);
inputs.add(input1); if (input1 != null)
if (output1 != null) inputs.add(input1);
addOutput(output1); if (output1 != null)
} addOutput(output1);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Extractor"; {
} return "Extractor";
}
} }

View file

@ -1,22 +1,24 @@
package techreborn.api.recipe.machines; package techreborn.api.recipe.machines;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class GrinderRecipe extends BaseRecipe { public class GrinderRecipe extends BaseRecipe
{
public GrinderRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick) { public GrinderRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick)
super(Reference.grinderRecipe, tickTime, euPerTick); {
if (input1 != null) super(Reference.grinderRecipe, tickTime, euPerTick);
inputs.add(input1); if (input1 != null)
if (output1 != null) inputs.add(input1);
addOutput(output1); if (output1 != null)
} addOutput(output1);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Grinder"; {
} return "Grinder";
}
} }

View file

@ -4,22 +4,26 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class ImplosionCompressorRecipe extends BaseRecipe { public class ImplosionCompressorRecipe extends BaseRecipe
{
public ImplosionCompressorRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2, int tickTime, int euPerTick) { public ImplosionCompressorRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2,
super(Reference.implosionCompressorRecipe, tickTime, euPerTick); int tickTime, int euPerTick)
if (input1 != null) {
inputs.add(input1); super(Reference.implosionCompressorRecipe, tickTime, euPerTick);
if (input2 != null) if (input1 != null)
inputs.add(input2); inputs.add(input1);
if (output1 != null) if (input2 != null)
addOutput(output1); inputs.add(input2);
if (output2 != null) if (output1 != null)
addOutput(output2); addOutput(output1);
} if (output2 != null)
addOutput(output2);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Implosion Compressor"; {
} return "Implosion Compressor";
}
} }

View file

@ -4,33 +4,38 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class IndustrialElectrolyzerRecipe extends BaseRecipe { public class IndustrialElectrolyzerRecipe extends BaseRecipe
{
public IndustrialElectrolyzerRecipe(ItemStack inputCells, ItemStack input2, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) { private boolean useOreDictionary = true;
super(Reference.industrialElectrolyzerRecipe, tickTime, euPerTick);
if (inputCells != null)
inputs.add(inputCells);
if (input2 != null)
inputs.add(input2);
if (output1 != null)
addOutput(output1);
if (output2 != null)
addOutput(output2);
if (output3 != null)
addOutput(output3);
if (output4 != null)
addOutput(output4);
}
@Override public IndustrialElectrolyzerRecipe(ItemStack inputCells, ItemStack input2, ItemStack output1, ItemStack output2,
public String getUserFreindlyName() { ItemStack output3, ItemStack output4, int tickTime, int euPerTick)
return "Industrial Electrolyzer"; {
} super(Reference.industrialElectrolyzerRecipe, tickTime, euPerTick);
if (inputCells != null)
inputs.add(inputCells);
if (input2 != null)
inputs.add(input2);
if (output1 != null)
addOutput(output1);
if (output2 != null)
addOutput(output2);
if (output3 != null)
addOutput(output3);
if (output4 != null)
addOutput(output4);
}
@Override @Override
public boolean useOreDic() { public String getUserFreindlyName()
return useOreDictionary; {
} return "Industrial Electrolyzer";
}
private boolean useOreDictionary = true; @Override
public boolean useOreDic()
{
return useOreDictionary;
}
} }

View file

@ -1,6 +1,5 @@
package techreborn.api.recipe.machines; package techreborn.api.recipe.machines;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
@ -8,72 +7,91 @@ import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
import techreborn.tiles.TileIndustrialGrinder; import techreborn.tiles.TileIndustrialGrinder;
public class IndustrialGrinderRecipe extends BaseRecipe { public class IndustrialGrinderRecipe extends BaseRecipe
{
public FluidStack fluidStack; public FluidStack fluidStack;
public IndustrialGrinderRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) { public IndustrialGrinderRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1,
super(Reference.industrialGrinderRecipe, tickTime, euPerTick); ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick)
if (input1 != null) {
inputs.add(input1); super(Reference.industrialGrinderRecipe, tickTime, euPerTick);
if (input2 != null) if (input1 != null)
inputs.add(input2); inputs.add(input1);
if (output1 != null) if (input2 != null)
addOutput(output1); inputs.add(input2);
if (output2 != null) if (output1 != null)
addOutput(output2); addOutput(output1);
if (output3 != null) if (output2 != null)
addOutput(output3); addOutput(output2);
if (output4 != null) if (output3 != null)
addOutput(output4); addOutput(output3);
this.fluidStack = fluidStack; if (output4 != null)
} addOutput(output4);
this.fluidStack = fluidStack;
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "IndustrialGrinder"; {
} return "IndustrialGrinder";
}
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean canCraft(TileEntity tile)
if (fluidStack == null) { {
return true; if (fluidStack == null)
} {
if (tile instanceof TileIndustrialGrinder) { return true;
TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile; }
if (grinder.tank.getFluid() == null) { if (tile instanceof TileIndustrialGrinder)
return false; {
} TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile;
if (grinder.tank.getFluid() == fluidStack) { if (grinder.tank.getFluid() == null)
if (grinder.tank.getFluidAmount() >= fluidStack.amount) { {
return true; return false;
} }
} if (grinder.tank.getFluid() == fluidStack)
} {
return false; if (grinder.tank.getFluidAmount() >= fluidStack.amount)
} {
return true;
}
}
}
return false;
}
@Override @Override
public boolean onCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
if (fluidStack == null) { {
return true; if (fluidStack == null)
} {
if (tile instanceof TileIndustrialGrinder) { return true;
TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile; }
if (grinder.tank.getFluid() == null) { if (tile instanceof TileIndustrialGrinder)
return false; {
} TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile;
if (grinder.tank.getFluid() == fluidStack) { if (grinder.tank.getFluid() == null)
if (grinder.tank.getFluidAmount() >= fluidStack.amount) { {
if (grinder.tank.getFluidAmount() > 0) { return false;
grinder.tank.setFluid(new FluidStack(fluidStack.getFluid(), grinder.tank.getFluidAmount() - fluidStack.amount)); }
} else { if (grinder.tank.getFluid() == fluidStack)
grinder.tank.setFluid(null); {
} if (grinder.tank.getFluidAmount() >= fluidStack.amount)
return true; {
} if (grinder.tank.getFluidAmount() > 0)
} {
} grinder.tank.setFluid(new FluidStack(fluidStack.getFluid(),
return false; grinder.tank.getFluidAmount() - fluidStack.amount));
} } else
{
grinder.tank.setFluid(null);
}
return true;
}
}
}
return false;
}
} }

View file

@ -7,93 +7,115 @@ import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
import techreborn.tiles.TileIndustrialSawmill; import techreborn.tiles.TileIndustrialSawmill;
public class IndustrialSawmillRecipe extends BaseRecipe { public class IndustrialSawmillRecipe extends BaseRecipe
{
public FluidStack fluidStack; public FluidStack fluidStack;
public boolean canUseOreDict = false; public boolean canUseOreDict = false;
public IndustrialSawmillRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1, ItemStack output2, ItemStack output3, int tickTime, int euPerTick) { public IndustrialSawmillRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1,
super(Reference.industrialSawmillRecipe, tickTime, euPerTick); ItemStack output2, ItemStack output3, int tickTime, int euPerTick)
if (input1 != null) {
inputs.add(input1); super(Reference.industrialSawmillRecipe, tickTime, euPerTick);
if (input2 != null) if (input1 != null)
inputs.add(input2); inputs.add(input1);
if (output1 != null) if (input2 != null)
addOutput(output1); inputs.add(input2);
if (output2 != null) if (output1 != null)
addOutput(output2); addOutput(output1);
if (output3 != null) if (output2 != null)
addOutput(output3); addOutput(output2);
this.fluidStack = fluidStack; if (output3 != null)
} addOutput(output3);
this.fluidStack = fluidStack;
}
public IndustrialSawmillRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1, ItemStack output2, ItemStack output3, int tickTime, int euPerTick, boolean canUseOreDict) { public IndustrialSawmillRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1,
super(Reference.industrialSawmillRecipe, tickTime, euPerTick); ItemStack output2, ItemStack output3, int tickTime, int euPerTick, boolean canUseOreDict)
if (input1 != null) {
inputs.add(input1); super(Reference.industrialSawmillRecipe, tickTime, euPerTick);
if (input2 != null) if (input1 != null)
inputs.add(input2); inputs.add(input1);
if (output1 != null) if (input2 != null)
addOutput(output1); inputs.add(input2);
if (output2 != null) if (output1 != null)
addOutput(output2); addOutput(output1);
if (output3 != null) if (output2 != null)
addOutput(output3); addOutput(output2);
this.fluidStack = fluidStack; if (output3 != null)
this.canUseOreDict = canUseOreDict; addOutput(output3);
} this.fluidStack = fluidStack;
this.canUseOreDict = canUseOreDict;
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Industrial Sawmill"; {
} return "Industrial Sawmill";
}
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean canCraft(TileEntity tile)
if (fluidStack == null) { {
return true; if (fluidStack == null)
} {
if (tile instanceof TileIndustrialSawmill) { return true;
TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile; }
if (sawmill.tank.getFluid() == null) { if (tile instanceof TileIndustrialSawmill)
return false; {
} TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile;
if (sawmill.tank.getFluid()== fluidStack) { if (sawmill.tank.getFluid() == null)
if (sawmill.tank.getFluidAmount() >= fluidStack.amount) { {
return true; return false;
} }
} if (sawmill.tank.getFluid() == fluidStack)
} {
return false; if (sawmill.tank.getFluidAmount() >= fluidStack.amount)
} {
return true;
}
}
}
return false;
}
@Override @Override
public boolean onCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
if (fluidStack == null) { {
return true; if (fluidStack == null)
} {
if (tile instanceof TileIndustrialSawmill) { return true;
TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile; }
if (sawmill.tank.getFluid() == null) { if (tile instanceof TileIndustrialSawmill)
return false; {
} TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile;
if (sawmill.tank.getFluid() == fluidStack) { if (sawmill.tank.getFluid() == null)
if (sawmill.tank.getFluidAmount() >= fluidStack.amount) { {
if (sawmill.tank.getFluidAmount() > 0) { return false;
sawmill.tank.setFluid(new FluidStack(fluidStack.getFluid(), sawmill.tank.getFluidAmount() - fluidStack.amount)); }
} else { if (sawmill.tank.getFluid() == fluidStack)
sawmill.tank.setFluid(null); {
} if (sawmill.tank.getFluidAmount() >= fluidStack.amount)
return true; {
} if (sawmill.tank.getFluidAmount() > 0)
} {
} sawmill.tank.setFluid(new FluidStack(fluidStack.getFluid(),
return false; sawmill.tank.getFluidAmount() - fluidStack.amount));
} } else
{
sawmill.tank.setFluid(null);
}
return true;
}
}
}
return false;
}
@Override @Override
public boolean useOreDic() { public boolean useOreDic()
return canUseOreDict; {
} return canUseOreDict;
}
} }

View file

@ -4,18 +4,21 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class PlateCuttingMachineRecipe extends BaseRecipe { public class PlateCuttingMachineRecipe extends BaseRecipe
{
public PlateCuttingMachineRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick) { public PlateCuttingMachineRecipe(ItemStack input1, ItemStack output1, int tickTime, int euPerTick)
super(Reference.plateCuttingMachineRecipe, tickTime, euPerTick); {
if (input1 != null) super(Reference.plateCuttingMachineRecipe, tickTime, euPerTick);
inputs.add(input1); if (input1 != null)
if (output1 != null) inputs.add(input1);
addOutput(output1); if (output1 != null)
} addOutput(output1);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Plate Cutting Machine"; {
} return "Plate Cutting Machine";
}
} }

View file

@ -6,28 +6,34 @@ import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
import techreborn.tiles.TileVacuumFreezer; import techreborn.tiles.TileVacuumFreezer;
public class VacuumFreezerRecipe extends BaseRecipe { public class VacuumFreezerRecipe extends BaseRecipe
{
public VacuumFreezerRecipe(ItemStack input, ItemStack output, int tickTime, int euPerTick) { public VacuumFreezerRecipe(ItemStack input, ItemStack output, int tickTime, int euPerTick)
super(Reference.vacuumFreezerRecipe, tickTime, euPerTick); {
if (input != null) super(Reference.vacuumFreezerRecipe, tickTime, euPerTick);
inputs.add(input); if (input != null)
if (output != null) inputs.add(input);
addOutput(output); if (output != null)
} addOutput(output);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Vacuum Freezer"; {
} return "Vacuum Freezer";
}
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean canCraft(TileEntity tile)
if(tile instanceof TileVacuumFreezer){ {
if(((TileVacuumFreezer) tile).multiBlockStatus == 1){ if (tile instanceof TileVacuumFreezer)
return true; {
} if (((TileVacuumFreezer) tile).multiBlockStatus == 1)
} {
return false; return true;
} }
}
return false;
}
} }

View file

@ -1,4 +1,4 @@
@API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI") package techreborn.api.recipe.machines; @API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI")
package techreborn.api.recipe.machines;
import net.minecraftforge.fml.common.API; import net.minecraftforge.fml.common.API;

View file

@ -1,4 +1,4 @@
@API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI") package techreborn.api.recipe; @API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI")
package techreborn.api.recipe;
import net.minecraftforge.fml.common.API; import net.minecraftforge.fml.common.API;

View file

@ -1,46 +1,53 @@
package techreborn.api.recipe.recipeConfig; package techreborn.api.recipe.recipeConfig;
public class ConfigItem
{
public class ConfigItem { String localName;
String localName; String itemName;
String itemName; int meta;
int meta; int stackSize;
int stackSize; public String getItemName()
{
return itemName;
}
public void setItemName(String itemName)
{
this.itemName = itemName;
}
public String getItemName() { public int getMeta()
return itemName; {
} return meta;
}
public void setItemName(String itemName) { public void setMeta(int meta)
this.itemName = itemName; {
} this.meta = meta;
}
public int getMeta() { public int getStackSize()
return meta; {
} return stackSize;
}
public void setMeta(int meta) { public void setStackSize(int stackSize)
this.meta = meta; {
} this.stackSize = stackSize;
}
public int getStackSize() { public String getLocalName()
return stackSize; {
} return localName;
}
public void setStackSize(int stackSize) { public void setLocalName(String localName)
this.stackSize = stackSize; {
} this.localName = localName;
}
public String getLocalName() {
return localName;
}
public void setLocalName(String localName) {
this.localName = localName;
}
} }

View file

@ -2,59 +2,72 @@ package techreborn.api.recipe.recipeConfig;
import java.util.ArrayList; import java.util.ArrayList;
public class RecipeConfig { public class RecipeConfig
{
ArrayList<ConfigItem> inputs; ArrayList<ConfigItem> inputs;
ArrayList<ConfigItem> outputs; ArrayList<ConfigItem> outputs;
Boolean enabled; Boolean enabled;
String machine; String machine;
public ArrayList<ConfigItem> getInputs() { public ArrayList<ConfigItem> getInputs()
return inputs; {
} return inputs;
}
public void setInputs(ArrayList<ConfigItem> inputs) { public void setInputs(ArrayList<ConfigItem> inputs)
this.inputs = inputs; {
} this.inputs = inputs;
}
public ArrayList<ConfigItem> getOutputs() { public ArrayList<ConfigItem> getOutputs()
return outputs; {
} return outputs;
}
public void setOutputs(ArrayList<ConfigItem> outputs) { public void setOutputs(ArrayList<ConfigItem> outputs)
this.outputs = outputs; {
} this.outputs = outputs;
}
public Boolean getEnabled() { public Boolean getEnabled()
return enabled; {
} return enabled;
}
public void setEnabled(Boolean enabled) { public void setEnabled(Boolean enabled)
this.enabled = enabled; {
} this.enabled = enabled;
}
public String getMachine() { public String getMachine()
return machine; {
} return machine;
}
public void setMachine(String machine) { public void setMachine(String machine)
this.machine = machine; {
} this.machine = machine;
}
public void addInputs(ConfigItem item) { public void addInputs(ConfigItem item)
if (inputs == null) { {
inputs = new ArrayList<ConfigItem>(); if (inputs == null)
} {
inputs.add(item); inputs = new ArrayList<ConfigItem>();
} }
inputs.add(item);
}
public void addOutputs(ConfigItem item) { public void addOutputs(ConfigItem item)
if (outputs == null) { {
outputs = new ArrayList<ConfigItem>(); if (outputs == null)
} {
outputs.add(item); outputs = new ArrayList<ConfigItem>();
} }
outputs.add(item);
}
} }

View file

@ -1,65 +1,75 @@
package techreborn.api.recipe.recipeConfig; package techreborn.api.recipe.recipeConfig;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import net.minecraft.item.ItemStack;
import techreborn.api.recipe.IBaseRecipeType;
import java.io.File; import java.io.File;
import java.io.FileWriter; import java.io.FileWriter;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
public class RecipeConfigManager { import net.minecraft.item.ItemStack;
import techreborn.api.recipe.IBaseRecipeType;
public static ArrayList<RecipeConfig> configs = new ArrayList<RecipeConfig>(); import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
static File configFile = null; public class RecipeConfigManager
{
public static void load(File configDir) { public static ArrayList<RecipeConfig> configs = new ArrayList<RecipeConfig>();
if (configFile == null) {
configFile = new File(configDir, "techRebornRecipes.json");
}
}
public static void save() { static File configFile = null;
if (configFile.exists()) {
configFile.delete();
}
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(configs);
try {
FileWriter writer = new FileWriter(configFile);
writer.write(json);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void load(File configDir)
{
if (configFile == null)
{
configFile = new File(configDir, "techRebornRecipes.json");
}
}
public static boolean canLoadRecipe(IBaseRecipeType recipeType) { public static void save()
RecipeConfig config = new RecipeConfig(); {
for (ItemStack stack : recipeType.getInputs()) { if (configFile.exists())
config.addInputs(itemToConfig(stack)); {
} configFile.delete();
for (ItemStack stack : recipeType.getOutputs()) { }
config.addOutputs(itemToConfig(stack)); Gson gson = new GsonBuilder().setPrettyPrinting().create();
} String json = gson.toJson(configs);
config.enabled = true; try
config.setMachine(recipeType.getRecipeName()); {
configs.add(config); FileWriter writer = new FileWriter(configFile);
return config.enabled; writer.write(json);
} writer.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
public static boolean canLoadRecipe(IBaseRecipeType recipeType)
{
RecipeConfig config = new RecipeConfig();
for (ItemStack stack : recipeType.getInputs())
{
config.addInputs(itemToConfig(stack));
}
for (ItemStack stack : recipeType.getOutputs())
{
config.addOutputs(itemToConfig(stack));
}
config.enabled = true;
config.setMachine(recipeType.getRecipeName());
configs.add(config);
return config.enabled;
}
public static ConfigItem itemToConfig(ItemStack stack) { public static ConfigItem itemToConfig(ItemStack stack)
ConfigItem newItem = new ConfigItem(); {
newItem.setItemName(stack.getItem().getUnlocalizedName()); ConfigItem newItem = new ConfigItem();
newItem.setMeta(stack.getItemDamage()); newItem.setItemName(stack.getItem().getUnlocalizedName());
newItem.setStackSize(stack.stackSize); newItem.setMeta(stack.getItemDamage());
newItem.setLocalName(stack.getDisplayName()); newItem.setStackSize(stack.stackSize);
return newItem; newItem.setLocalName(stack.getDisplayName());
} return newItem;
}
} }

View file

@ -3,7 +3,8 @@ package techreborn.api.upgrade;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import techreborn.api.recipe.RecipeCrafter; import techreborn.api.recipe.RecipeCrafter;
public interface IMachineUpgrade { public interface IMachineUpgrade
{
public void processUpgrade(RecipeCrafter crafter, ItemStack stack); public void processUpgrade(RecipeCrafter crafter, ItemStack stack);
} }

View file

@ -1,39 +1,46 @@
package techreborn.api.upgrade; package techreborn.api.upgrade;
import java.util.ArrayList;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import reborncore.common.util.Inventory; import reborncore.common.util.Inventory;
import techreborn.api.recipe.RecipeCrafter; import techreborn.api.recipe.RecipeCrafter;
import java.util.ArrayList; public class UpgradeHandler
{
public class UpgradeHandler { RecipeCrafter crafter;
RecipeCrafter crafter; Inventory inventory;
Inventory inventory; ArrayList<Integer> slots = new ArrayList<Integer>();
ArrayList<Integer> slots = new ArrayList<Integer>(); public UpgradeHandler(RecipeCrafter crafter, Inventory inventory, int... slots)
{
this.crafter = crafter;
this.inventory = inventory;
for (int slot : slots)
{
this.slots.add(slot);
}
}
public UpgradeHandler(RecipeCrafter crafter, Inventory inventory, int... slots) { public void tick()
this.crafter = crafter; {
this.inventory = inventory; if (crafter.parentTile.getWorld().isRemote)
for (int slot : slots) { return;
this.slots.add(slot); crafter.resetPowerMulti();
} crafter.resetSpeedMulti();
} for (int slot : this.slots)
{
public void tick() { ItemStack stack = inventory.getStackInSlot(slot);
if (crafter.parentTile.getWorld().isRemote) if (stack != null && stack.getItem() instanceof IMachineUpgrade)
return; {
crafter.resetPowerMulti(); ((IMachineUpgrade) stack.getItem()).processUpgrade(crafter, stack);
crafter.resetSpeedMulti(); }
for (int slot : this.slots) { }
ItemStack stack = inventory.getStackInSlot(slot); if (crafter.currentRecipe != null)
if (stack != null && stack.getItem() instanceof IMachineUpgrade) { crafter.currentNeededTicks = (int) (crafter.currentRecipe.tickTime()
((IMachineUpgrade) stack.getItem()).processUpgrade(crafter, stack); * (1.0 - crafter.getSpeedMultiplier()));
} }
}
if (crafter.currentRecipe != null)
crafter.currentNeededTicks = (int) (crafter.currentRecipe.tickTime() * (1.0 - crafter.getSpeedMultiplier()));
}
} }

View file

@ -1,4 +1,4 @@
@API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI") package techreborn.api.upgrade; @API(apiVersion = "@MODVERSION@", owner = "techreborn", provides = "techrebornAPI")
package techreborn.api.upgrade;
import net.minecraftforge.fml.common.API; import net.minecraftforge.fml.common.API;

View file

@ -9,44 +9,49 @@ import techreborn.Core;
import techreborn.client.GuiHandler; import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockComputerCube extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockComputerCube extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/greg_machines/";
public BlockComputerCube(Material material) { public BlockComputerCube(Material material)
super(); {
setUnlocalizedName("techreborn.computercube"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.computercube");
} setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { float hitY, float hitZ)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, x, if (!player.isSneaking())
y, z); player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getFront(boolean isActive)
{
return prefix + "computer_cube";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "computer_cube"; {
} return prefix + "computer_cube";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "computer_cube" ; {
} return prefix + "computer_cube";
}
@Override @Override
public String getTop(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "computer_cube"; {
} return prefix + "computer_cube";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "computer_cube";
}
} }

View file

@ -10,48 +10,55 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileDigitalChest; import techreborn.tiles.TileDigitalChest;
public class BlockDigitalChest extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockDigitalChest extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockDigitalChest() { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.digitalChest");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockDigitalChest()
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileDigitalChest(); super();
} setUnlocalizedName("techreborn.digitalChest");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { {
if (!player.isSneaking()) return new TileDigitalChest();
player.openGui(Core.INSTANCE, GuiHandler.digitalChestID, world, x, }
y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.digitalChestID, world, x, y, z);
return true;
}
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
return prefix + "quantum_chest"; {
} return prefix + "quantum_chest";
}
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
return prefix + "qchest_side" ; {
} return prefix + "qchest_side";
}
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
return prefix + "quantum_top"; {
} return prefix + "quantum_top";
}
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "machine_bottom"; {
} return prefix + "machine_bottom";
}
} }

View file

@ -5,36 +5,40 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockElectricCraftingTable extends BlockMachineBase implements IAdvancedRotationTexture
{
public class BlockElectricCraftingTable extends BlockMachineBase implements IAdvancedRotationTexture { private final String prefix = "techreborn:blocks/machine/greg_machines/";
public BlockElectricCraftingTable(Material material)
{
super();
setUnlocalizedName("techreborn.electriccraftingtable");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockElectricCraftingTable(Material material) { @Override
super(); public String getFront(boolean isActive)
setUnlocalizedName("techreborn.electriccraftingtable"); {
setCreativeTab(TechRebornCreativeTab.instance); return prefix + "electric_crafting_table_front";
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getSide(boolean isActive)
{
return prefix + "machine_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getTop(boolean isActive)
return prefix + "electric_crafting_table_front"; {
} return prefix + "electric_crafting_table_top";
}
@Override @Override
public String getSide(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "machine_side" ; {
} return prefix + "machine_bottom";
}
@Override
public String getTop(boolean isActive) {
return prefix + "electric_crafting_table_top";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "machine_bottom";
}
} }

View file

@ -6,20 +6,21 @@ import net.minecraft.util.EnumFacing;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockFusionCoil extends BlockMachineBase { public class BlockFusionCoil extends BlockMachineBase
{
private final String prefix = "techreborn:blocks/machine/greg_machines/";
public BlockFusionCoil(Material material) { public BlockFusionCoil(Material material)
super(); {
setUnlocalizedName("techreborn.fusioncoil"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.fusioncoil");
} setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
private final String prefix = "techreborn:blocks/machine/greg_machines/"; public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
{
@Override return prefix + "fusion_coil";
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { }
return prefix + "fusion_coil";
}
} }

View file

@ -14,59 +14,71 @@ import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.fusionReactor.TileEntityFusionController; import techreborn.tiles.fusionReactor.TileEntityFusionController;
import techreborn.utils.damageSources.FusionDamageSource; import techreborn.utils.damageSources.FusionDamageSource;
public class BlockFusionControlComputer extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockFusionControlComputer extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockFusionControlComputer(Material material) { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.fusioncontrolcomputer");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockFusionControlComputer(Material material)
public boolean onBlockActivated(World world, int x, int y, int z, {
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { super();
TileEntityFusionController tileEntityFusionController = (TileEntityFusionController) world.getTileEntity(new BlockPos(x, y, z)); setUnlocalizedName("techreborn.fusioncontrolcomputer");
tileEntityFusionController.checkCoils(); setCreativeTab(TechRebornCreativeTab.instance);
if (!player.isSneaking()) }
player.openGui(Core.INSTANCE, GuiHandler.fusionID, world, x, y,
z);
return true;
}
@Override @Override
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
super.onEntityCollidedWithBlock(worldIn, pos, entityIn); float hitY, float hitZ)
if(worldIn.getTileEntity(pos) instanceof TileEntityFusionController){ {
if(((TileEntityFusionController) worldIn.getTileEntity(pos)).crafingTickTime != 0 && ((TileEntityFusionController) worldIn.getTileEntity(pos)).checkCoils()){ TileEntityFusionController tileEntityFusionController = (TileEntityFusionController) world
entityIn.attackEntityFrom(new FusionDamageSource(), 200F); .getTileEntity(new BlockPos(x, y, z));
} tileEntityFusionController.checkCoils();
} if (!player.isSneaking())
} player.openGui(Core.INSTANCE, GuiHandler.fusionID, world, x, y, z);
return true;
}
@Override @Override
public TileEntity createNewTileEntity(World world, int meta) { public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn)
return new TileEntityFusionController(); {
} super.onEntityCollidedWithBlock(worldIn, pos, entityIn);
if (worldIn.getTileEntity(pos) instanceof TileEntityFusionController)
{
if (((TileEntityFusionController) worldIn.getTileEntity(pos)).crafingTickTime != 0
&& ((TileEntityFusionController) worldIn.getTileEntity(pos)).checkCoils())
{
entityIn.attackEntityFrom(new FusionDamageSource(), 200F);
}
}
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public TileEntity createNewTileEntity(World world, int meta)
{
return new TileEntityFusionController();
}
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
return prefix + "fusion_control_computer_front"; {
} return prefix + "fusion_control_computer_front";
}
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
return prefix + "machine_side" ; {
} return prefix + "machine_side";
}
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
return prefix + "machine_side"; {
} return prefix + "machine_side";
}
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "machine_side"; {
} return prefix + "machine_side";
}
} }

View file

@ -6,20 +6,22 @@ import net.minecraft.util.EnumFacing;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockHighlyAdvancedMachine extends BlockMachineBase { public class BlockHighlyAdvancedMachine extends BlockMachineBase
{
public BlockHighlyAdvancedMachine(Material material) { private final String prefix = "techreborn:blocks/machine/machine_blocks/";
super();
setUnlocalizedName("techreborn.highlyAdvancedMachine");
setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/machine_blocks/"; public BlockHighlyAdvancedMachine(Material material)
{
super();
setUnlocalizedName("techreborn.highlyAdvancedMachine");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
@Override public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { {
return prefix + "highlyadvancedmachine"; return prefix + "highlyadvancedmachine";
} }
} }

View file

@ -5,14 +5,16 @@ import net.minecraft.block.BlockPlanks;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import techreborn.client.TechRebornCreativeTabMisc; import techreborn.client.TechRebornCreativeTabMisc;
public class BlockIronFence extends BlockFence { public class BlockIronFence extends BlockFence
{
public BlockIronFence() { public BlockIronFence()
{
super(Material.iron, BlockPlanks.EnumType.OAK.getMapColor()); super(Material.iron, BlockPlanks.EnumType.OAK.getMapColor());
setUnlocalizedName("techreborn.ironfence"); setUnlocalizedName("techreborn.ironfence");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
setHardness(2.0F); setHardness(2.0F);
setHarvestLevel("pickaxe", 2); setHarvestLevel("pickaxe", 2);
} }
} }

View file

@ -1,5 +1,8 @@
package techreborn.blocks; package techreborn.blocks;
import java.util.List;
import java.util.Random;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -20,93 +23,104 @@ import reborncore.common.multiblock.BlockMultiblockBase;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileMachineCasing; import techreborn.tiles.TileMachineCasing;
import java.util.List; public class BlockMachineCasing extends BlockMultiblockBase implements ITexturedBlock
import java.util.Random; {
public class BlockMachineCasing extends BlockMultiblockBase implements ITexturedBlock { public static final String[] types = new String[] { "standard", "reinforced", "advanced" };
public PropertyInteger METADATA;
public static final String[] types = new String[] public BlockMachineCasing(Material material)
{"standard", "reinforced", "advanced"}; {
super(material);
setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.machineCasing");
setHardness(2F);
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
}
public BlockMachineCasing(Material material) { @Override
super(material); public IBlockState getStateFromMeta(int meta)
setCreativeTab(TechRebornCreativeTab.instance); {
setUnlocalizedName("techreborn.machineCasing"); return this.getDefaultState().withProperty(METADATA, meta);
setHardness(2F); }
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
}
public PropertyInteger METADATA; @Override
public int getMetaFromState(IBlockState state)
{
return (Integer) state.getValue(METADATA);
}
@Override protected BlockStateContainer createBlockState()
public IBlockState getStateFromMeta(int meta) { {
return this.getDefaultState().withProperty(METADATA, meta);
}
@Override METADATA = PropertyInteger.create("type", 0, types.length);
public int getMetaFromState(IBlockState state) { return new BlockStateContainer(this, METADATA);
return (Integer) state.getValue(METADATA); }
}
protected BlockStateContainer createBlockState() { public int getHeatFromState(IBlockState state)
{
switch (getMetaFromState(state))
{
case 0:
return 1020 / 25;
case 1:
return 1700 / 25;
case 2:
return 2380 / 25;
}
return 0;
}
METADATA = PropertyInteger.create("type", 0, types.length); @Override
return new BlockStateContainer(this, METADATA); public Item getItemDropped(IBlockState state, Random rand, int fortune)
} {
return Item.getItemFromBlock(this);
}
public int getHeatFromState(IBlockState state) { @Override
switch (getMetaFromState(state)) { @SideOnly(Side.CLIENT)
case 0: public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
return 1020 / 25; {
case 1: for (int meta = 0; meta < types.length; meta++)
return 1700 / 25; {
case 2: list.add(new ItemStack(item, 1, meta));
return 2380 / 25; }
} }
return 0;
}
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public int damageDropped(IBlockState state)
return Item.getItemFromBlock(this); {
} return super.damageDropped(state);
}
@Override @Override
@SideOnly(Side.CLIENT) public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { {
for (int meta = 0; meta < types.length; meta++) { return new TileMachineCasing();
list.add(new ItemStack(item, 1, meta)); }
}
}
@Override @Override
public int damageDropped(IBlockState state) { public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side)
return super.damageDropped(state); {
} Block b = worldIn.getBlockState(pos).getBlock();
return b == (Block) this ? false : super.shouldSideBeRendered(blockState, worldIn, pos, side);
}
@Override public boolean shouldConnectToBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta)
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileMachineCasing(); return block == (Block) this;
} }
@Override @Override
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side) { public String getTextureNameFromState(IBlockState blockState, EnumFacing facing)
Block b = worldIn.getBlockState(pos).getBlock(); {
return b == (Block) this ? false : super.shouldSideBeRendered(blockState, worldIn, pos, side); return "techreborn:blocks/machine/machine_blocks/casing" + types[getMetaFromState(blockState)] + "_full";
} }
public boolean shouldConnectToBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta) { @Override
return block == (Block) this; public int amountOfStates()
} {
return types.length;
@Override }
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) {
return "techreborn:blocks/machine/machine_blocks/casing" + types[getMetaFromState(blockState)] + "_full";
}
@Override
public int amountOfStates() {
return types.length;
}
} }

View file

@ -1,5 +1,8 @@
package techreborn.blocks; package techreborn.blocks;
import java.security.InvalidParameterException;
import java.util.List;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
@ -15,70 +18,77 @@ import reborncore.common.BaseBlock;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
import java.security.InvalidParameterException; public class BlockMachineFrame extends BaseBlock implements ITexturedBlock
import java.util.List; {
public static final String[] types = new String[] { "aluminum", "iron", "bronze", "brass", "steel", "titanium",
"machine", "advancedMachine" };
public PropertyInteger METADATA;
public class BlockMachineFrame extends BaseBlock implements ITexturedBlock { public BlockMachineFrame(Material material)
public PropertyInteger METADATA; {
super(material);
setUnlocalizedName("techreborn.machineFrame");
setCreativeTab(TechRebornCreativeTab.instance);
setHardness(1f);
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
}
public static ItemStack getFrameByName(String name, int count) { public static ItemStack getFrameByName(String name, int count)
for (int i = 0; i < types.length; i++) { {
if (types[i].equalsIgnoreCase(name)) { for (int i = 0; i < types.length; i++)
return new ItemStack(ModBlocks.machineframe, count, i); {
} if (types[i].equalsIgnoreCase(name))
} {
throw new InvalidParameterException("The part " + name + " could not be found."); return new ItemStack(ModBlocks.machineframe, count, i);
} }
}
throw new InvalidParameterException("The part " + name + " could not be found.");
}
public static final String[] types = new String[] @Override
{"aluminum", "iron", "bronze", "brass", "steel", "titanium", "machine", "advancedMachine"}; @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
@Override
public int damageDropped(IBlockState state)
{
return super.damageDropped(state);
}
public BlockMachineFrame(Material material) { @Override
super(material); public String getTextureNameFromState(IBlockState blockState, EnumFacing facing)
setUnlocalizedName("techreborn.machineFrame"); {
setCreativeTab(TechRebornCreativeTab.instance); return "techreborn:blocks/machine/machine_blocks/" + types[getMetaFromState(blockState)] + "_machine_block";
setHardness(1f); }
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
}
@Override @Override
@SideOnly(Side.CLIENT) public int amountOfStates()
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { {
for (int meta = 0; meta < types.length; meta++) { return types.length;
list.add(new ItemStack(item, 1, meta)); }
}
}
@Override
public int getMetaFromState(IBlockState state)
{
return state.getValue(METADATA);
}
@Override protected BlockStateContainer createBlockState()
public int damageDropped(IBlockState state) { {
return super.damageDropped(state);
}
@Override METADATA = PropertyInteger.create("type", 0, types.length - 1);
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { return new BlockStateContainer(this, METADATA);
return "techreborn:blocks/machine/machine_blocks/" + types[getMetaFromState(blockState)] + "_machine_block"; }
}
@Override @Override
public int amountOfStates() { public IBlockState getStateFromMeta(int meta)
return types.length; {
} return this.getDefaultState().withProperty(METADATA, meta);
}
@Override
public int getMetaFromState(IBlockState state) {
return state.getValue(METADATA);
}
protected BlockStateContainer createBlockState() {
METADATA = PropertyInteger.create("type", 0, types.length -1);
return new BlockStateContainer(this, METADATA);
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(METADATA, meta);
}
} }

View file

@ -9,8 +9,8 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack;
import net.minecraft.entity.projectile.EntityArrow; import net.minecraft.entity.projectile.EntityArrow;
import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand; import net.minecraft.util.EnumHand;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
@ -24,92 +24,116 @@ import techreborn.entitys.EntityNukePrimed;
/** /**
* Created by Mark on 13/03/2016. * Created by Mark on 13/03/2016.
*/ */
public class BlockNuke extends BaseBlock implements ITexturedBlock { public class BlockNuke extends BaseBlock implements ITexturedBlock
public static final PropertyBool OVERLAY = PropertyBool.create("overlay"); {
public static final PropertyBool OVERLAY = PropertyBool.create("overlay");
public BlockNuke() { public BlockNuke()
super(Material.tnt); {
setUnlocalizedName("techreborn.nuke"); super(Material.tnt);
setCreativeTab(TechRebornCreativeTabMisc.instance); setUnlocalizedName("techreborn.nuke");
RebornCore.jsonDestroyer.registerObject(this); setCreativeTab(TechRebornCreativeTabMisc.instance);
this.setDefaultState(this.blockState.getBaseState().withProperty(OVERLAY, false)); RebornCore.jsonDestroyer.registerObject(this);
} this.setDefaultState(this.blockState.getBaseState().withProperty(OVERLAY, false));
}
public void explode(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase igniter) { public void explode(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase igniter)
if (!worldIn.isRemote) { {
EntityNukePrimed entitynukeprimed = new EntityNukePrimed(worldIn, (double) ((float) pos.getX() + 0.5F), (double) pos.getY(), (double) ((float) pos.getZ() + 0.5F), igniter); if (!worldIn.isRemote)
worldIn.spawnEntityInWorld(entitynukeprimed); {
// worldIn.playSoundAtEntity(entitynukeprimed, "game.tnt.primed", 1.0F, 1.0F); EntityNukePrimed entitynukeprimed = new EntityNukePrimed(worldIn, (double) ((float) pos.getX() + 0.5F),
} (double) pos.getY(), (double) ((float) pos.getZ() + 0.5F), igniter);
} worldIn.spawnEntityInWorld(entitynukeprimed);
// worldIn.playSoundAtEntity(entitynukeprimed, "game.tnt.primed",
// 1.0F, 1.0F);
}
}
@Override @Override
public void onBlockDestroyedByExplosion(World worldIn, BlockPos pos, Explosion explosionIn) { public void onBlockDestroyedByExplosion(World worldIn, BlockPos pos, Explosion explosionIn)
if (!worldIn.isRemote) { {
EntityNukePrimed entitynukeprimed = new EntityNukePrimed(worldIn, (double) ((float) pos.getX() + 0.5F), (double) pos.getY(), (double) ((float) pos.getZ() + 0.5F), explosionIn.getExplosivePlacedBy()); if (!worldIn.isRemote)
entitynukeprimed.fuse = worldIn.rand.nextInt(entitynukeprimed.fuse / 4) + entitynukeprimed.fuse / 8; {
worldIn.spawnEntityInWorld(entitynukeprimed); EntityNukePrimed entitynukeprimed = new EntityNukePrimed(worldIn, (double) ((float) pos.getX() + 0.5F),
} (double) pos.getY(), (double) ((float) pos.getZ() + 0.5F), explosionIn.getExplosivePlacedBy());
} entitynukeprimed.fuse = worldIn.rand.nextInt(entitynukeprimed.fuse / 4) + entitynukeprimed.fuse / 8;
worldIn.spawnEntityInWorld(entitynukeprimed);
}
}
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) { public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn)
if (!worldIn.isRemote && entityIn instanceof EntityArrow) { {
EntityArrow entityarrow = (EntityArrow) entityIn; if (!worldIn.isRemote && entityIn instanceof EntityArrow)
{
EntityArrow entityarrow = (EntityArrow) entityIn;
if (entityarrow.isBurning()) { if (entityarrow.isBurning())
this.explode(worldIn, pos, state, entityarrow.shootingEntity instanceof EntityLivingBase ? (EntityLivingBase) entityarrow.shootingEntity : null); {
worldIn.setBlockToAir(pos); this.explode(worldIn, pos, state, entityarrow.shootingEntity instanceof EntityLivingBase
} ? (EntityLivingBase) entityarrow.shootingEntity : null);
} worldIn.setBlockToAir(pos);
} }
}
}
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) { public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state)
super.onBlockAdded(worldIn, pos, state); {
if (worldIn.isBlockPowered(pos)) { super.onBlockAdded(worldIn, pos, state);
this.explode(worldIn, pos, state, null); if (worldIn.isBlockPowered(pos))
worldIn.setBlockToAir(pos); {
} this.explode(worldIn, pos, state, null);
} worldIn.setBlockToAir(pos);
}
}
/** /**
* Called when a neighboring block changes. * Called when a neighboring block changes.
*/ */
public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) { public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock)
if (worldIn.isBlockPowered(pos)) { {
this.explode(worldIn, pos, state, null); if (worldIn.isBlockPowered(pos))
worldIn.setBlockToAir(pos); {
} this.explode(worldIn, pos, state, null);
} worldIn.setBlockToAir(pos);
}
}
@Override @Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn,
return false; EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
} {
return false;
}
@Override @Override
public String getTextureNameFromState(IBlockState iBlockState, EnumFacing enumFacing) { public String getTextureNameFromState(IBlockState iBlockState, EnumFacing enumFacing)
if (iBlockState.getValue(OVERLAY)) { {
return "techreborn:blocks/nuke_overlay"; if (iBlockState.getValue(OVERLAY))
} {
return "techreborn:blocks/nuke"; return "techreborn:blocks/nuke_overlay";
} }
return "techreborn:blocks/nuke";
}
@Override @Override
public int amountOfStates() { public int amountOfStates()
return 2; {
} return 2;
}
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
return state.getValue(OVERLAY) ? 1 : 0; {
} return state.getValue(OVERLAY) ? 1 : 0;
}
public IBlockState getStateFromMeta(int meta) public IBlockState getStateFromMeta(int meta)
{ {
return this.getDefaultState().withProperty(OVERLAY, Boolean.valueOf((meta & 1) > 0)); return this.getDefaultState().withProperty(OVERLAY, Boolean.valueOf((meta & 1) > 0));
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
return new BlockStateContainer(this, OVERLAY); {
} return new BlockStateContainer(this, OVERLAY);
}
} }

View file

@ -1,5 +1,10 @@
package techreborn.blocks; package techreborn.blocks;
import java.security.InvalidParameterException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
@ -27,173 +32,202 @@ import techreborn.items.ItemDusts;
import techreborn.items.ItemGems; import techreborn.items.ItemGems;
import techreborn.world.config.IOreNameProvider; import techreborn.world.config.IOreNameProvider;
import java.security.InvalidParameterException; public class BlockOre extends BaseBlock implements ITexturedBlock, IOreNameProvider
import java.util.ArrayList; {
import java.util.List;
import java.util.Random;
public class BlockOre extends BaseBlock implements ITexturedBlock, IOreNameProvider { public static final String[] types = new String[] { "Galena", "Iridium", "Ruby", "Sapphire", "Bauxite", "Pyrite",
"Cinnabar", "Sphalerite", "Tungston", "Sheldonite", "Peridot", "Sodalite", "Tetrahedrite", "Cassiterite",
"Lead", "Silver" };
public PropertyInteger METADATA;
public static ItemStack getOreByName(String name, int count) { public BlockOre(Material material)
for (int i = 0; i < types.length; i++) { {
if (types[i].equalsIgnoreCase(name)) { super(material);
return new ItemStack(ModBlocks.ore, count, i); setUnlocalizedName("techreborn.ore");
} setCreativeTab(TechRebornCreativeTabMisc.instance);
} setHardness(2.0f);
throw new InvalidParameterException("The ore block " + name + " could not be found."); setHarvestLevel("pickaxe", 2);
} this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
}
public static ItemStack getOreByName(String name) { public static ItemStack getOreByName(String name, int count)
return getOreByName(name, 1); {
} for (int i = 0; i < types.length; i++)
{
if (types[i].equalsIgnoreCase(name))
{
return new ItemStack(ModBlocks.ore, count, i);
}
}
throw new InvalidParameterException("The ore block " + name + " could not be found.");
}
public IBlockState getBlockStateFromName(String name){ public static ItemStack getOreByName(String name)
int index = -1; {
for (int i = 0; i < types.length; i++) { return getOreByName(name, 1);
if (types[i].equalsIgnoreCase(name)) { }
index = i;
break;
}
}
if(index == -1){
return ModBlocks.ore2.getBlockStateFromName(name);
}
return getStateFromMeta(index);
}
public static final String[] types = new String[] public IBlockState getBlockStateFromName(String name)
{"Galena", "Iridium", "Ruby", "Sapphire", "Bauxite", "Pyrite", "Cinnabar", {
"Sphalerite", "Tungston", "Sheldonite", "Peridot", "Sodalite", int index = -1;
"Tetrahedrite", "Cassiterite", "Lead", "Silver"}; for (int i = 0; i < types.length; i++)
{
if (types[i].equalsIgnoreCase(name))
{
index = i;
break;
}
}
if (index == -1)
{
return ModBlocks.ore2.getBlockStateFromName(name);
}
return getStateFromMeta(index);
}
public PropertyInteger METADATA; @Deprecated
public ArrayList<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
{
int metadata = getMetaFromState(state);
Random random = new Random();
// Ruby
if (metadata == 2)
{
OreDrop ruby = new OreDrop(ItemGems.getGemByName("ruby"),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDrop redGarnet = new OreDrop(ItemGems.getGemByName("redGarnet"), 0.02);
OreDropSet set = new OreDropSet(ruby, redGarnet);
return set.drop(fortune, random);
}
public BlockOre(Material material) { // Sapphire
super(material); if (metadata == 3)
setUnlocalizedName("techreborn.ore"); {
setCreativeTab(TechRebornCreativeTabMisc.instance); OreDrop sapphire = new OreDrop(ItemGems.getGemByName("sapphire"),
setHardness(2.0f); ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
setHarvestLevel("pickaxe", 2); OreDrop peridot = new OreDrop(ItemGems.getGemByName("peridot"), 0.03);
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0)); OreDropSet set = new OreDropSet(sapphire, peridot);
} return set.drop(fortune, random);
}
// Pyrite
if (metadata == 5)
{
OreDrop pyriteDust = new OreDrop(ItemDusts.getDustByName("pyrite"),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDropSet set = new OreDropSet(pyriteDust);
return set.drop(fortune, random);
}
// Sodolite
if (metadata == 11)
{
OreDrop sodalite = new OreDrop(ItemDusts.getDustByName("sodalite", 6),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDrop aluminum = new OreDrop(ItemDusts.getDustByName("aluminum"), 0.50);
OreDropSet set = new OreDropSet(sodalite, aluminum);
return set.drop(fortune, random);
}
@Deprecated // Cinnabar
public ArrayList<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { if (metadata == 6)
int metadata = getMetaFromState(state); {
Random random = new Random(); OreDrop cinnabar = new OreDrop(ItemDusts.getDustByName("cinnabar"),
//Ruby ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
if (metadata == 2) { OreDrop redstone = new OreDrop(new ItemStack(Items.redstone), 0.25);
OreDrop ruby = new OreDrop(ItemGems.getGemByName("ruby"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); OreDropSet set = new OreDropSet(cinnabar, redstone);
OreDrop redGarnet = new OreDrop(ItemGems.getGemByName("redGarnet"), 0.02); return set.drop(fortune, random);
OreDropSet set = new OreDropSet(ruby, redGarnet); }
return set.drop(fortune, random);
}
//Sapphire // Sphalerite 1, 1/8 yellow garnet
if (metadata == 3) { if (metadata == 7)
OreDrop sapphire = new OreDrop(ItemGems.getGemByName("sapphire"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop peridot = new OreDrop(ItemGems.getGemByName("peridot"), 0.03); OreDrop sphalerite = new OreDrop(ItemDusts.getDustByName("sphalerite"),
OreDropSet set = new OreDropSet(sapphire, peridot); ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
return set.drop(fortune, random); OreDrop yellowGarnet = new OreDrop(ItemGems.getGemByName("yellowGarnet"), 0.125);
} OreDropSet set = new OreDropSet(sphalerite, yellowGarnet);
return set.drop(fortune, random);
}
//Pyrite ArrayList<ItemStack> block = new ArrayList<ItemStack>();
if (metadata == 5) { block.add(new ItemStack(Item.getItemFromBlock(this), 1, metadata));
OreDrop pyriteDust = new OreDrop(ItemDusts.getDustByName("pyrite"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); return block;
OreDropSet set = new OreDropSet(pyriteDust); }
return set.drop(fortune, random);
}
//Sodolite @Override
if (metadata == 11) { protected boolean canSilkHarvest()
OreDrop sodalite = new OreDrop(ItemDusts.getDustByName("sodalite", 6), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop aluminum = new OreDrop(ItemDusts.getDustByName("aluminum"), 0.50); return true;
OreDropSet set = new OreDropSet(sodalite, aluminum); }
return set.drop(fortune, random);
}
//Cinnabar @Override
if (metadata == 6) { @SideOnly(Side.CLIENT)
OreDrop cinnabar = new OreDrop(ItemDusts.getDustByName("cinnabar"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
OreDrop redstone = new OreDrop(new ItemStack(Items.redstone), 0.25); {
OreDropSet set = new OreDropSet(cinnabar, redstone); for (int meta = 0; meta < types.length; meta++)
return set.drop(fortune, random); {
} list.add(new ItemStack(item, 1, meta));
}
}
//Sphalerite 1, 1/8 yellow garnet @Override
if (metadata == 7) { public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos,
OreDrop sphalerite = new OreDrop(ItemDusts.getDustByName("sphalerite"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); EntityPlayer player)
OreDrop yellowGarnet = new OreDrop(ItemGems.getGemByName("yellowGarnet"), 0.125); {
OreDropSet set = new OreDropSet(sphalerite, yellowGarnet); return super.getPickBlock(state, target, world, pos, player);
return set.drop(fortune, random); }
}
ArrayList<ItemStack> block = new ArrayList<ItemStack>(); @Override
block.add(new ItemStack(Item.getItemFromBlock(this), 1, metadata)); public int damageDropped(IBlockState state)
return block; {
} int meta = getMetaFromState(state);
if (meta == 2)
{
return 0;
} else if (meta == 3)
{
return 1;
} else if (meta == 5)
{
return 60;
}
return meta;
}
@Override @Override
protected boolean canSilkHarvest() { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
return true; {
} return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)];
}
@Override @Override
@SideOnly(Side.CLIENT) public int amountOfStates()
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { {
for (int meta = 0; meta < types.length; meta++) { return types.length;
list.add(new ItemStack(item, 1, meta)); }
}
}
@Override @Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { public IBlockState getStateFromMeta(int meta)
return super.getPickBlock(state, target, world, pos, player); {
} return this.getDefaultState().withProperty(METADATA, meta);
}
@Override @Override
public int damageDropped(IBlockState state) { public int getMetaFromState(IBlockState state)
int meta = getMetaFromState(state); {
if (meta == 2) { return state.getValue(METADATA);
return 0; }
} else if (meta == 3) {
return 1;
} else if (meta == 5) {
return 60;
}
return meta;
}
@Override protected BlockStateContainer createBlockState()
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { {
return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)];
}
@Override METADATA = PropertyInteger.create("type", 0, types.length - 1);
public int amountOfStates() { return new BlockStateContainer(this, METADATA);
return types.length; }
}
@Override @Override
public IBlockState getStateFromMeta(int meta) { public String getUserLoclisedName(IBlockState state)
return this.getDefaultState().withProperty(METADATA, meta); {
} return types[state.getValue(METADATA)];
}
@Override
public int getMetaFromState(IBlockState state) {
return state.getValue(METADATA);
}
protected BlockStateContainer createBlockState() {
METADATA = PropertyInteger.create("type", 0, types.length -1);
return new BlockStateContainer(this, METADATA);
}
@Override
public String getUserLoclisedName(IBlockState state) {
return types[state.getValue(METADATA)];
}
} }

View file

@ -1,5 +1,8 @@
package techreborn.blocks; package techreborn.blocks;
import java.security.InvalidParameterException;
import java.util.List;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
@ -20,104 +23,121 @@ import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
import techreborn.world.config.IOreNameProvider; import techreborn.world.config.IOreNameProvider;
import java.security.InvalidParameterException; public class BlockOre2 extends BaseBlock implements ITexturedBlock, IOreNameProvider
import java.util.List; {
public class BlockOre2 extends BaseBlock implements ITexturedBlock, IOreNameProvider { public static final String[] types = new String[] { "Copper", "Tin" };
public PropertyInteger METADATA;
public static ItemStack getOreByName(String name, int count) { public BlockOre2(Material material)
for (int i = 0; i < types.length; i++) { {
if (types[i].equalsIgnoreCase(name)) { super(material);
return new ItemStack(ModBlocks.ore2, count, i); setUnlocalizedName("techreborn.ore2");
} setCreativeTab(TechRebornCreativeTabMisc.instance);
} setHardness(2.0f);
throw new InvalidParameterException("The ore block " + name + " could not be found."); setHarvestLevel("pickaxe", 1);
} this.setDefaultState(this.blockState.getBaseState().withProperty(METADATA, 0));
}
public static ItemStack getOreByName(String name) { public static ItemStack getOreByName(String name, int count)
return getOreByName(name, 1); {
} for (int i = 0; i < types.length; i++)
{
if (types[i].equalsIgnoreCase(name))
{
return new ItemStack(ModBlocks.ore2, count, i);
}
}
throw new InvalidParameterException("The ore block " + name + " could not be found.");
}
public IBlockState getBlockStateFromName(String name){ public static ItemStack getOreByName(String name)
int index = -1; {
for (int i = 0; i < types.length; i++) { return getOreByName(name, 1);
if (types[i].equalsIgnoreCase(name)) { }
index = i;
break;
}
}
if(index == -1){
throw new InvalidParameterException("The ore block " + name + " could not be found.");
}
return getStateFromMeta(index);
}
public static final String[] types = new String[] public IBlockState getBlockStateFromName(String name)
{"Copper", "Tin"}; {
int index = -1;
for (int i = 0; i < types.length; i++)
{
if (types[i].equalsIgnoreCase(name))
{
index = i;
break;
}
}
if (index == -1)
{
throw new InvalidParameterException("The ore block " + name + " could not be found.");
}
return getStateFromMeta(index);
}
public PropertyInteger METADATA; @Override
protected boolean canSilkHarvest()
{
return true;
}
public BlockOre2(Material material) { @Override
super(material); @SideOnly(Side.CLIENT)
setUnlocalizedName("techreborn.ore2"); public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
setCreativeTab(TechRebornCreativeTabMisc.instance); {
setHardness(2.0f); for (int meta = 0; meta < types.length; meta++)
setHarvestLevel("pickaxe", 1); {
this.setDefaultState(this.blockState.getBaseState().withProperty(METADATA, 0)); list.add(new ItemStack(item, 1, meta));
} }
}
@Override @Override
protected boolean canSilkHarvest() { public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos,
return true; EntityPlayer player)
} {
return super.getPickBlock(state, target, world, pos, player);
}
@Override @Override
@SideOnly(Side.CLIENT) public int damageDropped(IBlockState state)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { {
for (int meta = 0; meta < types.length; meta++) { int meta = getMetaFromState(state);
list.add(new ItemStack(item, 1, meta)); return meta;
} }
}
@Override @Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
return super.getPickBlock(state, target, world, pos, player); {
} return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)];
}
@Override @Override
public int damageDropped(IBlockState state) { public int amountOfStates()
int meta = getMetaFromState(state); {
return meta; return types.length;
} }
@Override @Override
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { public IBlockState getStateFromMeta(int meta)
return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)]; {
} return this.getDefaultState().withProperty(METADATA, meta);
}
@Override @Override
public int amountOfStates() { public int getMetaFromState(IBlockState state)
return types.length; {
} return state.getValue(METADATA);
}
@Override protected BlockStateContainer createBlockState()
public IBlockState getStateFromMeta(int meta) { {
return this.getDefaultState().withProperty(METADATA, meta);
}
@Override METADATA = PropertyInteger.create("type", 0, types.length - 1);
public int getMetaFromState(IBlockState state) { return new BlockStateContainer(this, METADATA);
return state.getValue(METADATA); }
}
protected BlockStateContainer createBlockState() { @Override
public String getUserLoclisedName(IBlockState state)
METADATA = PropertyInteger.create("type", 0, types.length -1); {
return new BlockStateContainer(this, METADATA); return types[state.getValue(METADATA)];
} }
@Override
public String getUserLoclisedName(IBlockState state) {
return types[state.getValue(METADATA)];
}
} }

View file

@ -1,8 +1,9 @@
package techreborn.blocks; package techreborn.blocks;
import java.util.List;
import java.util.Random;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyBool; import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.properties.PropertyDirection; import net.minecraft.block.properties.PropertyDirection;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
@ -23,132 +24,149 @@ import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly; import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.common.BaseTileBlock;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TilePlayerDectector; import techreborn.tiles.TilePlayerDectector;
import java.util.List; public class BlockPlayerDetector extends BlockMachineBase implements ITexturedBlock
import java.util.Random; {
public class BlockPlayerDetector extends BlockMachineBase implements ITexturedBlock { public static final String[] types = new String[] { "all", "others", "you" };
public PropertyInteger METADATA;
public PropertyInteger METADATA; public BlockPlayerDetector()
{
super();
setUnlocalizedName("techreborn.playerDetector");
setCreativeTab(TechRebornCreativeTab.instance);
setHardness(2f);
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0).withProperty(FACING, EnumFacing.NORTH)
.withProperty(ACTIVE, false));
}
public BlockPlayerDetector() { @Override
super(); public Item getItemDropped(IBlockState state, Random rand, int fortune)
setUnlocalizedName("techreborn.playerDetector"); {
setCreativeTab(TechRebornCreativeTab.instance); return Item.getItemFromBlock(this);
setHardness(2f); }
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0).withProperty(FACING, EnumFacing.NORTH).withProperty(ACTIVE, false));
}
public static final String[] types = new String[] @Override
{"all", "others", "you"}; @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TilePlayerDectector();
}
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public boolean canConnectRedstone(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side)
return Item.getItemFromBlock(this); {
} return true;
}
@Override @Override
@SideOnly(Side.CLIENT) public boolean canProvidePower(IBlockState state)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { {
for (int meta = 0; meta < types.length; meta++) { return true;
list.add(new ItemStack(item, 1, meta)); }
}
}
@Override
public int getWeakPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
{
TileEntity entity = blockAccess.getTileEntity(pos);
if (entity instanceof TilePlayerDectector)
{
return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0;
}
return 0;
}
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public int getStrongPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
return new TilePlayerDectector(); {
} TileEntity entity = blockAccess.getTileEntity(pos);
if (entity instanceof TilePlayerDectector)
{
return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0;
}
return 0;
}
@Override @Override
public boolean canConnectRedstone(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer,
return true; ItemStack stack)
} {
super.onBlockPlacedBy(worldIn, pos, state, placer, stack);
TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TilePlayerDectector)
{
((TilePlayerDectector) tile).owenerUdid = placer.getUniqueID().toString();
}
}
@Override @Override
public boolean canProvidePower(IBlockState state) { public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entityPlayer,
return true; EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
} {
// int newMeta = (world.getBlockMetadata(x, y, z) + 1) % 3;
int newMeta = getMetaFromState(state);
String message = "";
switch (newMeta)
{
case 0:
message = TextFormatting.GREEN + "Detects all Players";
break;
case 1:
message = TextFormatting.RED + "Detects only other Players";
break;
case 2:
message = TextFormatting.BLUE + "Detects only you";
}
if (!world.isRemote)
{
entityPlayer.addChatComponentMessage(new TextComponentString(message));
// world.setBlockMetadataWithNotify(x, y, z, newMeta, 2);
}
return true;
}
@Override @Override
public int getWeakPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { public String getTextureNameFromState(IBlockState blockState, EnumFacing facing)
TileEntity entity = blockAccess.getTileEntity(pos); {
if (entity instanceof TilePlayerDectector) { return "techreborn:blocks/machine/greg_machines/player_detector_" + types[getMetaFromState(blockState)];
return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0; }
}
return 0;
}
@Override @Override
public int getStrongPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { public int amountOfStates()
TileEntity entity = blockAccess.getTileEntity(pos); {
if (entity instanceof TilePlayerDectector) { return types.length;
return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0; }
}
return 0;
}
@Override @Override
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) { public int getMetaFromState(IBlockState state)
super.onBlockPlacedBy(worldIn, pos, state, placer, stack); {
TileEntity tile = worldIn.getTileEntity(pos); return (Integer) state.getValue(METADATA);
if (tile instanceof TilePlayerDectector) { }
((TilePlayerDectector) tile).owenerUdid = placer.getUniqueID().toString();
}
}
@Override protected BlockStateContainer createBlockState()
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entityPlayer, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { {
// int newMeta = (world.getBlockMetadata(x, y, z) + 1) % 3; FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
int newMeta = getMetaFromState(state); ACTIVE = PropertyBool.create("active");
String message = ""; METADATA = PropertyInteger.create("type", 0, types.length - 1);
switch (newMeta) { return new BlockStateContainer(this, METADATA, FACING, ACTIVE);
case 0: }
message = TextFormatting.GREEN + "Detects all Players";
break;
case 1:
message = TextFormatting.RED + "Detects only other Players";
break;
case 2:
message = TextFormatting.BLUE + "Detects only you";
}
if(!world.isRemote){
entityPlayer.addChatComponentMessage(new TextComponentString(message));
//world.setBlockMetadataWithNotify(x, y, z, newMeta, 2);
}
return true;
}
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public IBlockState getStateFromMeta(int meta)
return "techreborn:blocks/machine/greg_machines/player_detector_" + types[getMetaFromState(blockState)]; {
} return this.getDefaultState().withProperty(METADATA, meta);
}
@Override
public int amountOfStates() {
return types.length;
}
@Override
public int getMetaFromState(IBlockState state) {
return (Integer) state.getValue(METADATA);
}
protected BlockStateContainer createBlockState() {
FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
ACTIVE = PropertyBool.create("active");
METADATA = PropertyInteger.create("type", 0, types.length -1);
return new BlockStateContainer(this, METADATA, FACING, ACTIVE);
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(METADATA, meta);
}
} }

View file

@ -15,48 +15,55 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileQuantumChest; import techreborn.tiles.TileQuantumChest;
public class BlockQuantumChest extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockQuantumChest extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockQuantumChest() { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.quantumChest");
setCreativeTab(TechRebornCreativeTab.instance);
setHardness(2.0F);
}
@Override public BlockQuantumChest()
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileQuantumChest(); super();
} setUnlocalizedName("techreborn.quantumChest");
setCreativeTab(TechRebornCreativeTab.instance);
setHardness(2.0F);
}
@Override @Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if (!playerIn.isSneaking()) {
playerIn.openGui(Core.INSTANCE, GuiHandler.quantumChestID, worldIn, pos.getX(), return new TileQuantumChest();
pos.getY(), pos.getZ()); }
return true;
}
@Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn,
EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
if (!playerIn.isSneaking())
playerIn.openGui(Core.INSTANCE, GuiHandler.quantumChestID, worldIn, pos.getX(), pos.getY(), pos.getZ());
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getFront(boolean isActive)
{
return prefix + "quantum_chest";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "quantum_chest"; {
} return prefix + "qchest_side";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "qchest_side"; {
} return prefix + "quantum_top";
}
@Override @Override
public String getTop(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "quantum_top"; {
} return prefix + "machine_bottom";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "machine_bottom";
}
} }

View file

@ -11,50 +11,61 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileQuantumTank; import techreborn.tiles.TileQuantumTank;
public class BlockQuantumTank extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockQuantumTank extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockQuantumTank() { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.quantumTank");
setHardness(2.0F);
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockQuantumTank()
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileQuantumTank(); super();
} setUnlocalizedName("techreborn.quantumTank");
setHardness(2.0F);
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)) { {
return true; return new TileQuantumTank();
} }
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.quantumTankID, world, x, y, z);
}
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true;
}
if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.quantumTankID, world, x, y, z);
}
return true;
}
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
return "techreborn:blocks/machine/generators/thermal_generator_side_off"; {
} return "techreborn:blocks/machine/generators/thermal_generator_side_off";
}
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
return "techreborn:blocks/machine/generators/thermal_generator_side_off"; {
} return "techreborn:blocks/machine/generators/thermal_generator_side_off";
}
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
return prefix + "quantum_top"; {
} return prefix + "quantum_top";
}
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
return "techreborn:blocks/machine/generators/thermal_generator_bottom"; {
} return "techreborn:blocks/machine/generators/thermal_generator_bottom";
}
} }

View file

@ -10,9 +10,13 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import reborncore.common.BaseBlock; import reborncore.common.BaseBlock;
import techreborn.client.TechRebornCreativeTabMisc; import techreborn.client.TechRebornCreativeTabMisc;
public class BlockReinforcedGlass extends BaseBlock implements ITexturedBlock { public class BlockReinforcedGlass extends BaseBlock implements ITexturedBlock
{
public BlockReinforcedGlass(Material materialIn) {
private final String prefix = "techreborn:blocks/";
public BlockReinforcedGlass(Material materialIn)
{
super(materialIn); super(materialIn);
setUnlocalizedName("techreborn.reinforcedglass"); setUnlocalizedName("techreborn.reinforcedglass");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
@ -20,7 +24,8 @@ public class BlockReinforcedGlass extends BaseBlock implements ITexturedBlock {
} }
@Override @Override
public boolean isOpaqueCube(IBlockState state) { public boolean isOpaqueCube(IBlockState state)
{
return false; return false;
} }
@ -34,17 +39,17 @@ public class BlockReinforcedGlass extends BaseBlock implements ITexturedBlock {
{ {
return false; return false;
} }
private final String prefix = "techreborn:blocks/";
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return 1; return 1;
} }
@Override @Override
public String getTextureNameFromState(IBlockState arg0, EnumFacing arg1) { public String getTextureNameFromState(IBlockState arg0, EnumFacing arg1)
{
return prefix + "reinforcedglass"; return prefix + "reinforcedglass";
} }
} }

View file

@ -1,5 +1,8 @@
package techreborn.blocks; package techreborn.blocks;
import java.util.List;
import java.util.Random;
import me.modmuss50.jsonDestroyer.api.IOpaqueBlock; import me.modmuss50.jsonDestroyer.api.IOpaqueBlock;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.BlockLeaves; import net.minecraft.block.BlockLeaves;
@ -20,29 +23,31 @@ import reborncore.RebornCore;
import techreborn.client.TechRebornCreativeTabMisc; import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
import java.util.List;
import java.util.Random;
/** /**
* Created by modmuss50 on 20/02/2016. * Created by modmuss50 on 20/02/2016.
*/ */
public class BlockRubberLeaves extends BlockLeaves implements ITexturedBlock, IOpaqueBlock { public class BlockRubberLeaves extends BlockLeaves implements ITexturedBlock, IOpaqueBlock
{
public BlockRubberLeaves() { public BlockRubberLeaves()
{
super(); super();
setUnlocalizedName("techreborn.rubberleaves"); setUnlocalizedName("techreborn.rubberleaves");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
RebornCore.jsonDestroyer.registerObject(this); RebornCore.jsonDestroyer.registerObject(this);
this.setDefaultState(this.getDefaultState().withProperty(CHECK_DECAY, Boolean.valueOf(true)).withProperty(DECAYABLE, Boolean.valueOf(true))); this.setDefaultState(this.getDefaultState().withProperty(CHECK_DECAY, Boolean.valueOf(true))
.withProperty(DECAYABLE, Boolean.valueOf(true)));
} }
@Override @Override
public BlockPlanks.EnumType getWoodType(int meta) { public BlockPlanks.EnumType getWoodType(int meta)
{
return null; return null;
} }
@Override @Override
public List<ItemStack> onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune) { public List<ItemStack> onSheared(ItemStack item, IBlockAccess world, BlockPos pos, int fortune)
{
List<ItemStack> list = new java.util.ArrayList<ItemStack>(); List<ItemStack> list = new java.util.ArrayList<ItemStack>();
list.add(new ItemStack(this, 1, 0)); list.add(new ItemStack(this, 1, 0));
return list; return list;
@ -65,46 +70,49 @@ public class BlockRubberLeaves extends BlockLeaves implements ITexturedBlock, IO
return false; return false;
} }
@Override @Override
protected ItemStack createStackedBlock(IBlockState state) protected ItemStack createStackedBlock(IBlockState state)
{ {
IBlockState newState = state.withProperty(CHECK_DECAY, Boolean.valueOf(false)).withProperty(DECAYABLE, Boolean.valueOf(false)); IBlockState newState = state.withProperty(CHECK_DECAY, Boolean.valueOf(false)).withProperty(DECAYABLE,
Boolean.valueOf(false));
return super.createStackedBlock(newState); return super.createStackedBlock(newState);
} }
@Override @Override
public String getTextureNameFromState(IBlockState IBlockState, EnumFacing enumFacing) { public String getTextureNameFromState(IBlockState IBlockState, EnumFacing enumFacing)
{
return "techreborn:blocks/rubber_leaves"; return "techreborn:blocks/rubber_leaves";
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return 4; return 4;
} }
@Override @Override
protected BlockStateContainer createBlockState() protected BlockStateContainer createBlockState()
{ {
return new BlockStateContainer(this, new IProperty[] { CHECK_DECAY, DECAYABLE}); return new BlockStateContainer(this, new IProperty[] { CHECK_DECAY, DECAYABLE });
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) public IBlockState getStateFromMeta(int meta)
{ {
return this.getDefaultState().withProperty(DECAYABLE, Boolean.valueOf((meta & 1) == 0)).withProperty(CHECK_DECAY, Boolean.valueOf((meta & 2) > 0)); return this.getDefaultState().withProperty(DECAYABLE, Boolean.valueOf((meta & 1) == 0))
.withProperty(CHECK_DECAY, Boolean.valueOf((meta & 2) > 0));
} }
@Override @Override
public int getMetaFromState(IBlockState state) public int getMetaFromState(IBlockState state)
{ {
int meta = 0; int meta = 0;
if (!((Boolean)state.getValue(DECAYABLE)).booleanValue()) if (!((Boolean) state.getValue(DECAYABLE)).booleanValue())
{ {
meta |= 1; meta |= 1;
} }
if (((Boolean)state.getValue(CHECK_DECAY)).booleanValue()) if (((Boolean) state.getValue(CHECK_DECAY)).booleanValue())
{ {
meta |= 2; meta |= 2;
} }
@ -130,7 +138,8 @@ public class BlockRubberLeaves extends BlockLeaves implements ITexturedBlock, IO
} }
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(ModBlocks.rubberSapling); return Item.getItemFromBlock(ModBlocks.rubberSapling);
} }
} }

View file

@ -1,5 +1,9 @@
package techreborn.blocks; package techreborn.blocks;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
@ -20,37 +24,39 @@ import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.items.ItemParts; import techreborn.items.ItemParts;
import techreborn.items.tools.ItemTreeTap; import techreborn.items.tools.ItemTreeTap;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
/** /**
* Created by modmuss50 on 19/02/2016. * Created by modmuss50 on 19/02/2016.
*/ */
public class BlockRubberLog extends Block implements ITexturedBlock { public class BlockRubberLog extends Block implements ITexturedBlock
{
public static PropertyDirection SAP_SIDE = PropertyDirection.create("sapside", EnumFacing.Plane.HORIZONTAL); public static PropertyDirection SAP_SIDE = PropertyDirection.create("sapside", EnumFacing.Plane.HORIZONTAL);
public static PropertyBool HAS_SAP = PropertyBool.create("hassap"); public static PropertyBool HAS_SAP = PropertyBool.create("hassap");
public BlockRubberLog() { public BlockRubberLog()
{
super(Material.wood); super(Material.wood);
setUnlocalizedName("techreborn.rubberlog"); setUnlocalizedName("techreborn.rubberlog");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
this.setHardness(2.0F); this.setHardness(2.0F);
RebornCore.jsonDestroyer.registerObject(this); RebornCore.jsonDestroyer.registerObject(this);
this.setDefaultState(this.getDefaultState().withProperty(SAP_SIDE, EnumFacing.NORTH).withProperty(HAS_SAP, false)); this.setDefaultState(
this.getDefaultState().withProperty(SAP_SIDE, EnumFacing.NORTH).withProperty(HAS_SAP, false));
this.setTickRandomly(true); this.setTickRandomly(true);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
return new BlockStateContainer(this, SAP_SIDE, HAS_SAP); return new BlockStateContainer(this, SAP_SIDE, HAS_SAP);
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
boolean hasSap = false; boolean hasSap = false;
int tempMeta = meta; int tempMeta = meta;
if(meta > 3){ if (meta > 3)
{
hasSap = true; hasSap = true;
tempMeta -= 3; tempMeta -= 3;
} }
@ -59,10 +65,12 @@ public class BlockRubberLog extends Block implements ITexturedBlock {
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
int tempMeta = 0; int tempMeta = 0;
EnumFacing facing = state.getValue(SAP_SIDE); EnumFacing facing = state.getValue(SAP_SIDE);
switch (facing){ switch (facing)
{
case SOUTH: case SOUTH:
tempMeta = 0; tempMeta = 0;
break; break;
@ -75,19 +83,24 @@ public class BlockRubberLog extends Block implements ITexturedBlock {
case EAST: case EAST:
tempMeta = 3; tempMeta = 3;
} }
if(state.getValue(HAS_SAP)){ if (state.getValue(HAS_SAP))
{
tempMeta += 3; tempMeta += 3;
} }
return tempMeta; return tempMeta;
} }
@Override @Override
public String getTextureNameFromState(IBlockState IBlockState, EnumFacing enumFacing) { public String getTextureNameFromState(IBlockState IBlockState, EnumFacing enumFacing)
if(enumFacing == EnumFacing.DOWN || enumFacing == EnumFacing.UP){ {
return "techreborn:blocks/rubber_log_top"; if (enumFacing == EnumFacing.DOWN || enumFacing == EnumFacing.UP)
{
return "techreborn:blocks/rubber_log_top";
} }
if(IBlockState.getValue(HAS_SAP)){ if (IBlockState.getValue(HAS_SAP))
if(IBlockState.getValue(SAP_SIDE) == enumFacing){ {
if (IBlockState.getValue(SAP_SIDE) == enumFacing)
{
return "techreborn:blocks/rubber_log_sap"; return "techreborn:blocks/rubber_log_sap";
} }
} }
@ -95,40 +108,52 @@ public class BlockRubberLog extends Block implements ITexturedBlock {
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return 8; return 8;
} }
@Override @Override
public boolean canSustainLeaves(IBlockState state, IBlockAccess world, BlockPos pos) { public boolean canSustainLeaves(IBlockState state, IBlockAccess world, BlockPos pos)
{
return true; return true;
} }
@Override @Override
public boolean isWood(net.minecraft.world.IBlockAccess world, BlockPos pos) { public boolean isWood(net.minecraft.world.IBlockAccess world, BlockPos pos)
{
return true; return true;
} }
public void breakBlock(World worldIn, BlockPos pos, IBlockState state) { public void breakBlock(World worldIn, BlockPos pos, IBlockState state)
{
int i = 4; int i = 4;
int j = i + 1; int j = i + 1;
if (worldIn.isAreaLoaded(pos.add(-j, -j, -j), pos.add(j, j, j))) { if (worldIn.isAreaLoaded(pos.add(-j, -j, -j), pos.add(j, j, j)))
for (BlockPos blockpos : BlockPos.getAllInBox(pos.add(-i, -i, -i), pos.add(i, i, i))) { {
for (BlockPos blockpos : BlockPos.getAllInBox(pos.add(-i, -i, -i), pos.add(i, i, i)))
{
IBlockState state1 = worldIn.getBlockState(blockpos); IBlockState state1 = worldIn.getBlockState(blockpos);
if (state1.getBlock().isLeaves(state1, worldIn, blockpos)) { if (state1.getBlock().isLeaves(state1, worldIn, blockpos))
state1.getBlock().beginLeavesDecay(state1,worldIn, blockpos); {
state1.getBlock().beginLeavesDecay(state1, worldIn, blockpos);
} }
} }
} }
} }
@Override @Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) { public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
super.updateTick(worldIn, pos, state, rand); super.updateTick(worldIn, pos, state, rand);
if(!state.getValue(HAS_SAP)){ if (!state.getValue(HAS_SAP))
if(rand.nextInt(50) == 0){ {
if (rand.nextInt(50) == 0)
{
EnumFacing facing = EnumFacing.getHorizontal(rand.nextInt(4)); EnumFacing facing = EnumFacing.getHorizontal(rand.nextInt(4));
if(worldIn.getBlockState(pos.down()).getBlock() == this && worldIn.getBlockState(pos.up()).getBlock() == this){ if (worldIn.getBlockState(pos.down()).getBlock() == this
&& worldIn.getBlockState(pos.up()).getBlock() == this)
{
worldIn.setBlockState(pos, state.withProperty(HAS_SAP, true).withProperty(SAP_SIDE, facing)); worldIn.setBlockState(pos, state.withProperty(HAS_SAP, true).withProperty(SAP_SIDE, facing));
} }
} }
@ -136,18 +161,27 @@ public class BlockRubberLog extends Block implements ITexturedBlock {
} }
@Override @Override
public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn,
EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
super.onBlockActivated(worldIn, pos, state, playerIn, hand, heldItem, side, hitX, hitY, hitZ); super.onBlockActivated(worldIn, pos, state, playerIn, hand, heldItem, side, hitX, hitY, hitZ);
if(playerIn.getHeldItem(EnumHand.MAIN_HAND) != null && playerIn.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemTreeTap) if (playerIn.getHeldItem(EnumHand.MAIN_HAND) != null
if(state.getValue(HAS_SAP)){ && playerIn.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemTreeTap)
if(state.getValue(SAP_SIDE) == side){ if (state.getValue(HAS_SAP))
worldIn.setBlockState(pos, state.withProperty(HAS_SAP, false).withProperty(SAP_SIDE, EnumFacing.getHorizontal(0))); {
//TODO 1.9 sounds if (state.getValue(SAP_SIDE) == side)
//worldIn.playSoundAtEntity(playerIn, "techreborn:sap_extract", 0.8F, 1F); {
if(!worldIn.isRemote){ worldIn.setBlockState(pos,
state.withProperty(HAS_SAP, false).withProperty(SAP_SIDE, EnumFacing.getHorizontal(0)));
// TODO 1.9 sounds
// worldIn.playSoundAtEntity(playerIn,
// "techreborn:sap_extract", 0.8F, 1F);
if (!worldIn.isRemote)
{
Random rand = new Random(); Random rand = new Random();
BlockPos itemPos = pos.offset(side); BlockPos itemPos = pos.offset(side);
EntityItem item = new EntityItem(worldIn, itemPos.getX(), itemPos.getY(), itemPos.getZ(), ItemParts.getPartByName("rubberSap").copy()); EntityItem item = new EntityItem(worldIn, itemPos.getX(), itemPos.getY(), itemPos.getZ(),
ItemParts.getPartByName("rubberSap").copy());
float factor = 0.05F; float factor = 0.05F;
playerIn.getHeldItem(EnumHand.MAIN_HAND).damageItem(1, playerIn); playerIn.getHeldItem(EnumHand.MAIN_HAND).damageItem(1, playerIn);
item.motionX = rand.nextGaussian() * factor; item.motionX = rand.nextGaussian() * factor;
@ -162,16 +196,20 @@ public class BlockRubberLog extends Block implements ITexturedBlock {
} }
@Override @Override
public int damageDropped(IBlockState state) { public int damageDropped(IBlockState state)
{
return 0; return 0;
} }
@Override @Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
{
List<ItemStack> drops = new ArrayList<ItemStack>(); List<ItemStack> drops = new ArrayList<ItemStack>();
drops.add(new ItemStack(this)); drops.add(new ItemStack(this));
if(state.getValue(HAS_SAP)){ if (state.getValue(HAS_SAP))
if(new Random().nextInt(4) == 0){ {
if (new Random().nextInt(4) == 0)
{
drops.add(ItemParts.getPartByName("rubberSap")); drops.add(ItemParts.getPartByName("rubberSap"));
} }
} }

View file

@ -11,23 +11,27 @@ import techreborn.client.TechRebornCreativeTabMisc;
/** /**
* Created by modmuss50 on 20/02/2016. * Created by modmuss50 on 20/02/2016.
*/ */
public class BlockRubberPlank extends Block implements ITexturedBlock { public class BlockRubberPlank extends Block implements ITexturedBlock
{
public BlockRubberPlank() { public BlockRubberPlank()
super(Material.wood); {
RebornCore.jsonDestroyer.registerObject(this); super(Material.wood);
setUnlocalizedName("techreborn.rubberplank"); RebornCore.jsonDestroyer.registerObject(this);
setCreativeTab(TechRebornCreativeTabMisc.instance); setUnlocalizedName("techreborn.rubberplank");
this.setHardness(2.0F); setCreativeTab(TechRebornCreativeTabMisc.instance);
} this.setHardness(2.0F);
}
@Override @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side) { public String getTextureNameFromState(IBlockState state, EnumFacing side)
return "techreborn:blocks/rubber_planks"; {
} return "techreborn:blocks/rubber_planks";
}
@Override @Override
public int amountOfStates() { public int amountOfStates()
return 1; {
} return 1;
}
} }

View file

@ -1,5 +1,8 @@
package techreborn.blocks; package techreborn.blocks;
import java.util.List;
import java.util.Random;
import net.minecraft.block.BlockSapling; import net.minecraft.block.BlockSapling;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.creativetab.CreativeTabs; import net.minecraft.creativetab.CreativeTabs;
@ -10,33 +13,37 @@ import net.minecraft.world.World;
import techreborn.client.TechRebornCreativeTabMisc; import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.world.RubberTreeGenerator; import techreborn.world.RubberTreeGenerator;
import java.util.List;
import java.util.Random;
/** /**
* Created by modmuss50 on 20/02/2016. * Created by modmuss50 on 20/02/2016.
*/ */
public class BlockRubberSapling extends BlockSapling { public class BlockRubberSapling extends BlockSapling
{
public BlockRubberSapling() { public BlockRubberSapling()
setUnlocalizedName("techreborn.rubbersapling"); {
setCreativeTab(TechRebornCreativeTabMisc.instance); setUnlocalizedName("techreborn.rubbersapling");
this.setDefaultState(this.getDefaultState().withProperty(STAGE, Integer.valueOf(0))); setCreativeTab(TechRebornCreativeTabMisc.instance);
} this.setDefaultState(this.getDefaultState().withProperty(STAGE, Integer.valueOf(0)));
}
@Override @Override
public void generateTree(World worldIn, BlockPos pos, IBlockState state, Random rand) { public void generateTree(World worldIn, BlockPos pos, IBlockState state, Random rand)
if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(worldIn, rand, pos)) { {
return; if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(worldIn, rand, pos))
} {
worldIn.setBlockToAir(pos); return;
if(!new RubberTreeGenerator(false).generate(worldIn, rand, pos)){ }
worldIn.setBlockState(pos, state); //Re-add the sapling if the tree failed to grow worldIn.setBlockToAir(pos);
} if (!new RubberTreeGenerator(false).generate(worldIn, rand, pos))
} {
worldIn.setBlockState(pos, state); // Re-add the sapling if the tree
// failed to grow
}
}
@Override @Override
public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list) { public void getSubBlocks(Item itemIn, CreativeTabs tab, List<ItemStack> list)
list.add(new ItemStack(itemIn, 1, 0)); {
} list.add(new ItemStack(itemIn, 1, 0));
}
} }

View file

@ -1,5 +1,8 @@
package techreborn.blocks; package techreborn.blocks;
import java.util.List;
import java.util.Random;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
@ -15,81 +18,90 @@ import reborncore.common.BaseBlock;
import techreborn.client.TechRebornCreativeTabMisc; import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
import java.util.List; public class BlockStorage extends BaseBlock implements ITexturedBlock
import java.util.Random; {
public class BlockStorage extends BaseBlock implements ITexturedBlock { public static final String[] types = new String[] { "silver", "aluminum", "titanium", "chrome", "steel", "brass",
"lead", "electrum", "zinc", "platinum", "tungsten", "nickel", "invar", "osmium", "iridium" };
public PropertyInteger METADATA;
public static ItemStack getStorageBlockByName(String name, int count) { public BlockStorage(Material material)
for (int i = 0; i < types.length; i++) { {
if (types[i].equals(name)) { super(material);
return new ItemStack(ModBlocks.storage, count, i); setUnlocalizedName("techreborn.storage");
} setCreativeTab(TechRebornCreativeTabMisc.instance);
} setHardness(2f);
return BlockStorage2.getStorageBlockByName(name, count); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public static ItemStack getStorageBlockByName(String name) { public static ItemStack getStorageBlockByName(String name, int count)
return getStorageBlockByName(name, 1); {
} for (int i = 0; i < types.length; i++)
{
if (types[i].equals(name))
{
return new ItemStack(ModBlocks.storage, count, i);
}
}
return BlockStorage2.getStorageBlockByName(name, count);
}
public static final String[] types = new String[] public static ItemStack getStorageBlockByName(String name)
{"silver", "aluminum", "titanium", "chrome", "steel", "brass", "lead", {
"electrum", "zinc", "platinum", "tungsten", "nickel", "invar", "osmium", return getStorageBlockByName(name, 1);
"iridium"}; }
public PropertyInteger METADATA; @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(this);
}
@Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
public BlockStorage(Material material) { @Override
super(material); public int damageDropped(IBlockState state)
setUnlocalizedName("techreborn.storage"); {
setCreativeTab(TechRebornCreativeTabMisc.instance); return getMetaFromState(state);
setHardness(2f); }
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
}
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
return Item.getItemFromBlock(this); {
} return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block";
}
@Override @Override
@SideOnly(Side.CLIENT) public int amountOfStates()
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { {
for (int meta = 0; meta < types.length; meta++) { return types.length;
list.add(new ItemStack(item, 1, meta)); }
}
}
@Override @Override
public int damageDropped(IBlockState state) { public IBlockState getStateFromMeta(int meta)
return getMetaFromState(state); {
} return this.getDefaultState().withProperty(METADATA, meta);
@Override }
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) {
return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block";
}
@Override @Override
public int amountOfStates() { public int getMetaFromState(IBlockState state)
return types.length; {
} return state.getValue(METADATA);
}
@Override protected BlockStateContainer createBlockState()
public IBlockState getStateFromMeta(int meta) { {
return this.getDefaultState().withProperty(METADATA, meta);
}
@Override METADATA = PropertyInteger.create("type", 0, types.length - 1);
public int getMetaFromState(IBlockState state) { return new BlockStateContainer(this, METADATA);
return state.getValue(METADATA); }
}
protected BlockStateContainer createBlockState() {
METADATA = PropertyInteger.create("type", 0, types.length -1);
return new BlockStateContainer(this, METADATA);
}
} }

View file

@ -1,5 +1,9 @@
package techreborn.blocks; package techreborn.blocks;
import java.security.InvalidParameterException;
import java.util.List;
import java.util.Random;
import me.modmuss50.jsonDestroyer.api.ITexturedBlock; import me.modmuss50.jsonDestroyer.api.ITexturedBlock;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyInteger; import net.minecraft.block.properties.PropertyInteger;
@ -15,79 +19,86 @@ import reborncore.common.BaseBlock;
import techreborn.client.TechRebornCreativeTabMisc; import techreborn.client.TechRebornCreativeTabMisc;
import techreborn.init.ModBlocks; import techreborn.init.ModBlocks;
import java.security.InvalidParameterException; public class BlockStorage2 extends BaseBlock implements ITexturedBlock
import java.util.List; {
import java.util.Random;
public class BlockStorage2 extends BaseBlock implements ITexturedBlock { public static final String[] types = new String[] { "tungstensteel", "lodestone", "tellurium",
"iridium_reinforced_tungstensteel", "iridium_reinforced_stone", "ruby", "sapphire", "peridot",
"yellowGarnet", "redGarnet", "copper", "tin" };
public PropertyInteger METADATA;
public static ItemStack getStorageBlockByName(String name, int count) { public BlockStorage2(Material material)
for (int i = 0; i < types.length; i++) { {
if (types[i].equals(name)) { super(material);
return new ItemStack(ModBlocks.storage2, count, i); setUnlocalizedName("techreborn.storage2");
} setCreativeTab(TechRebornCreativeTabMisc.instance);
} setHardness(2f);
throw new InvalidParameterException("The storage block " + name + " could not be found."); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public static final String[] types = new String[] public static ItemStack getStorageBlockByName(String name, int count)
{"tungstensteel", "lodestone", "tellurium", "iridium_reinforced_tungstensteel", {
"iridium_reinforced_stone", "ruby", "sapphire", "peridot", "yellowGarnet", "redGarnet", "copper", "tin"}; for (int i = 0; i < types.length; i++)
{
if (types[i].equals(name))
{
return new ItemStack(ModBlocks.storage2, count, i);
}
}
throw new InvalidParameterException("The storage block " + name + " could not be found.");
}
public BlockStorage2(Material material) { @Override
super(material); public Item getItemDropped(IBlockState state, Random rand, int fortune)
setUnlocalizedName("techreborn.storage2"); {
setCreativeTab(TechRebornCreativeTabMisc.instance); return Item.getItemFromBlock(this);
setHardness(2f); }
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
}
public PropertyInteger METADATA; @Override
@SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
{
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta));
}
}
@Override
public int damageDropped(IBlockState state)
{
return getMetaFromState(state);
}
@Override
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
{
return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block";
}
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public int amountOfStates()
return Item.getItemFromBlock(this); {
} return types.length;
}
@Override @Override
@SideOnly(Side.CLIENT) public IBlockState getStateFromMeta(int meta)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { {
for (int meta = 0; meta < types.length; meta++) { return this.getDefaultState().withProperty(METADATA, meta);
list.add(new ItemStack(item, 1, meta)); }
}
}
@Override @Override
public int damageDropped(IBlockState state) { public int getMetaFromState(IBlockState state)
return getMetaFromState(state); {
} return (Integer) state.getValue(METADATA);
}
@Override protected BlockStateContainer createBlockState()
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { {
return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block";
}
@Override METADATA = PropertyInteger.create("type", 0, types.length - 1);
public int amountOfStates() { return new BlockStateContainer(this, METADATA);
return types.length; }
}
@Override
public IBlockState getStateFromMeta(int meta) {
return this.getDefaultState().withProperty(METADATA, meta);
}
@Override
public int getMetaFromState(IBlockState state) {
return (Integer) state.getValue(METADATA);
}
protected BlockStateContainer createBlockState() {
METADATA = PropertyInteger.create("type", 0, types.length -1);
return new BlockStateContainer(this, METADATA);
}
} }

View file

@ -5,35 +5,40 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockSupercondensator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockSupercondensator extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/greg_machines/";
public BlockSupercondensator(Material material) { public BlockSupercondensator(Material material)
super(); {
setUnlocalizedName("techreborn.supercondensator"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.supercondensator");
} setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getFront(boolean isActive)
{
return prefix + "supercondensator_front";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "supercondensator_front"; {
} return prefix + "supercondensator_side";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "supercondensator_side" ; {
} return prefix + "supercondensator_side";
}
@Override @Override
public String getTop(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "supercondensator_side"; {
} return prefix + "machine_bottom";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "machine_bottom";
}
} }

View file

@ -11,55 +11,66 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileBlastFurnace; import techreborn.tiles.TileBlastFurnace;
public class BlockBlastFurnace extends BlockMachineBase implements IRotationTexture { public class BlockBlastFurnace extends BlockMachineBase implements IRotationTexture
{
public BlockBlastFurnace(Material material) { private final String prefix = "techreborn:blocks/machine/advanced_machines/";
super();
setUnlocalizedName("techreborn.blastfurnace");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockBlastFurnace(Material material)
public TileEntity createNewTileEntity(World world, int p_149915_2_) { {
return new TileBlastFurnace(); super();
} setUnlocalizedName("techreborn.blastfurnace");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, z); return new TileBlastFurnace();
return true; }
}
@Override @Override
public boolean isAdvanced() { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
return true; float hitY, float hitZ)
} {
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; @Override
public boolean isAdvanced()
{
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "industrial_blast_furnace_front_off"; {
} return prefix + "industrial_blast_furnace_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "industrial_blast_furnace_front_on"; {
} return prefix + "industrial_blast_furnace_front_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "advanced_machine_side"; {
} return prefix + "advanced_machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "advanced_machine_top"; {
} return prefix + "advanced_machine_top";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "advanced_machine_bottom"; {
} return prefix + "advanced_machine_bottom";
}
} }

View file

@ -10,51 +10,62 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileCentrifuge; import techreborn.tiles.TileCentrifuge;
public class BlockCentrifuge extends BlockMachineBase implements IRotationTexture { public class BlockCentrifuge extends BlockMachineBase implements IRotationTexture
{
public BlockCentrifuge() { private final String prefix = "techreborn:blocks/machine/advanced_machines/";
super();
setUnlocalizedName("techreborn.centrifuge");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockCentrifuge()
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileCentrifuge(); super();
} setUnlocalizedName("techreborn.centrifuge");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if (!player.isSneaking()) { {
player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, z); return new TileCentrifuge();
} }
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, z);
}
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "industrial_centrifuge_side_off"; {
} return prefix + "industrial_centrifuge_side_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "industrial_centrifuge_side_on"; {
} return prefix + "industrial_centrifuge_side_on";
}
@Override @Override
public String getSide() { public String getSide()
return getFrontOff(); {
} return getFrontOff();
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "industrial_centrifuge_top_off"; {
} return prefix + "industrial_centrifuge_top_off";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "industrial_centrifuge_bottom"; {
} return prefix + "industrial_centrifuge_bottom";
}
} }

View file

@ -5,38 +5,45 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IRotationTexture; import reborncore.common.blocks.IRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockDistillationTower extends BlockMachineBase implements IRotationTexture { public class BlockDistillationTower extends BlockMachineBase implements IRotationTexture
{
public BlockDistillationTower(Material material) { private final String prefix = "techreborn:blocks/machine/advanced_machines/";
super();
setUnlocalizedName("techreborn.distillationtower");
setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; public BlockDistillationTower(Material material)
{
super();
setUnlocalizedName("techreborn.distillationtower");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "distillation_tower_front_off"; {
} return prefix + "distillation_tower_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "distillation_tower_front_off"; {
} return prefix + "distillation_tower_front_off";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "advanced_machine_side"; {
} return prefix + "advanced_machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "industrial_centrifuge_top_off"; {
} return prefix + "industrial_centrifuge_top_off";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "industrial_centrifuge_bottom"; {
} return prefix + "industrial_centrifuge_bottom";
}
} }

View file

@ -11,50 +11,60 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileImplosionCompressor; import techreborn.tiles.TileImplosionCompressor;
public class BlockImplosionCompressor extends BlockMachineBase implements IRotationTexture { public class BlockImplosionCompressor extends BlockMachineBase implements IRotationTexture
{
public BlockImplosionCompressor(Material material) { private final String prefix = "techreborn:blocks/machine/advanced_machines/";
super();
setUnlocalizedName("techreborn.implosioncompressor");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockImplosionCompressor(Material material)
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileImplosionCompressor(); super();
} setUnlocalizedName("techreborn.implosioncompressor");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, z); return new TileImplosionCompressor();
return true; }
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, z);
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "implosion_compressor_front_off"; {
} return prefix + "implosion_compressor_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "implosion_compressor_front_on"; {
} return prefix + "implosion_compressor_front_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "advanced_machine_side"; {
} return prefix + "advanced_machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "industrial_centrifuge_top_off"; {
} return prefix + "industrial_centrifuge_top_off";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "implosion_compressor_bottom"; {
} return prefix + "implosion_compressor_bottom";
}
} }

View file

@ -11,50 +11,60 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileIndustrialElectrolyzer; import techreborn.tiles.TileIndustrialElectrolyzer;
public class BlockIndustrialElectrolyzer extends BlockMachineBase implements IRotationTexture { public class BlockIndustrialElectrolyzer extends BlockMachineBase implements IRotationTexture
{
public BlockIndustrialElectrolyzer(Material material) { private final String prefix = "techreborn:blocks/machine/advanced_machines/";
super();
setUnlocalizedName("techreborn.industrialelectrolyzer");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockIndustrialElectrolyzer(Material material)
public TileEntity createNewTileEntity(World world, int p_149915_2_) { {
return new TileIndustrialElectrolyzer(); super();
} setUnlocalizedName("techreborn.industrialelectrolyzer");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, z); return new TileIndustrialElectrolyzer();
return true; }
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, z);
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "industrial_electrolyzer_front_off"; {
} return prefix + "industrial_electrolyzer_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "industrial_electrolyzer_front_on"; {
} return prefix + "industrial_electrolyzer_front_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "industrial_electrolyzer_front_off"; {
} return prefix + "industrial_electrolyzer_front_off";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "machine_top"; {
} return prefix + "machine_top";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "machine_bottom"; {
} return prefix + "machine_bottom";
}
} }

View file

@ -12,53 +12,64 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileIndustrialGrinder; import techreborn.tiles.TileIndustrialGrinder;
public class BlockIndustrialGrinder extends BlockMachineBase implements IRotationTexture { public class BlockIndustrialGrinder extends BlockMachineBase implements IRotationTexture
{
public BlockIndustrialGrinder(Material material) { private final String prefix = "techreborn:blocks/machine/advanced_machines/";
super();
setUnlocalizedName("techreborn.industrialgrinder");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockIndustrialGrinder(Material material)
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileIndustrialGrinder(); super();
} setUnlocalizedName("techreborn.industrialgrinder");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ {
return true; return new TileIndustrialGrinder();
} }
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.industrialGrinderID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true;
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.industrialGrinderID, world, x, y, z);
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "industrial_grinder_front_off"; {
} return prefix + "industrial_grinder_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "industrial_grinder_front_on"; {
} return prefix + "industrial_grinder_front_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "machine_side"; {
} return prefix + "machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "industrial_grinder_top_off"; {
} return prefix + "industrial_grinder_top_off";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "industrial_centrifuge_bottom"; {
} return prefix + "industrial_centrifuge_bottom";
}
} }

View file

@ -12,53 +12,64 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileIndustrialSawmill; import techreborn.tiles.TileIndustrialSawmill;
public class BlockIndustrialSawmill extends BlockMachineBase implements IRotationTexture { public class BlockIndustrialSawmill extends BlockMachineBase implements IRotationTexture
{
public BlockIndustrialSawmill(Material material) { private final String prefix = "techreborn:blocks/machine/advanced_machines/";
super();
setUnlocalizedName("techreborn.industrialsawmill");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockIndustrialSawmill(Material material)
public TileEntity createNewTileEntity(World world, int p_149915_2_) { {
return new TileIndustrialSawmill(); super();
} setUnlocalizedName("techreborn.industrialsawmill");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ {
return true; return new TileIndustrialSawmill();
} }
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.sawMillID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true;
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.sawMillID, world, x, y, z);
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "industrial_sawmill_front_off"; {
} return prefix + "industrial_sawmill_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "industrial_sawmill_front_on"; {
} return prefix + "industrial_sawmill_front_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "advanced_machine_side"; {
} return prefix + "advanced_machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "advanced_machine_side"; {
} return prefix + "advanced_machine_side";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "advanced_machine_side"; {
} return prefix + "advanced_machine_side";
}
} }

View file

@ -8,26 +8,29 @@ import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import reborncore.RebornCore; import reborncore.RebornCore;
public class BlockFluidBase extends BlockFluidClassic { public class BlockFluidBase extends BlockFluidClassic
{
public BlockFluidBase(Fluid fluid, Material material) { public BlockFluidBase(Fluid fluid, Material material)
super(fluid, material); {
RebornCore.jsonDestroyer.registerObject(this); super(fluid, material);
} RebornCore.jsonDestroyer.registerObject(this);
}
@Override
public boolean canDisplace(IBlockAccess world, BlockPos pos)
{
if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return false;
return super.canDisplace(world, pos);
}
@Override @Override
public boolean canDisplace(IBlockAccess world, BlockPos pos) { public boolean displaceIfPossible(World world, BlockPos pos)
if(world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid()) {
return false; if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return super.canDisplace(world, pos); return false;
} return super.displaceIfPossible(world, pos);
}
@Override
public boolean displaceIfPossible(World world, BlockPos pos) {
if(world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return false;
return super.displaceIfPossible(world, pos);
}
} }

View file

@ -4,18 +4,21 @@ import me.modmuss50.jsonDestroyer.api.ITexturedFluid;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
public class BlockFluidTechReborn extends BlockFluidBase implements ITexturedFluid { public class BlockFluidTechReborn extends BlockFluidBase implements ITexturedFluid
{
String name; String name;
public BlockFluidTechReborn(Fluid fluid, Material material, String name) { public BlockFluidTechReborn(Fluid fluid, Material material, String name)
super(fluid, material); {
setUnlocalizedName(name); super(fluid, material);
this.name = name; setUnlocalizedName(name);
} this.name = name;
}
@Override @Override
public String getTextureName() { public String getTextureName()
return "techreborn:blocks/fluids/" + name.replaceAll("techreborn.", "") + "_flowing"; {
} return "techreborn:blocks/fluids/" + name.replaceAll("techreborn.", "") + "_flowing";
}
} }

View file

@ -3,8 +3,12 @@ package techreborn.blocks.fluid;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
public class TechRebornFluid extends Fluid { public class TechRebornFluid extends Fluid
public TechRebornFluid(String fluidName) { {
super(fluidName, new ResourceLocation("techreborn:blocks/fluids/" + fluidName.replaceFirst("fluid", "") + "_flowing"), new ResourceLocation("techreborn:blocks/fluids/" + fluidName.replaceFirst("fluid", "") + "_flowing")); public TechRebornFluid(String fluidName)
} {
super(fluidName,
new ResourceLocation("techreborn:blocks/fluids/" + fluidName.replaceFirst("fluid", "") + "_flowing"),
new ResourceLocation("techreborn:blocks/fluids/" + fluidName.replaceFirst("fluid", "") + "_flowing"));
}
} }

View file

@ -12,54 +12,59 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileDieselGenerator; import techreborn.tiles.generator.TileDieselGenerator;
public class BlockDieselGenerator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockDieselGenerator extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/generators/";
public BlockDieselGenerator(Material material) { public BlockDieselGenerator(Material material)
super(); {
setUnlocalizedName("techreborn.dieselgenerator"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.dieselgenerator");
} setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public TileEntity createNewTileEntity(World world, int p_149915_2_)
{
return new TileDieselGenerator();
}
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
return new TileDieselGenerator(); float hitY, float hitZ)
} {
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true;
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.dieselGeneratorID, world, x, y, z);
return true;
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public String getFront(boolean isActive)
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { {
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ return prefix + "generator_machine_side";
return true; }
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.dieselGeneratorID, world, x, y,
z);
return true;
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getSide(boolean isActive)
{
return prefix + "generator_machine_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getTop(boolean isActive)
return prefix + "generator_machine_side"; {
} return prefix + "diesel_generator_top_off";
}
@Override
public String getSide(boolean isActive) {
return prefix + "generator_machine_side" ;
}
@Override
public String getTop(boolean isActive) {
return prefix + "diesel_generator_top_off";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "generator_machine_bottom";
}
@Override
public String getBottom(boolean isActive)
{
return prefix + "generator_machine_bottom";
}
} }

View file

@ -8,42 +8,46 @@ import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileDragonEggSiphoner; import techreborn.tiles.generator.TileDragonEggSiphoner;
public class BlockDragonEggSiphoner extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockDragonEggSiphoner extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/generators/";
public BlockDragonEggSiphoner(Material material)
{
super();
setUnlocalizedName("techreborn.dragoneggsiphoner");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockDragonEggSiphoner(Material material) { @Override
super(); public TileEntity createNewTileEntity(World world, int p_149915_2_)
setUnlocalizedName("techreborn.dragoneggsiphoner"); {
setCreativeTab(TechRebornCreativeTab.instance); return new TileDragonEggSiphoner();
} }
@Override
public String getFront(boolean isActive)
{
return prefix + "dragon_egg_energy_siphon_side_off";
}
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public String getSide(boolean isActive)
return new TileDragonEggSiphoner(); {
} return prefix + "dragon_egg_energy_siphon_side_off";
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getTop(boolean isActive)
{
return prefix + "dragon_egg_energy_siphon_top";
}
@Override @Override
public String getFront(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "dragon_egg_energy_siphon_side_off"; {
} return prefix + "generator_machine_bottom";
}
@Override
public String getSide(boolean isActive) {
return prefix + "dragon_egg_energy_siphon_side_off" ;
}
@Override
public String getTop(boolean isActive) {
return prefix + "dragon_egg_energy_siphon_top";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "generator_machine_bottom";
}
} }

View file

@ -12,52 +12,59 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileGasTurbine; import techreborn.tiles.generator.TileGasTurbine;
public class BlockGasTurbine extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockGasTurbine extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/generators/";
public BlockGasTurbine(Material material) { public BlockGasTurbine(Material material)
super(); {
setUnlocalizedName("techreborn.gasTurbine"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.gasTurbine");
} setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
return new TileGasTurbine(); {
} return new TileGasTurbine();
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { float hitY, float hitZ)
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ {
return true; if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
} {
if (!player.isSneaking()) return true;
player.openGui(Core.INSTANCE, GuiHandler.gasTurbineID, world, x, y, }
z); if (!player.isSneaking())
return true; player.openGui(Core.INSTANCE, GuiHandler.gasTurbineID, world, x, y, z);
} return true;
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getFront(boolean isActive)
{
return prefix + "generator_machine_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "generator_machine_side"; {
} return prefix + "generator_machine_side";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "generator_machine_side" ; {
} return prefix + "gas_generator_top";
}
@Override @Override
public String getTop(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "gas_generator_top"; {
} return prefix + "gas_generator_bottom";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "gas_generator_bottom";
}
} }

View file

@ -17,58 +17,70 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileGenerator; import techreborn.tiles.generator.TileGenerator;
public class BlockGenerator extends BlockMachineBase implements IRotationTexture { public class BlockGenerator extends BlockMachineBase implements IRotationTexture
{
public BlockGenerator() { private final String prefix = "techreborn:blocks/machine/generators/";
public BlockGenerator()
{
super(); super();
setUnlocalizedName("techreborn.generator"); setUnlocalizedName("techreborn.generator");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
return new TileGenerator();
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
if (!player.isSneaking()){ {
player.openGui(Core.INSTANCE, GuiHandler.generatorID, world, x, y, z); return new TileGenerator();
} }
return true;
}
@Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.generatorID, world, x, y, z);
}
return true;
}
@Override @Override
public String getFrontOff() { public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
return prefix + "generator_front_off"; {
} List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
@Override @Override
public String getFrontOn() { public String getFrontOff()
return prefix + "generator_front_on"; {
} return prefix + "generator_front_off";
}
@Override @Override
public String getSide() { public String getFrontOn()
return prefix + "generator_machine_side" ; {
} return prefix + "generator_front_on";
}
@Override @Override
public String getTop() { public String getSide()
return prefix + "generator_machine_top"; {
} return prefix + "generator_machine_side";
}
@Override @Override
public String getBottom() { public String getTop()
return prefix + "generator_machine_bottom"; {
} return prefix + "generator_machine_top";
}
@Override
public String getBottom()
{
return prefix + "generator_machine_bottom";
}
} }

View file

@ -8,42 +8,46 @@ import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileHeatGenerator; import techreborn.tiles.generator.TileHeatGenerator;
public class BlockHeatGenerator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockHeatGenerator extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/generators/";
public BlockHeatGenerator(Material material) { public BlockHeatGenerator(Material material)
super(); {
setUnlocalizedName("techreborn.heatgenerator"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.heatgenerator");
} setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public TileEntity createNewTileEntity(World world, int p_149915_2_)
{
return new TileHeatGenerator();
}
@Override
public String getFront(boolean isActive)
{
return prefix + "heat_generator_side";
}
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public String getSide(boolean isActive)
return new TileHeatGenerator(); {
} return prefix + "heat_generator_side";
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getTop(boolean isActive)
{
return prefix + "heat_generator_top";
}
@Override @Override
public String getFront(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "heat_generator_side"; {
} return prefix + "heat_generator_bottom";
}
@Override
public String getSide(boolean isActive) {
return prefix + "heat_generator_side" ;
}
@Override
public String getTop(boolean isActive) {
return prefix + "heat_generator_top";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "heat_generator_bottom";
}
} }

View file

@ -5,33 +5,39 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockLightningRod extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockLightningRod extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockLightningRod(Material material) { private final String prefix = "techreborn:blocks/machine/generators/";
super();
setUnlocalizedName("techreborn.lightningrod");
setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/generators/"; public BlockLightningRod(Material material)
{
super();
setUnlocalizedName("techreborn.lightningrod");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
return prefix + "plasma_generator_side_off"; {
} return prefix + "plasma_generator_side_off";
}
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
return prefix + "plasma_generator_side_off" ; {
} return prefix + "plasma_generator_side_off";
}
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
return prefix + "plasma_generator_side_off"; {
} return prefix + "plasma_generator_side_off";
}
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "plasma_generator_side_off"; {
} return prefix + "plasma_generator_side_off";
}
} }

View file

@ -5,35 +5,40 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockMagicEnergyAbsorber extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockMagicEnergyAbsorber extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockMagicEnergyAbsorber(Material material) { private final String prefix = "techreborn:blocks/machine/generators/";
super();
setUnlocalizedName("techreborn.magicenergyabsorber");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockMagicEnergyAbsorber(Material material)
{
super();
setUnlocalizedName("techreborn.magicenergyabsorber");
setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getFront(boolean isActive)
{
return prefix + "magic_energy_absorber_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "magic_energy_absorber_side"; {
} return prefix + "magic_energy_absorber_side";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "magic_energy_absorber_side" ; {
} return prefix + "magic_energy_absorber_top";
}
@Override @Override
public String getTop(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "magic_energy_absorber_top"; {
} return prefix + "magic_energy_absorber_bottom";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "magic_energy_absorber_bottom";
}
} }

View file

@ -5,36 +5,40 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockMagicEnergyConverter extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockMagicEnergyConverter extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockMagicEnergyConverter(Material material) { private final String prefix = "techreborn:blocks/machine/generators/";
super();
setUnlocalizedName("techreborn.magicenergyconverter");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockMagicEnergyConverter(Material material)
{
super();
setUnlocalizedName("techreborn.magicenergyconverter");
setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getFront(boolean isActive)
{
return prefix + "magic_energy_converter_front_off";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "magic_energy_converter_front_off"; {
} return prefix + "magic_energy_converter_side";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "magic_energy_converter_side" ; {
} return prefix + "magic_energy_converter_top";
}
@Override
public String getTop(boolean isActive) {
return prefix + "magic_energy_converter_top";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "magic_energy_converter_bottom";
}
@Override
public String getBottom(boolean isActive)
{
return prefix + "magic_energy_converter_bottom";
}
} }

View file

@ -5,33 +5,39 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockPlasmaGenerator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockPlasmaGenerator extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockPlasmaGenerator(Material material) { private final String prefix = "techreborn:blocks/machine/generators/";
super();
setUnlocalizedName("techreborn.plasmagenerator");
setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/generators/"; public BlockPlasmaGenerator(Material material)
{
super();
setUnlocalizedName("techreborn.plasmagenerator");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
return prefix + "plasma_generator_front"; {
} return prefix + "plasma_generator_front";
}
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
return prefix + "plasma_generator_side_off" ; {
} return prefix + "plasma_generator_side_off";
}
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
return prefix + "plasma_generator_side_off"; {
} return prefix + "plasma_generator_side_off";
}
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "plasma_generator_side_off"; {
} return prefix + "plasma_generator_side_off";
}
} }

View file

@ -12,53 +12,59 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileSemifluidGenerator; import techreborn.tiles.generator.TileSemifluidGenerator;
public class BlockSemiFluidGenerator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockSemiFluidGenerator extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/generators/";
public BlockSemiFluidGenerator(Material material)
{
super();
setUnlocalizedName("techreborn.semifluidgenerator");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockSemiFluidGenerator(Material material) { @Override
super(); public TileEntity createNewTileEntity(World world, int p_149915_2_)
setUnlocalizedName("techreborn.semifluidgenerator"); {
setCreativeTab(TechRebornCreativeTab.instance); return new TileSemifluidGenerator();
} }
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
return new TileSemifluidGenerator(); float hitY, float hitZ)
} {
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true;
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.semifluidGeneratorID, world, x, y, z);
return true;
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public String getFront(boolean isActive)
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { {
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ return prefix + "semifluid_generator_side";
return true; }
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.semifluidGeneratorID, world, x, y,
z);
return true;
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getSide(boolean isActive)
{
return prefix + "semifluid_generator_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getTop(boolean isActive)
return prefix + "semifluid_generator_side"; {
} return prefix + "generator_machine_top";
}
@Override @Override
public String getSide(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "semifluid_generator_side" ; {
} return prefix + "generator_machine_bottom";
}
@Override
public String getTop(boolean isActive) {
return prefix + "generator_machine_top";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "generator_machine_bottom";
}
} }

View file

@ -15,52 +15,61 @@ import techreborn.tiles.generator.TileSolarPanel;
/** /**
* Created by modmuss50 on 25/02/2016. * Created by modmuss50 on 25/02/2016.
*/ */
public class BlockSolarPanel extends BaseTileBlock implements ITexturedBlock { public class BlockSolarPanel extends BaseTileBlock implements ITexturedBlock
{
public static PropertyBool ACTIVE = PropertyBool.create("active"); public static PropertyBool ACTIVE = PropertyBool.create("active");
private final String prefix = "techreborn:blocks/machine/generators/";
public BlockSolarPanel() { public BlockSolarPanel()
super(Material.iron); {
setUnlocalizedName("techreborn.solarpanel"); super(Material.iron);
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.solarpanel");
this.setDefaultState(this.getDefaultState().withProperty(ACTIVE, false)); setCreativeTab(TechRebornCreativeTab.instance);
} this.setDefaultState(this.getDefaultState().withProperty(ACTIVE, false));
}
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
ACTIVE = PropertyBool.create("active"); {
return new BlockStateContainer(this, ACTIVE); ACTIVE = PropertyBool.create("active");
} return new BlockStateContainer(this, ACTIVE);
}
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
return getDefaultState().withProperty(ACTIVE, meta == 0 ? false : true); {
} return getDefaultState().withProperty(ACTIVE, meta == 0 ? false : true);
}
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
return state.getValue(ACTIVE) == true ? 1 : 0; {
} return state.getValue(ACTIVE) == true ? 1 : 0;
}
@Override @Override
public TileEntity createNewTileEntity(World worldIn, int meta) { public TileEntity createNewTileEntity(World worldIn, int meta)
return new TileSolarPanel(); {
} return new TileSolarPanel();
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side)
{
boolean isActive = state.getValue(ACTIVE);
if (side == EnumFacing.UP)
{
return prefix + "solar_panel_top_" + (isActive ? "on" : "off");
} else if (side == EnumFacing.DOWN)
{
return prefix + "generator_machine_bottom";
}
return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
}
@Override @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side) { public int amountOfStates()
boolean isActive = state.getValue(ACTIVE); {
if(side == EnumFacing.UP){ return 2;
return prefix + "solar_panel_top_" + (isActive ? "on" : "off"); }
} else if(side==EnumFacing.DOWN){
return prefix + "generator_machine_bottom";
}
return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
}
@Override
public int amountOfStates() {
return 2;
}
} }

View file

@ -11,53 +11,58 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileThermalGenerator; import techreborn.tiles.generator.TileThermalGenerator;
public class BlockThermalGenerator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockThermalGenerator extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/generators/";
public BlockThermalGenerator()
{
super();
setUnlocalizedName("techreborn.thermalGenerator");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockThermalGenerator() { @Override
super(); public TileEntity createNewTileEntity(World world, int p_149915_2_)
setUnlocalizedName("techreborn.thermalGenerator"); {
setCreativeTab(TechRebornCreativeTab.instance); return new TileThermalGenerator();
} }
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
return new TileThermalGenerator(); float hitY, float hitZ)
} {
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true;
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.thermalGeneratorID, world, x, y, z);
return true;
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public String getFront(boolean isActive)
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { {
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
return true; }
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.thermalGeneratorID, world, x, y,
z);
return true;
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getSide(boolean isActive)
{
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
}
@Override
public String getTop(boolean isActive)
{
return isActive ? prefix + "thermal_generator_top_on" : prefix + "thermal_generator_top_off";
}
@Override @Override
public String getFront(boolean isActive) { public String getBottom(boolean isActive)
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off"; {
} return prefix + "generator_machine_bottom";
}
@Override
public String getSide(boolean isActive) {
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
}
@Override
public String getTop(boolean isActive) {
return isActive ? prefix + "thermal_generator_top_on" : prefix + "thermal_generator_top_off";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "generator_machine_bottom";
}
} }

View file

@ -14,35 +14,43 @@ import techreborn.tiles.generator.TileWaterMill;
/** /**
* Created by modmuss50 on 25/02/2016. * Created by modmuss50 on 25/02/2016.
*/ */
public class BlockWaterMill extends BaseTileBlock implements ITexturedBlock{ public class BlockWaterMill extends BaseTileBlock implements ITexturedBlock
{
public BlockWaterMill() { private final String prefix = "techreborn:blocks/machine/generators/";
super(Material.iron);
setUnlocalizedName("techreborn.watermill");
setCreativeTab(TechRebornCreativeTab.instance);
RebornCore.jsonDestroyer.registerObject(this);
}
@Override public BlockWaterMill()
public TileEntity createNewTileEntity(World worldIn, int meta) { {
return new TileWaterMill(); super(Material.iron);
} setUnlocalizedName("techreborn.watermill");
setCreativeTab(TechRebornCreativeTab.instance);
private final String prefix = "techreborn:blocks/machine/generators/"; RebornCore.jsonDestroyer.registerObject(this);
}
@Override @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side) { public TileEntity createNewTileEntity(World worldIn, int meta)
boolean isActive = false; {
if(side == EnumFacing.UP){ return new TileWaterMill();
return prefix + "generator_machine_bottom";// + (isActive ? "on" : "off"); }
} else if(side==EnumFacing.DOWN){
return prefix + "generator_machine_bottom";
}
return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
}
@Override @Override
public int amountOfStates() { public String getTextureNameFromState(IBlockState state, EnumFacing side)
return 2; {
} boolean isActive = false;
if (side == EnumFacing.UP)
{
return prefix + "generator_machine_bottom";// + (isActive ? "on" :
// "off");
} else if (side == EnumFacing.DOWN)
{
return prefix + "generator_machine_bottom";
}
return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
}
@Override
public int amountOfStates()
{
return 2;
}
} }

View file

@ -8,42 +8,49 @@ import net.minecraft.util.EnumFacing;
import net.minecraft.world.World; import net.minecraft.world.World;
import reborncore.RebornCore; import reborncore.RebornCore;
import reborncore.common.BaseTileBlock; import reborncore.common.BaseTileBlock;
import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.generator.TileWindMill; import techreborn.tiles.generator.TileWindMill;
/** /**
* Created by modmuss50 on 25/02/2016. * Created by modmuss50 on 25/02/2016.
*/ */
public class BlockWindMill extends BaseTileBlock implements ITexturedBlock { public class BlockWindMill extends BaseTileBlock implements ITexturedBlock
{
public BlockWindMill() { private final String prefix = "techreborn:blocks/machine/generators/";
super(Material.iron);
setUnlocalizedName("techreborn.windmill");
setCreativeTab(TechRebornCreativeTab.instance);
RebornCore.jsonDestroyer.registerObject(this);
}
@Override public BlockWindMill()
public TileEntity createNewTileEntity(World worldIn, int meta) { {
return new TileWindMill(); super(Material.iron);
} setUnlocalizedName("techreborn.windmill");
setCreativeTab(TechRebornCreativeTab.instance);
private final String prefix = "techreborn:blocks/machine/generators/"; RebornCore.jsonDestroyer.registerObject(this);
}
@Override @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side) { public TileEntity createNewTileEntity(World worldIn, int meta)
boolean isActive = false; {
if(side == EnumFacing.UP){ return new TileWindMill();
return prefix + "generator_machine_bottom";// + (isActive ? "on" : "off"); }
} else if(side==EnumFacing.DOWN){
return prefix + "generator_machine_bottom";
}
return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
}
@Override @Override
public int amountOfStates() { public String getTextureNameFromState(IBlockState state, EnumFacing side)
return 2; {
} boolean isActive = false;
if (side == EnumFacing.UP)
{
return prefix + "generator_machine_bottom";// + (isActive ? "on" :
// "off");
} else if (side == EnumFacing.DOWN)
{
return prefix + "generator_machine_bottom";
}
return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
}
@Override
public int amountOfStates()
{
return 2;
}
} }

View file

@ -1,5 +1,8 @@
package techreborn.blocks.iron_machines; package techreborn.blocks.iron_machines;
import java.util.ArrayList;
import java.util.List;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
@ -15,60 +18,68 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileAlloyFurnace; import techreborn.tiles.TileAlloyFurnace;
import java.util.ArrayList; public class BlockAlloyFurnace extends BlockMachineBase implements IRotationTexture
import java.util.List; {
public class BlockAlloyFurnace extends BlockMachineBase implements IRotationTexture { private final String prefix = "techreborn:blocks/machine/iron_machines/";
public BlockAlloyFurnace(Material material) { public BlockAlloyFurnace(Material material)
super(); {
setUnlocalizedName("techreborn.alloyfurnace"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.alloyfurnace");
} setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
return new TileAlloyFurnace(); {
} return new TileAlloyFurnace();
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
if (!player.isSneaking()) float hitY, float hitZ)
player.openGui(Core.INSTANCE, GuiHandler.alloyFurnaceID, world, x, y, z); {
return true; if (!player.isSneaking())
} player.openGui(Core.INSTANCE, GuiHandler.alloyFurnaceID, world, x, y, z);
return true;
@Override }
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
private final String prefix = "techreborn:blocks/machine/iron_machines/"; @Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
{
List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "alloy_furnace_front_off"; {
} return prefix + "alloy_furnace_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "alloy_furnace_front_on"; {
} return prefix + "alloy_furnace_front_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "iron_machine_side"; {
} return prefix + "iron_machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "iron_machine_top"; {
} return prefix + "iron_machine_top";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "iron_machine_bottom"; {
} return prefix + "iron_machine_bottom";
}
} }

View file

@ -1,5 +1,9 @@
package techreborn.blocks.iron_machines; package techreborn.blocks.iron_machines;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
@ -18,95 +22,106 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileIronFurnace; import techreborn.tiles.TileIronFurnace;
import java.util.ArrayList; public class BlockIronFurnace extends BlockMachineBase implements IRotationTexture
import java.util.List; {
import java.util.Random;
public class BlockIronFurnace extends BlockMachineBase implements IRotationTexture { private final String prefix = "techreborn:blocks/machine/iron_machines/";
public BlockIronFurnace() { public BlockIronFurnace()
{
super(); super();
setUnlocalizedName("techreborn.ironfurnace"); setUnlocalizedName("techreborn.ironfurnace");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
return new TileIronFurnace();
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.ironFurnace, world, x, y, z);
return true;
}
@Override
public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
@SideOnly(Side.CLIENT)
@SuppressWarnings("incomplete-switch")
public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
{
if (this.isActive(state))
{
EnumFacing enumfacing = (EnumFacing)state.getValue(FACING);
double d0 = (double)pos.getX() + 0.5D;
double d1 = (double)pos.getY() + rand.nextDouble() * 6.0D / 16.0D;
double d2 = (double)pos.getZ() + 0.5D;
double d3 = 0.52D;
double d4 = rand.nextDouble() * 0.6D - 0.3D;
switch (enumfacing) @Override
{ public TileEntity createNewTileEntity(World world, int p_149915_2_)
case WEST: {
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]); return new TileIronFurnace();
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]); }
break;
case EAST:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
break;
case NORTH:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, new int[0]);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, new int[0]);
break;
case SOUTH:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, new int[0]);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, new int[0]);
}
}
}
private final String prefix = "techreborn:blocks/machine/iron_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.ironFurnace, world, x, y, z);
return true;
}
@Override @Override
public String getFrontOff() { public List<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
return prefix + "iron_furnace_front_off"; {
} List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this));
return items;
}
@Override @SideOnly(Side.CLIENT)
public String getFrontOn() { @SuppressWarnings("incomplete-switch")
return prefix + "iron_furnace_front_on"; public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
} {
if (this.isActive(state))
{
EnumFacing enumfacing = (EnumFacing) state.getValue(FACING);
double d0 = (double) pos.getX() + 0.5D;
double d1 = (double) pos.getY() + rand.nextDouble() * 6.0D / 16.0D;
double d2 = (double) pos.getZ() + 0.5D;
double d3 = 0.52D;
double d4 = rand.nextDouble() * 0.6D - 0.3D;
@Override switch (enumfacing)
public String getSide() { {
return prefix + "iron_machine_side"; case WEST:
} worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D,
new int[0]);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
break;
case EAST:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D,
new int[0]);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
break;
case NORTH:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D,
new int[0]);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, new int[0]);
break;
case SOUTH:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D,
new int[0]);
worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, new int[0]);
}
}
}
@Override @Override
public String getTop() { public String getFrontOff()
return prefix + "iron_machine_top"; {
} return prefix + "iron_furnace_front_off";
}
@Override @Override
public String getBottom() { public String getFrontOn()
return prefix + "iron_machine_bottom"; {
} return prefix + "iron_furnace_front_on";
}
@Override
public String getSide()
{
return prefix + "iron_machine_side";
}
@Override
public String getTop()
{
return prefix + "iron_machine_top";
}
@Override
public String getBottom()
{
return prefix + "iron_machine_bottom";
}
} }

View file

@ -11,51 +11,60 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileAssemblingMachine; import techreborn.tiles.TileAssemblingMachine;
public class BlockAssemblingMachine extends BlockMachineBase implements IRotationTexture { public class BlockAssemblingMachine extends BlockMachineBase implements IRotationTexture
{
public BlockAssemblingMachine(Material material) { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.assemblingmachine");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockAssemblingMachine(Material material)
{
super();
setUnlocalizedName("techreborn.assemblingmachine");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
return new TileAssemblingMachine(); {
} return new TileAssemblingMachine();
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
if (!player.isSneaking()) float hitY, float hitZ)
player.openGui(Core.INSTANCE, GuiHandler.assemblingmachineID, world, x, y, z); {
return true; if (!player.isSneaking())
} player.openGui(Core.INSTANCE, GuiHandler.assemblingmachineID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getFrontOff()
{
return prefix + "assembling_machine_front_off";
}
@Override @Override
public String getFrontOff() { public String getFrontOn()
return prefix + "assembling_machine_front_off"; {
} return prefix + "assembling_machine_front_on";
}
@Override @Override
public String getFrontOn() { public String getSide()
return prefix + "assembling_machine_front_on"; {
} return prefix + "machine_side";
}
@Override @Override
public String getSide() { public String getTop()
return prefix + "machine_side"; {
} return prefix + "machine_top";
}
@Override @Override
public String getTop() { public String getBottom()
return prefix + "machine_top"; {
} return prefix + "assembling_machine_top";
}
@Override
public String getBottom() {
return prefix + "assembling_machine_top";
}
} }

View file

@ -11,50 +11,60 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileChargeBench; import techreborn.tiles.TileChargeBench;
public class BlockChargeBench extends BlockMachineBase implements IRotationTexture { public class BlockChargeBench extends BlockMachineBase implements IRotationTexture
{
public BlockChargeBench(Material material) { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.chargebench");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockChargeBench(Material material)
public TileEntity createNewTileEntity(World world, int p_149915_2_) { {
return new TileChargeBench(); super();
} setUnlocalizedName("techreborn.chargebench");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, z); return new TileChargeBench();
return true; }
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, z);
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "chargeBench_side"; {
} return prefix + "chargeBench_side";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "chargeBench_side"; {
} return prefix + "chargeBench_side";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "chargeBench_side"; {
} return prefix + "chargeBench_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "chargeBench_side"; {
} return prefix + "chargeBench_side";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "chargeBench_side"; {
} return prefix + "chargeBench_side";
}
} }

View file

@ -11,51 +11,60 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileChemicalReactor; import techreborn.tiles.TileChemicalReactor;
public class BlockChemicalReactor extends BlockMachineBase implements IRotationTexture { public class BlockChemicalReactor extends BlockMachineBase implements IRotationTexture
{
public BlockChemicalReactor(Material material) { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.chemicalreactor");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockChemicalReactor(Material material)
public TileEntity createNewTileEntity(World world, int p_149915_2_) { {
return new TileChemicalReactor(); super();
} setUnlocalizedName("techreborn.chemicalreactor");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public TileEntity createNewTileEntity(World world, int p_149915_2_)
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { {
if (!player.isSneaking()) return new TileChemicalReactor();
player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, z); }
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, z);
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "chemical_reactor_side_off"; {
} return prefix + "chemical_reactor_side_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "chemical_reactor_side_on"; {
} return prefix + "chemical_reactor_side_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "machine_side"; {
} return prefix + "machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "machine_top"; {
} return prefix + "machine_top";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "chemical_reactor_bottom"; {
} return prefix + "chemical_reactor_bottom";
}
} }

View file

@ -11,48 +11,54 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileChunkLoader; import techreborn.tiles.TileChunkLoader;
public class BlockChunkLoader extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockChunkLoader extends BlockMachineBase implements IAdvancedRotationTexture
{
private final String prefix = "techreborn:blocks/machine/greg_machines/";
public BlockChunkLoader(Material material) { public BlockChunkLoader(Material material)
super(); {
setUnlocalizedName("techreborn.chunkloader"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.chunkloader");
} setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
return new TileChunkLoader(); {
} return new TileChunkLoader();
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { float hitY, float hitZ)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.chunkloaderID, world, x, y, if (!player.isSneaking())
z); player.openGui(Core.INSTANCE, GuiHandler.chunkloaderID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getFront(boolean isActive)
{
return prefix + "industrial_chunk_loader_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "industrial_chunk_loader_side"; {
} return prefix + "industrial_chunk_loader_side";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "industrial_chunk_loader_side" ; {
} return prefix + "machine_top";
}
@Override @Override
public String getTop(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "machine_top"; {
} return prefix + "machine_bottom";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "machine_bottom";
}
} }

View file

@ -11,50 +11,60 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileMatterFabricator; import techreborn.tiles.TileMatterFabricator;
public class BlockMatterFabricator extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockMatterFabricator extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockMatterFabricator(Material material) { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.matterfabricator");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockMatterFabricator(Material material)
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileMatterFabricator(); super();
} setUnlocalizedName("techreborn.matterfabricator");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.matterfabID, world, x, y, z); return new TileMatterFabricator();
return true; }
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.matterfabID, world, x, y, z);
return true;
}
@Override @Override
public boolean isAdvanced() { public boolean isAdvanced()
return true; {
} return true;
}
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off"; {
} return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off";
}
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off"; {
} return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off";
}
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off"; {
} return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off";
}
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off"; {
} return isActive ? prefix + "matter_fabricator_on" : prefix + "matter_fabricator_off";
}
} }

View file

@ -11,45 +11,54 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileRollingMachine; import techreborn.tiles.TileRollingMachine;
public class BlockRollingMachine extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockRollingMachine extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockRollingMachine(Material material) { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.rollingmachine");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override public BlockRollingMachine(Material material)
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { {
return new TileRollingMachine(); super();
} setUnlocalizedName("techreborn.rollingmachine");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.rollingMachineID, world, x, y, z); return new TileRollingMachine();
return true; }
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.rollingMachineID, world, x, y, z);
return true;
}
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
return isActive ? prefix + "rolling_machine_side_on" : prefix + "rolling_machine_side_off"; {
} return isActive ? prefix + "rolling_machine_side_on" : prefix + "rolling_machine_side_off";
}
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
return prefix + "machine_side"; {
} return prefix + "machine_side";
}
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
return prefix + "machine_top"; {
} return prefix + "machine_top";
}
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "machine_bottom"; {
} return prefix + "machine_bottom";
}
} }

View file

@ -11,51 +11,62 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileScrapboxinator; import techreborn.tiles.TileScrapboxinator;
public class BlockScrapboxinator extends BlockMachineBase implements IRotationTexture{ public class BlockScrapboxinator extends BlockMachineBase implements IRotationTexture
{
public BlockScrapboxinator(Material material) { private final String prefix = "techreborn:blocks/machine/greg_machines/";
super();
setUnlocalizedName("techreborn.scrapboxinator"); public BlockScrapboxinator(Material material)
setCreativeTab(TechRebornCreativeTab.instance); {
super();
setUnlocalizedName("techreborn.scrapboxinator");
setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileScrapboxinator();
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
if (!player.isSneaking()){ {
player.openGui(Core.INSTANCE, GuiHandler.scrapboxinatorID, world, x, y, z); return new TileScrapboxinator();
} }
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
float hitY, float hitZ)
{
if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.scrapboxinatorID, world, x, y, z);
}
return true;
}
@Override @Override
public String getFrontOff() { public String getFrontOff()
return prefix + "scrapboxinator_front_off"; {
} return prefix + "scrapboxinator_front_off";
}
@Override @Override
public String getFrontOn() { public String getFrontOn()
return prefix + "scrapboxinator_front_on"; {
} return prefix + "scrapboxinator_front_on";
}
@Override @Override
public String getSide() { public String getSide()
return prefix + "machine_side"; {
} return prefix + "machine_side";
}
@Override @Override
public String getTop() { public String getTop()
return prefix + "machine_top"; {
} return prefix + "machine_top";
}
@Override @Override
public String getBottom() { public String getBottom()
return prefix + "machine_bottom"; {
} return prefix + "machine_bottom";
}
} }

Some files were not shown because too many files have changed in this diff Show more