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,7 +89,8 @@ 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
@ -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
@ -110,7 +120,8 @@ public class Core {
// 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
@ -142,16 +153,19 @@ public class Core {
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,32 +1,32 @@
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, public AchievementMod(String name, int x, int y, ItemStack icon, Achievement parent)
Achievement parent) { {
super("achievement.techreborn:" + name, "TechReborn:" + name, x, y, super("achievement.techreborn:" + name, "TechReborn:" + name, x, y, icon, parent);
icon, parent);
achievements.add(this); achievements.add(this);
registerStat(); registerStat();
} }
public AchievementMod(String name, int x, int y, Item icon, public AchievementMod(String name, int x, int y, Item 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, 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);
} }

View file

@ -8,26 +8,29 @@ 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(); ItemStack stack = event.pickedUp.getEntityItem();
if (stack != null && stack.getItem() instanceof IPickupAchievement) { if (stack != null && stack.getItem() instanceof IPickupAchievement)
Achievement achievement = ((IPickupAchievement) stack.getItem()) {
.getAchievementOnPickup(stack, event.player, event.pickedUp); Achievement achievement = ((IPickupAchievement) stack.getItem()).getAchievementOnPickup(stack, event.player,
event.pickedUp);
if (achievement != null) if (achievement != null)
event.player.addStat(achievement, 1); 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,7 +7,8 @@ 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;
@ -16,19 +17,15 @@ public class TRAchievements {
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
.size()]));
AchievementPage.registerAchievementPage(techrebornPage); 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,42 +15,42 @@ 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 {
private final List<IRecipe> recipes = new ArrayList<IRecipe>();
public static final RollingMachineRecipe instance = new RollingMachineRecipe(); public static final RollingMachineRecipe instance = new RollingMachineRecipe();
private final List<IRecipe> recipes = new ArrayList<IRecipe>();
public void addShapedOreRecipe(ItemStack outputItemStack, public void addShapedOreRecipe(ItemStack outputItemStack, Object... objectInputs)
Object... objectInputs) { {
recipes.add(new ShapedOreRecipe(outputItemStack, objectInputs)); recipes.add(new ShapedOreRecipe(outputItemStack, objectInputs));
} }
public void addShapelessOreRecipe(ItemStack outputItemStack, public void addShapelessOreRecipe(ItemStack outputItemStack, Object... objectInputs)
Object... objectInputs) { {
recipes recipes.add(new ShapelessOreRecipe(outputItemStack, objectInputs));
.add(new ShapelessOreRecipe(outputItemStack, objectInputs));
} }
public void addRecipe(ItemStack output, Object... components) { public void addRecipe(ItemStack output, Object... components)
{
String s = ""; String s = "";
int i = 0; int i = 0;
int j = 0; int j = 0;
int k = 0; int k = 0;
if (components[i] instanceof String[]) { if (components[i] instanceof String[])
{
String as[] = (String[]) components[i++]; String as[] = (String[]) components[i++];
for (int l = 0; l < as.length; l++) { for (int l = 0; l < as.length; l++)
{
String s2 = as[l]; String s2 = as[l];
k++; k++;
j = s2.length(); j = s2.length();
s = (new StringBuilder()).append(s).append(s2).toString(); s = (new StringBuilder()).append(s).append(s2).toString();
} }
} else { } else
while (components[i] instanceof String) { {
while (components[i] instanceof String)
{
String s1 = (String) components[i++]; String s1 = (String) components[i++];
k++; k++;
j = s1.length(); j = s1.length();
@ -54,26 +58,32 @@ public class RollingMachineRecipe {
} }
} }
HashMap hashmap = new HashMap(); HashMap hashmap = new HashMap();
for (; i < components.length; i += 2) { for (; i < components.length; i += 2)
{
Character character = (Character) components[i]; Character character = (Character) components[i];
ItemStack itemstack1 = null; ItemStack itemstack1 = null;
if (components[i + 1] instanceof Item) { if (components[i + 1] instanceof Item)
{
itemstack1 = new ItemStack((Item) components[i + 1]); itemstack1 = new ItemStack((Item) components[i + 1]);
} else if (components[i + 1] instanceof Block) { } else if (components[i + 1] instanceof Block)
{
itemstack1 = new ItemStack((Block) components[i + 1], 1, -1); itemstack1 = new ItemStack((Block) components[i + 1], 1, -1);
} else if (components[i + 1] instanceof ItemStack) { } else if (components[i + 1] instanceof ItemStack)
{
itemstack1 = (ItemStack) components[i + 1]; itemstack1 = (ItemStack) components[i + 1];
} }
hashmap.put(character, itemstack1); hashmap.put(character, itemstack1);
} }
ItemStack recipeArray[] = new ItemStack[j * k]; ItemStack recipeArray[] = new ItemStack[j * k];
for (int i1 = 0; i1 < j * k; i1++) { for (int i1 = 0; i1 < j * k; i1++)
{
char c = s.charAt(i1); char c = s.charAt(i1);
if (hashmap.containsKey(Character.valueOf(c))) { if (hashmap.containsKey(Character.valueOf(c)))
recipeArray[i1] = ((ItemStack) hashmap {
.get(Character.valueOf(c))).copy(); recipeArray[i1] = ((ItemStack) hashmap.get(Character.valueOf(c))).copy();
} else { } else
{
recipeArray[i1] = null; recipeArray[i1] = null;
} }
} }
@ -81,21 +91,27 @@ public class RollingMachineRecipe {
recipes.add(new ShapedRecipes(j, k, recipeArray, output)); recipes.add(new ShapedRecipes(j, k, recipeArray, output));
} }
public void addShapelessRecipe(ItemStack output, Object... components) { public void addShapelessRecipe(ItemStack output, Object... components)
{
List<ItemStack> ingredients = new ArrayList<ItemStack>(); List<ItemStack> ingredients = new ArrayList<ItemStack>();
for (int j = 0; j < components.length; j++) { for (int j = 0; j < components.length; j++)
{
Object obj = components[j]; Object obj = components[j];
if (obj instanceof ItemStack) { if (obj instanceof ItemStack)
{
ingredients.add(((ItemStack) obj).copy()); ingredients.add(((ItemStack) obj).copy());
continue; continue;
} }
if (obj instanceof Item) { if (obj instanceof Item)
{
ingredients.add(new ItemStack((Item) obj)); ingredients.add(new ItemStack((Item) obj));
continue; continue;
} }
if (obj instanceof Block) { if (obj instanceof Block)
{
ingredients.add(new ItemStack((Block) obj)); ingredients.add(new ItemStack((Block) obj));
} else { } else
{
throw new RuntimeException("Invalid shapeless recipe!"); throw new RuntimeException("Invalid shapeless recipe!");
} }
} }
@ -103,10 +119,13 @@ public class RollingMachineRecipe {
recipes.add(new ShapelessRecipes(output, ingredients)); recipes.add(new ShapelessRecipes(output, ingredients));
} }
public ItemStack findMatchingRecipe(InventoryCrafting inv, World world) { public ItemStack findMatchingRecipe(InventoryCrafting inv, World world)
for (int k = 0; k < recipes.size(); k++) { {
for (int k = 0; k < recipes.size(); k++)
{
IRecipe irecipe = (IRecipe) recipes.get(k); IRecipe irecipe = (IRecipe) recipes.get(k);
if (irecipe.matches(inv, world)) { if (irecipe.matches(inv, world))
{
return irecipe.getCraftingResult(inv); return irecipe.getCraftingResult(inv);
} }
} }
@ -114,7 +133,8 @@ public class RollingMachineRecipe {
return null; return null;
} }
public List<IRecipe> getRecipeList() { public List<IRecipe> getRecipeList()
{
return recipes; 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) { {
public RegisteredItemRecipe(String message)
{
super(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 { {
try
{
Object e = Class.forName("techreborn.init.ModBlocks").getField(name).get(null); Object e = Class.forName("techreborn.init.ModBlocks").getField(name).get(null);
return e instanceof Block ? (Block) e : null; return e instanceof Block ? (Block) e : null;
} catch (NoSuchFieldException e1) { } catch (NoSuchFieldException e1)
{
e1.printStackTrace(); e1.printStackTrace();
return null; return null;
} catch (IllegalAccessException e) { } catch (IllegalAccessException e)
{
e.printStackTrace(); e.printStackTrace();
return null; return null;
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e)
{
e.printStackTrace(); e.printStackTrace();
return null; 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 { {
try
{
Object e = Class.forName("techreborn.init.ModItems").getField(name).get(null); Object e = Class.forName("techreborn.init.ModItems").getField(name).get(null);
return e instanceof Item ? (Item) e : null; return e instanceof Item ? (Item) e : null;
} catch (NoSuchFieldException e1) { } catch (NoSuchFieldException e1)
{
e1.printStackTrace(); e1.printStackTrace();
return null; return null;
} catch (IllegalAccessException e) { } catch (IllegalAccessException e)
{
e.printStackTrace(); e.printStackTrace();
return null; return null;
} catch (ClassNotFoundException e) { } catch (ClassNotFoundException e)
{
e.printStackTrace(); e.printStackTrace();
return null; return null;
} }
} }
/* /*
*
Items * Items
*
gems * gems ingots nuggets dusts smallDusts tinyDusts parts cells rockCutter
ingots * lithiumBatpack lapotronpack omniTool advancedDrill lapotronicOrb manuel
nuggets * uuMatter plate rods crushedOre purifiedCrushedOre cloakingDevice
dusts *
smallDusts * bucketBerylium bucketcalcium bucketcalciumcarbonate bucketChlorite
tinyDusts * bucketDeuterium bucketGlyceryl bucketHelium bucketHelium3
parts * bucketHeliumplasma bucketHydrogen bucketLithium bucketMercury
cells * bucketMethane bucketNitrocoalfuel bucketNitrofuel bucketNitrogen
rockCutter * bucketNitrogendioxide bucketPotassium bucketSilicon bucketSodium
lithiumBatpack * bucketSodiumpersulfate bucketTritium bucketWolframium
lapotronpack *
omniTool * hammerIron hammerDiamond upgrades farmPatten
advancedDrill *
lapotronicOrb
manuel
uuMatter
plate
rods
crushedOre
purifiedCrushedOre
cloakingDevice
bucketBerylium
bucketcalcium
bucketcalciumcarbonate
bucketChlorite
bucketDeuterium
bucketGlyceryl
bucketHelium
bucketHelium3
bucketHeliumplasma
bucketHydrogen
bucketLithium
bucketMercury
bucketMethane
bucketNitrocoalfuel
bucketNitrofuel
bucketNitrogen
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,9 +1,9 @@
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
@ -26,13 +26,14 @@ public class FusionReactorRecipe {
*/ */
ItemStack output; ItemStack output;
/** /**
* This is the required eu that has to be in the rector for the reaction to start * This is the required eu that has to be in the rector for the reaction to
* start
*/ */
double startEU; 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. * 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; double euTick;
@ -43,14 +44,22 @@ public class FusionReactorRecipe {
/** /**
* *
* @param topInput This is the top slot stack * @param topInput
* @param bottomInput This is the bottom slot stack * This is the top slot stack
* @param output This is the output stack * @param bottomInput
* @param startEU This is the inital EU amount * This is the bottom slot stack
* @param euTick This is the eu that is transfured every tick * @param output
* @param tickTime This is the time the recipe takes to process * 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) { public FusionReactorRecipe(ItemStack topInput, ItemStack bottomInput, ItemStack output, double startEU,
double euTick, int tickTime)
{
this.topInput = topInput; this.topInput = topInput;
this.bottomInput = bottomInput; this.bottomInput = bottomInput;
this.output = output; this.output = output;
@ -59,28 +68,33 @@ public class FusionReactorRecipe {
this.tickTime = tickTime; this.tickTime = tickTime;
} }
public ItemStack getTopInput()
public ItemStack getTopInput() { {
return topInput; return topInput;
} }
public ItemStack getBottomInput() { public ItemStack getBottomInput()
{
return bottomInput; return bottomInput;
} }
public ItemStack getOutput() { public ItemStack getOutput()
{
return output; return output;
} }
public double getStartEU() { public double getStartEU()
{
return startEU; return startEU;
} }
public double getEuTick() { public double getEuTick()
{
return euTick; return euTick;
} }
public int getTickTime() { public int getTickTime()
{
return tickTime; return tickTime;
} }
} }

View file

@ -1,9 +1,9 @@
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
@ -13,9 +13,11 @@ public class FusionReactorRecipeHelper {
/** /**
* 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){ public static void registerRecipe(FusionReactorRecipe reactorRecipe)
{
reactorRecipes.add(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,27 +1,25 @@
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 String name; public BaseRecipe(String name, int tickTime, int euPerTick)
{
public int tickTime;
public int euPerTick;
public BaseRecipe(String name, int tickTime, int euPerTick) {
inputs = new ArrayList<ItemStack>(); inputs = new ArrayList<ItemStack>();
outputs = new ArrayList<ItemStack>(); outputs = new ArrayList<ItemStack>();
this.name = name; this.name = name;
@ -31,62 +29,73 @@ public abstract class BaseRecipe implements IBaseRecipeType, Cloneable {
} }
@Override @Override
public ItemStack getOutput(int i) { public ItemStack getOutput(int i)
{
return outputs.get(i).copy(); return outputs.get(i).copy();
} }
@Override @Override
public int getOutputsSize() { public int getOutputsSize()
{
return outputs.size(); return outputs.size();
} }
public void addOutput(ItemStack stack) { public void addOutput(ItemStack stack)
{
outputs.add(stack); outputs.add(stack);
} }
@Override @Override
public List<ItemStack> getInputs() { public List<ItemStack> getInputs()
{
return inputs; return inputs;
} }
@Override @Override
public String getRecipeName() { public String getRecipeName()
{
return name; return name;
} }
@Override @Override
public int tickTime() { public int tickTime()
{
return tickTime; return tickTime;
} }
@Override @Override
public int euPerTick() { public int euPerTick()
{
return euPerTick; return euPerTick;
} }
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean canCraft(TileEntity tile)
{
return true; return true;
} }
@Override @Override
public boolean onCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
{
return true; return true;
} }
@Override @Override
public Object clone() throws CloneNotSupportedException { public Object clone() throws CloneNotSupportedException
{
return super.clone(); return super.clone();
} }
@Override @Override
public boolean useOreDic() { public boolean useOreDic()
{
return true; return true;
} }
@Override @Override
public List<ItemStack> getOutputs() { public List<ItemStack> getOutputs()
{
return outputs; return outputs;
} }
} }

View file

@ -1,14 +1,15 @@
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
@ -19,7 +20,9 @@ public interface IBaseRecipeType {
/** /**
* This gets the output form the array list * This gets the output form the array list
* @param i get output form position in arraylist *
* @param i
* get output form position in arraylist
* @return the output * @return the output
*/ */
public ItemStack getOutput(int i); public ItemStack getOutput(int i);
@ -35,8 +38,8 @@ public interface IBaseRecipeType {
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
*/ */
@ -50,7 +53,8 @@ public interface IBaseRecipeType {
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
*/ */
@ -64,13 +68,15 @@ public interface IBaseRecipeType {
public int euPerTick(); public int euPerTick();
/** /**
* @param tile the tile that is doing the crafting * @param tile
* the tile that is doing the crafting
* @return if true the recipe will craft, if false it will not * @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
* the tile that is doing the crafting
* @return return true if fluid was taken and should craft * @return return true if fluid was taken and should craft
*/ */
public boolean onCraft(TileEntity tile); public boolean onCraft(TileEntity tile);

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,12 +10,11 @@ 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
@ -46,30 +47,60 @@ public class RecipeCrafter {
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
* @param inventory
* The inventory of the machine
* @param inputSlots
* A list of the input slot ids
* @param outputSlots
* A list of output slot ids
*/ */
public RecipeCrafter(String recipeName, TileMachineBase parentTile, int inputs, int outputs, Inventory inventory, int[] inputSlots, int[] outputSlots) { public RecipeCrafter(String recipeName, TileMachineBase parentTile, int inputs, int outputs, Inventory inventory,
int[] inputSlots, int[] outputSlots)
{
this.recipeName = recipeName; this.recipeName = recipeName;
this.parentTile = parentTile; this.parentTile = parentTile;
if (parentTile instanceof IEnergyInterfaceTile) { if (parentTile instanceof IEnergyInterfaceTile)
{
energy = (IEnergyInterfaceTile) parentTile; energy = (IEnergyInterfaceTile) parentTile;
} }
this.inputs = inputs; this.inputs = inputs;
@ -79,84 +110,87 @@ public class RecipeCrafter {
this.outputSlots = outputSlots; this.outputSlots = 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;
/** /**
* Call this on the tile tick * Call this on the tile tick
*/ */
public void updateEntity() { public void updateEntity()
if (parentTile.getWorld().isRemote) { {
if (parentTile.getWorld().isRemote)
{
return; return;
} }
ticksSinceLastChange++; ticksSinceLastChange++;
if (ticksSinceLastChange == 20) {//Force a has chanced every second if (ticksSinceLastChange == 20)
{// Force a has chanced every second
inventory.hasChanged = true; inventory.hasChanged = true;
ticksSinceLastChange = 0; ticksSinceLastChange = 0;
} }
if (currentRecipe == null && inventory.hasChanged) {//It will now look for new recipes. if (currentRecipe == null && inventory.hasChanged)
{// It will now look for new recipes.
currentTickTime = 0; currentTickTime = 0;
for (IBaseRecipeType recipe : RecipeHandler.getRecipeClassFromName(recipeName)) { for (IBaseRecipeType recipe : RecipeHandler.getRecipeClassFromName(recipeName))
if (recipe.canCraft(parentTile) && hasAllInputs(recipe)) {//This checks to see if it has all of the inputs {
if (recipe.canCraft(parentTile) && hasAllInputs(recipe))
{// This checks to see if it has all of the inputs
boolean canGiveInvAll = true; boolean canGiveInvAll = true;
for (int i = 0; i < recipe.getOutputsSize(); i++) {//This checks to see if it can fit all of the outputs for (int i = 0; i < recipe.getOutputsSize(); i++)
if (!canFitStack(recipe.getOutput(i), outputSlots[i], recipe.useOreDic())) { {// This checks to see if it can fit all of the outputs
if (!canFitStack(recipe.getOutput(i), outputSlots[i], recipe.useOreDic()))
{
canGiveInvAll = false; canGiveInvAll = false;
return; return;
} }
} }
if (canGiveInvAll) { if (canGiveInvAll)
setCurrentRecipe(recipe);//Sets the current recipe then syncs {
setCurrentRecipe(recipe);// Sets the current recipe then
// syncs
this.currentNeededTicks = (int) (currentRecipe.tickTime() * (1.0 - speedMultiplier)); this.currentNeededTicks = (int) (currentRecipe.tickTime() * (1.0 - speedMultiplier));
this.currentTickTime = -1; this.currentTickTime = -1;
setIsActive(); setIsActive();
} else { } else
{
this.currentTickTime = -1; this.currentTickTime = -1;
} }
} }
} }
} else { } else
if (inventory.hasChanged && !hasAllInputs()) {//If it doesn't have all the inputs reset {
if (inventory.hasChanged && !hasAllInputs())
{// If it doesn't have all the inputs reset
currentRecipe = null; currentRecipe = null;
currentTickTime = -1; currentTickTime = -1;
setIsActive(); setIsActive();
} }
if (currentRecipe != null && currentTickTime >= currentNeededTicks) {//If it has reached the recipe tick time if (currentRecipe != null && currentTickTime >= currentNeededTicks)
{// If it has reached the recipe tick time
boolean canGiveInvAll = true; boolean canGiveInvAll = true;
for (int i = 0; i < currentRecipe.getOutputsSize(); i++) {//Checks to see if it can fit the output for (int i = 0; i < currentRecipe.getOutputsSize(); i++)
if (!canFitStack(currentRecipe.getOutput(i), outputSlots[i], currentRecipe.useOreDic())) { {// Checks to see if it can fit the output
if (!canFitStack(currentRecipe.getOutput(i), outputSlots[i], currentRecipe.useOreDic()))
{
canGiveInvAll = false; canGiveInvAll = false;
} }
} }
ArrayList<Integer> filledSlots = new ArrayList<Integer>();//The slots that have been filled ArrayList<Integer> filledSlots = new ArrayList<Integer>();// The
if (canGiveInvAll && currentRecipe.onCraft(parentTile)) { // slots
for (int i = 0; i < currentRecipe.getOutputsSize(); i++) { // that
if (!filledSlots.contains(outputSlots[i])) {//checks it has not been filled // have
fitStack(currentRecipe.getOutput(i).copy(), outputSlots[i]);//fills the slot with the output stack // 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]); filledSlots.add(outputSlots[i]);
} }
} }
@ -165,26 +199,35 @@ public class RecipeCrafter {
currentTickTime = -1; currentTickTime = -1;
setIsActive(); setIsActive();
} }
} else if (currentRecipe != null && currentTickTime < currentNeededTicks) { } else if (currentRecipe != null && currentTickTime < currentNeededTicks)
if (energy.canUseEnergy(getEuPerTick())) {//This uses the power {
if (energy.canUseEnergy(getEuPerTick()))
{// This uses the power
energy.useEnergy(getEuPerTick()); energy.useEnergy(getEuPerTick());
currentTickTime++;// increase the ticktime currentTickTime++;// increase the ticktime
} }
} }
} }
if (inventory.hasChanged) { if (inventory.hasChanged)
{
inventory.hasChanged = false; inventory.hasChanged = false;
} }
} }
public boolean hasAllInputs() { public boolean hasAllInputs()
if (currentRecipe == null) { {
if (currentRecipe == null)
{
return false; return false;
} }
for (ItemStack input : currentRecipe.getInputs()) { for (ItemStack input : currentRecipe.getInputs())
{
Boolean hasItem = false; Boolean hasItem = false;
for (int inputSlot : inputSlots) {//Checks to see if it can find the input for (int inputSlot : inputSlots)
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputSlot), true, true, currentRecipe.useOreDic()) && inventory.getStackInSlot(inputSlot).stackSize >= input.stackSize) { {// 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; hasItem = true;
} }
} }
@ -194,14 +237,20 @@ public class RecipeCrafter {
return true; return true;
} }
public boolean hasAllInputs(IBaseRecipeType recipeType) { public boolean hasAllInputs(IBaseRecipeType recipeType)
if (recipeType == null) { {
if (recipeType == null)
{
return false; return false;
} }
for (ItemStack input : recipeType.getInputs()) { for (ItemStack input : recipeType.getInputs())
{
Boolean hasItem = false; Boolean hasItem = false;
for (int inputslot : inputSlots) { for (int inputslot : inputSlots)
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputslot), true, true, recipeType.useOreDic()) && inventory.getStackInSlot(inputslot).stackSize >= input.stackSize) { {
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputslot), true, true,
recipeType.useOreDic()) && inventory.getStackInSlot(inputslot).stackSize >= input.stackSize)
{
hasItem = true; hasItem = true;
} }
} }
@ -211,13 +260,19 @@ public class RecipeCrafter {
return true; return true;
} }
public void useAllInputs() { public void useAllInputs()
if (currentRecipe == null) { {
if (currentRecipe == null)
{
return; return;
} }
for (ItemStack input : currentRecipe.getInputs()) { for (ItemStack input : currentRecipe.getInputs())
for (int inputSlot : inputSlots) {//Uses all of the inputs {
if (ItemUtils.isItemEqual(input, inventory.getStackInSlot(inputSlot), true, true, currentRecipe.useOreDic())) { 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); inventory.decrStackSize(inputSlot, input.stackSize);
break; break;
} }
@ -225,51 +280,72 @@ public class RecipeCrafter {
} }
} }
public boolean canFitStack(ItemStack stack, int slot, boolean oreDic) {//Checks to see if it can fit the stack public boolean canFitStack(ItemStack stack, int slot, boolean oreDic)
if (stack == null) { {// Checks to see if it can fit the stack
if (stack == null)
{
return true; return true;
} }
if (inventory.getStackInSlot(slot) == null) { if (inventory.getStackInSlot(slot) == null)
{
return true; return true;
} }
if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, oreDic)) { if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, oreDic))
if (stack.stackSize + inventory.getStackInSlot(slot).stackSize <= stack.getMaxStackSize()) { {
if (stack.stackSize + inventory.getStackInSlot(slot).stackSize <= stack.getMaxStackSize())
{
return true; return true;
} }
} }
return false; return false;
} }
public void fitStack(ItemStack stack, int slot) {//This fits a stack into a slot public void fitStack(ItemStack stack, int slot)
if (stack == null) { {// This fits a stack into a slot
if (stack == null)
{
return; return;
} }
if (inventory.getStackInSlot(slot) == null) {//If the slot is empty set the contents if (inventory.getStackInSlot(slot) == null)
{// If the slot is empty set the contents
inventory.setInventorySlotContents(slot, stack); inventory.setInventorySlotContents(slot, stack);
return; return;
} }
if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, currentRecipe.useOreDic())) {//If the slot has stuff in if (ItemUtils.isItemEqual(inventory.getStackInSlot(slot), stack, true, true, currentRecipe.useOreDic()))
if (stack.stackSize + inventory.getStackInSlot(slot).stackSize <= stack.getMaxStackSize()) {//Check to see if it fits {// 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(); ItemStack newStack = stack.copy();
newStack.stackSize = inventory.getStackInSlot(slot).stackSize + stack.stackSize;//Sets the new stack size newStack.stackSize = inventory.getStackInSlot(slot).stackSize + stack.stackSize;// Sets
// the
// new
// stack
// size
inventory.setInventorySlotContents(slot, newStack); inventory.setInventorySlotContents(slot, newStack);
} }
} }
} }
public void readFromNBT(NBTTagCompound tag) { public void readFromNBT(NBTTagCompound tag)
{
NBTTagCompound data = tag.getCompoundTag("Crater"); NBTTagCompound data = tag.getCompoundTag("Crater");
if (data.hasKey("currentTickTime")) if (data.hasKey("currentTickTime"))
currentTickTime = data.getInteger("currentTickTime"); currentTickTime = data.getInteger("currentTickTime");
if (parentTile != null && parentTile.getWorld() != null && parentTile.getWorld().isRemote) { if (parentTile != null && parentTile.getWorld() != null && parentTile.getWorld().isRemote)
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()); 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());
} }
} }
public void writeToNBT(NBTTagCompound tag) { public void writeToNBT(NBTTagCompound tag)
{
NBTTagCompound data = new NBTTagCompound(); NBTTagCompound data = new NBTTagCompound();
@ -278,56 +354,72 @@ public class RecipeCrafter {
tag.setTag("Crater", data); tag.setTag("Crater", data);
} }
private boolean isActive()
private boolean isActive() { {
return currentRecipe != null && energy.getEnergy() >= currentRecipe.euPerTick(); return currentRecipe != null && energy.getEnergy() >= currentRecipe.euPerTick();
} }
public void addSpeedMulti(double amount) { public void addSpeedMulti(double amount)
if (speedMultiplier + amount <= 0.99) { {
if (speedMultiplier + amount <= 0.99)
{
speedMultiplier += amount; speedMultiplier += amount;
} else { } else
{
speedMultiplier = 0.99; speedMultiplier = 0.99;
} }
} }
public void resetSpeedMulti() { public void resetSpeedMulti()
{
speedMultiplier = 0; speedMultiplier = 0;
} }
public double getSpeedMultiplier() { public double getSpeedMultiplier()
{
return speedMultiplier; return speedMultiplier;
} }
public void addPowerMulti(double amount) { public void addPowerMulti(double amount)
{
powerMultiplier += amount; powerMultiplier += amount;
} }
public void resetPowerMulti() { public void resetPowerMulti()
{
powerMultiplier = 1; powerMultiplier = 1;
} }
public double getPowerMultiplier() { public double getPowerMultiplier()
{
return powerMultiplier; return powerMultiplier;
} }
public double getEuPerTick() { public double getEuPerTick()
{
return currentRecipe.euPerTick() * powerMultiplier; return currentRecipe.euPerTick() * powerMultiplier;
} }
public void setIsActive()
public void setIsActive() { {
if(parentTile.getWorld().getBlockState(parentTile.getPos()).getBlock() instanceof BlockMachineBase){ if (parentTile.getWorld().getBlockState(parentTile.getPos()).getBlock() instanceof BlockMachineBase)
BlockMachineBase blockMachineBase = (BlockMachineBase) parentTile.getWorld().getBlockState(parentTile.getPos()).getBlock(); {
BlockMachineBase blockMachineBase = (BlockMachineBase) parentTile.getWorld()
.getBlockState(parentTile.getPos()).getBlock();
blockMachineBase.setActive(isActive(), parentTile.getWorld(), parentTile.getPos()); blockMachineBase.setActive(isActive(), parentTile.getWorld(), parentTile.getPos());
} }
parentTile.getWorld().notifyBlockUpdate(parentTile.getPos(), parentTile.getWorld().getBlockState(parentTile.getPos()), parentTile.getWorld().getBlockState(parentTile.getPos()), 3); parentTile.getWorld().notifyBlockUpdate(parentTile.getPos(),
parentTile.getWorld().getBlockState(parentTile.getPos()),
parentTile.getWorld().getBlockState(parentTile.getPos()), 3);
} }
public void setCurrentRecipe(IBaseRecipeType recipe) { public void setCurrentRecipe(IBaseRecipeType recipe)
try { {
try
{
this.currentRecipe = (IBaseRecipeType) recipe.clone(); this.currentRecipe = (IBaseRecipeType) recipe.clone();
} catch (CloneNotSupportedException e) { } catch (CloneNotSupportedException e)
{
e.printStackTrace(); e.printStackTrace();
} }
} }

View file

@ -1,23 +1,24 @@
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;
import techreborn.Core;
public class RecipeHandler
{
/** /**
* This is the array list of all of the recipes for all of the machines * This is the array list of all of the recipes for all of the machines
*/ */
public static final ArrayList<IBaseRecipeType> recipeList = new ArrayList<IBaseRecipeType>(); public static final ArrayList<IBaseRecipeType> recipeList = new ArrayList<IBaseRecipeType>();
public static HashMap<IBaseRecipeType, String> stackMap = new HashMap<IBaseRecipeType, String>(); public static HashMap<IBaseRecipeType, String> stackMap = new HashMap<IBaseRecipeType, String>();
/** /**
* This is a list of all the registered machine names. * This is a list of all the registered machine names.
@ -27,22 +28,29 @@ public class RecipeHandler {
/** /**
* Use this to get all of the recipes form a recipe name * Use this to get all of the recipes form a recipe name
* *
* @param name the name that the recipe was resisted as. * @param name
* the name that the recipe was resisted as.
* @return A list of all the recipes of a given name. * @return A list of all the recipes of a given name.
*/ */
public static List<IBaseRecipeType> getRecipeClassFromName(String name) { public static List<IBaseRecipeType> getRecipeClassFromName(String name)
{
List<IBaseRecipeType> baseRecipeList = new ArrayList<IBaseRecipeType>(); List<IBaseRecipeType> baseRecipeList = new ArrayList<IBaseRecipeType>();
for (IBaseRecipeType baseRecipe : recipeList) { for (IBaseRecipeType baseRecipe : recipeList)
if (baseRecipe.getRecipeName().equals(name)) { {
if (baseRecipe.getRecipeName().equals(name))
{
baseRecipeList.add(baseRecipe); baseRecipeList.add(baseRecipe);
} }
} }
return baseRecipeList; return baseRecipeList;
} }
public static String getUserFreindlyName(String name) { public static String getUserFreindlyName(String name)
for (IBaseRecipeType baseRecipe : recipeList) { {
if (baseRecipe.getRecipeName().equals(name)) { for (IBaseRecipeType baseRecipe : recipeList)
{
if (baseRecipe.getRecipeName().equals(name))
{
return baseRecipe.getUserFreindlyName(); return baseRecipe.getUserFreindlyName();
} }
} }
@ -52,44 +60,60 @@ public class RecipeHandler {
/** /**
* Add a recipe to the system * Add a recipe to the system
* *
* @param recipe The recipe to add to the system. * @param recipe
* The recipe to add to the system.
*/ */
public static void addRecipe(IBaseRecipeType recipe) { public static void addRecipe(IBaseRecipeType recipe)
if (recipe == null) { {
if (recipe == null)
{
return; return;
} }
if (recipeList.contains(recipe)) { if (recipeList.contains(recipe))
{
return; return;
} }
// if (!RecipeConfigManager.canLoadRecipe(recipe)) { // if (!RecipeConfigManager.canLoadRecipe(recipe)) {
// return; // return;
// } // }
if (!machineNames.contains(recipe.getRecipeName())) { if (!machineNames.contains(recipe.getRecipeName()))
{
machineNames.add(recipe.getRecipeName()); machineNames.add(recipe.getRecipeName());
} }
recipeList.add(recipe); recipeList.add(recipe);
StringBuffer buffer = new StringBuffer(); StringBuffer buffer = new StringBuffer();
for (StackTraceElement ste : Thread.currentThread().getStackTrace()) { for (StackTraceElement ste : Thread.currentThread().getStackTrace())
{
buffer.append(ste); buffer.append(ste);
} }
stackMap.put(recipe, buffer.toString()); stackMap.put(recipe, buffer.toString());
} }
public static void scanForDupeRecipes() throws Exception
public static void scanForDupeRecipes() throws Exception { {
StopWatch watch = new StopWatch(); StopWatch watch = new StopWatch();
watch.start(); watch.start();
for (IBaseRecipeType baseRecipeType : recipeList) { for (IBaseRecipeType baseRecipeType : recipeList)
for (IBaseRecipeType recipe : recipeList) { {
if (baseRecipeType != recipe && baseRecipeType.getRecipeName().equals(recipe.getRecipeName())) { for (IBaseRecipeType recipe : recipeList)
for (int i = 0; i < baseRecipeType.getInputs().size(); i++) { {
if (ItemUtils.isItemEqual(baseRecipeType.getInputs().get(i), recipe.getInputs().get(i), true, false, false)) { if (baseRecipeType != recipe && baseRecipeType.getRecipeName().equals(recipe.getRecipeName()))
{
for (int i = 0; i < baseRecipeType.getInputs().size(); i++)
{
if (ItemUtils.isItemEqual(baseRecipeType.getInputs().get(i), recipe.getInputs().get(i), true,
false, false))
{
StringBuffer itemInfo = new StringBuffer(); StringBuffer itemInfo = new StringBuffer();
for (ItemStack inputs : baseRecipeType.getInputs()) { for (ItemStack inputs : baseRecipeType.getInputs())
itemInfo.append(":" + inputs.getItem().getUnlocalizedName() + "," + inputs.getDisplayName() + "," + inputs.stackSize); {
itemInfo.append(":" + inputs.getItem().getUnlocalizedName() + ","
+ inputs.getDisplayName() + "," + inputs.stackSize);
} }
Core.logHelper.all(stackMap.get(baseRecipeType)); Core.logHelper.all(stackMap.get(baseRecipeType));
// throw new Exception("Found a duplicate recipe for " + baseRecipeType.getRecipeName() + " with inputs " + itemInfo.toString()); // throw new Exception("Found a duplicate recipe for
// " + baseRecipeType.getRecipeName() + " with
// inputs " + itemInfo.toString());
} }
} }
} }

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,9 +4,11 @@ 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); super(Reference.alloySmelteRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -17,7 +19,8 @@ public class AlloySmelterRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Alloy Smelter"; return "Alloy Smelter";
} }
} }

View file

@ -4,9 +4,11 @@ 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); super(Reference.assemblingMachineRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -17,7 +19,8 @@ public class AssemblingMachineRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Assembling Machine"; return "Assembling Machine";
} }
} }

View file

@ -6,12 +6,14 @@ 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) { public BlastFurnaceRecipe(ItemStack input1, ItemStack input2, ItemStack output1, ItemStack output2, int tickTime,
int euPerTick, int neededHeat)
{
super(Reference.blastFurnaceRecipe, tickTime, euPerTick); super(Reference.blastFurnaceRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -26,13 +28,16 @@ public class BlastFurnaceRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Blast Furnace"; return "Blast Furnace";
} }
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean canCraft(TileEntity tile)
if (tile instanceof TileBlastFurnace) { {
if (tile instanceof TileBlastFurnace)
{
TileBlastFurnace blastFurnace = (TileBlastFurnace) tile; TileBlastFurnace blastFurnace = (TileBlastFurnace) tile;
return blastFurnace.getHeat() >= neededHeat; return blastFurnace.getHeat() >= neededHeat;
} }
@ -40,7 +45,8 @@ public class BlastFurnaceRecipe extends BaseRecipe {
} }
@Override @Override
public boolean onCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
{
return super.onCraft(tile); return super.onCraft(tile);
} }
} }

View file

@ -4,9 +4,12 @@ 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,
ItemStack output4, int tickTime, int euPerTick)
{
super(Reference.centrifugeRecipe, tickTime, euPerTick); super(Reference.centrifugeRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -23,7 +26,8 @@ public class CentrifugeRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Centrifuge"; return "Centrifuge";
} }
} }

View file

@ -4,9 +4,11 @@ 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); super(Reference.chemicalReactorRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -17,7 +19,8 @@ public class ChemicalReactorRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Chemical Reactor"; return "Chemical Reactor";
} }
} }

View file

@ -1,13 +1,14 @@
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); super(Reference.compressorRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -16,7 +17,8 @@ public class CompressorRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Compressor"; return "Compressor";
} }
} }

View file

@ -1,13 +1,14 @@
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); super(Reference.extractorRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -16,7 +17,8 @@ public class ExtractorRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Extractor"; return "Extractor";
} }
} }

View file

@ -1,13 +1,14 @@
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); super(Reference.grinderRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -16,7 +17,8 @@ public class GrinderRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Grinder"; return "Grinder";
} }
} }

View file

@ -4,9 +4,12 @@ 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,
int tickTime, int euPerTick)
{
super(Reference.implosionCompressorRecipe, tickTime, euPerTick); super(Reference.implosionCompressorRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -19,7 +22,8 @@ public class ImplosionCompressorRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Implosion Compressor"; return "Implosion Compressor";
} }
} }

View file

@ -4,9 +4,14 @@ 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;
public IndustrialElectrolyzerRecipe(ItemStack inputCells, ItemStack input2, ItemStack output1, ItemStack output2,
ItemStack output3, ItemStack output4, int tickTime, int euPerTick)
{
super(Reference.industrialElectrolyzerRecipe, tickTime, euPerTick); super(Reference.industrialElectrolyzerRecipe, tickTime, euPerTick);
if (inputCells != null) if (inputCells != null)
inputs.add(inputCells); inputs.add(inputCells);
@ -23,14 +28,14 @@ public class IndustrialElectrolyzerRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Industrial Electrolyzer"; return "Industrial Electrolyzer";
} }
@Override @Override
public boolean useOreDic() { public boolean useOreDic()
{
return useOreDictionary; return useOreDictionary;
} }
private boolean useOreDictionary = true;
} }

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,11 +7,14 @@ 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,
ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick)
{
super(Reference.industrialGrinderRecipe, tickTime, euPerTick); super(Reference.industrialGrinderRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -30,22 +32,29 @@ public class IndustrialGrinderRecipe extends BaseRecipe {
} }
@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) { {
if (fluidStack == null)
{
return true; return true;
} }
if (tile instanceof TileIndustrialGrinder) { if (tile instanceof TileIndustrialGrinder)
{
TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile; TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile;
if (grinder.tank.getFluid() == null) { if (grinder.tank.getFluid() == null)
{
return false; return false;
} }
if (grinder.tank.getFluid() == fluidStack) { if (grinder.tank.getFluid() == fluidStack)
if (grinder.tank.getFluidAmount() >= fluidStack.amount) { {
if (grinder.tank.getFluidAmount() >= fluidStack.amount)
{
return true; return true;
} }
} }
@ -54,20 +63,29 @@ public class IndustrialGrinderRecipe extends BaseRecipe {
} }
@Override @Override
public boolean onCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
if (fluidStack == null) { {
if (fluidStack == null)
{
return true; return true;
} }
if (tile instanceof TileIndustrialGrinder) { if (tile instanceof TileIndustrialGrinder)
{
TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile; TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile;
if (grinder.tank.getFluid() == null) { if (grinder.tank.getFluid() == null)
{
return false; return false;
} }
if (grinder.tank.getFluid() == fluidStack) { if (grinder.tank.getFluid() == fluidStack)
if (grinder.tank.getFluidAmount() >= fluidStack.amount) { {
if (grinder.tank.getFluidAmount() > 0) { if (grinder.tank.getFluidAmount() >= fluidStack.amount)
grinder.tank.setFluid(new FluidStack(fluidStack.getFluid(), grinder.tank.getFluidAmount() - fluidStack.amount)); {
} else { if (grinder.tank.getFluidAmount() > 0)
{
grinder.tank.setFluid(new FluidStack(fluidStack.getFluid(),
grinder.tank.getFluidAmount() - fluidStack.amount));
} else
{
grinder.tank.setFluid(null); grinder.tank.setFluid(null);
} }
return true; return true;

View file

@ -7,13 +7,16 @@ 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,
ItemStack output2, ItemStack output3, int tickTime, int euPerTick)
{
super(Reference.industrialSawmillRecipe, tickTime, euPerTick); super(Reference.industrialSawmillRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -28,7 +31,9 @@ public class IndustrialSawmillRecipe extends BaseRecipe {
this.fluidStack = fluidStack; 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,
ItemStack output2, ItemStack output3, int tickTime, int euPerTick, boolean canUseOreDict)
{
super(Reference.industrialSawmillRecipe, tickTime, euPerTick); super(Reference.industrialSawmillRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -45,22 +50,29 @@ public class IndustrialSawmillRecipe extends BaseRecipe {
} }
@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) { {
if (fluidStack == null)
{
return true; return true;
} }
if (tile instanceof TileIndustrialSawmill) { if (tile instanceof TileIndustrialSawmill)
{
TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile; TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile;
if (sawmill.tank.getFluid() == null) { if (sawmill.tank.getFluid() == null)
{
return false; return false;
} }
if (sawmill.tank.getFluid()== fluidStack) { if (sawmill.tank.getFluid() == fluidStack)
if (sawmill.tank.getFluidAmount() >= fluidStack.amount) { {
if (sawmill.tank.getFluidAmount() >= fluidStack.amount)
{
return true; return true;
} }
} }
@ -69,20 +81,29 @@ public class IndustrialSawmillRecipe extends BaseRecipe {
} }
@Override @Override
public boolean onCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
if (fluidStack == null) { {
if (fluidStack == null)
{
return true; return true;
} }
if (tile instanceof TileIndustrialSawmill) { if (tile instanceof TileIndustrialSawmill)
{
TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile; TileIndustrialSawmill sawmill = (TileIndustrialSawmill) tile;
if (sawmill.tank.getFluid() == null) { if (sawmill.tank.getFluid() == null)
{
return false; return false;
} }
if (sawmill.tank.getFluid() == fluidStack) { if (sawmill.tank.getFluid() == fluidStack)
if (sawmill.tank.getFluidAmount() >= fluidStack.amount) { {
if (sawmill.tank.getFluidAmount() > 0) { if (sawmill.tank.getFluidAmount() >= fluidStack.amount)
sawmill.tank.setFluid(new FluidStack(fluidStack.getFluid(), sawmill.tank.getFluidAmount() - fluidStack.amount)); {
} else { if (sawmill.tank.getFluidAmount() > 0)
{
sawmill.tank.setFluid(new FluidStack(fluidStack.getFluid(),
sawmill.tank.getFluidAmount() - fluidStack.amount));
} else
{
sawmill.tank.setFluid(null); sawmill.tank.setFluid(null);
} }
return true; return true;
@ -93,7 +114,8 @@ public class IndustrialSawmillRecipe extends BaseRecipe {
} }
@Override @Override
public boolean useOreDic() { public boolean useOreDic()
{
return canUseOreDict; return canUseOreDict;
} }
} }

View file

@ -4,9 +4,11 @@ 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); super(Reference.plateCuttingMachineRecipe, tickTime, euPerTick);
if (input1 != null) if (input1 != null)
inputs.add(input1); inputs.add(input1);
@ -15,7 +17,8 @@ public class PlateCuttingMachineRecipe extends BaseRecipe {
} }
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
{
return "Plate Cutting Machine"; return "Plate Cutting Machine";
} }
} }

View file

@ -6,9 +6,11 @@ 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); super(Reference.vacuumFreezerRecipe, tickTime, euPerTick);
if (input != null) if (input != null)
inputs.add(input); inputs.add(input);
@ -17,14 +19,18 @@ public class VacuumFreezerRecipe extends BaseRecipe {
} }
@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)
{
if (((TileVacuumFreezer) tile).multiBlockStatus == 1)
{
return true; return true;
} }
} }

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,7 +1,7 @@
package techreborn.api.recipe.recipeConfig; package techreborn.api.recipe.recipeConfig;
public class ConfigItem
public class ConfigItem { {
String localName; String localName;
@ -11,36 +11,43 @@ public class ConfigItem {
int stackSize; int stackSize;
public String getItemName()
public String getItemName() { {
return itemName; return itemName;
} }
public void setItemName(String itemName) { public void setItemName(String itemName)
{
this.itemName = itemName; this.itemName = itemName;
} }
public int getMeta() { public int getMeta()
{
return meta; return meta;
} }
public void setMeta(int meta) { public void setMeta(int meta)
{
this.meta = meta; this.meta = meta;
} }
public int getStackSize() { public int getStackSize()
{
return stackSize; return stackSize;
} }
public void setStackSize(int stackSize) { public void setStackSize(int stackSize)
{
this.stackSize = stackSize; this.stackSize = stackSize;
} }
public String getLocalName() { public String getLocalName()
{
return localName; return localName;
} }
public void setLocalName(String localName) { public void setLocalName(String localName)
{
this.localName = localName; this.localName = localName;
} }
} }

View file

@ -2,7 +2,8 @@ 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;
@ -12,47 +13,59 @@ public class RecipeConfig {
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) { {
if (inputs == null)
{
inputs = new ArrayList<ConfigItem>(); inputs = new ArrayList<ConfigItem>();
} }
inputs.add(item); inputs.add(item);
} }
public void addOutputs(ConfigItem item) { public void addOutputs(ConfigItem item)
if (outputs == null) { {
if (outputs == null)
{
outputs = new ArrayList<ConfigItem>(); outputs = new ArrayList<ConfigItem>();
} }
outputs.add(item); outputs.add(item);

View file

@ -1,49 +1,59 @@
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;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class RecipeConfigManager
{
public static ArrayList<RecipeConfig> configs = new ArrayList<RecipeConfig>(); public static ArrayList<RecipeConfig> configs = new ArrayList<RecipeConfig>();
static File configFile = null; static File configFile = null;
public static void load(File configDir) { public static void load(File configDir)
if (configFile == null) { {
if (configFile == null)
{
configFile = new File(configDir, "techRebornRecipes.json"); configFile = new File(configDir, "techRebornRecipes.json");
} }
} }
public static void save() { public static void save()
if (configFile.exists()) { {
if (configFile.exists())
{
configFile.delete(); configFile.delete();
} }
Gson gson = new GsonBuilder().setPrettyPrinting().create(); Gson gson = new GsonBuilder().setPrettyPrinting().create();
String json = gson.toJson(configs); String json = gson.toJson(configs);
try { try
{
FileWriter writer = new FileWriter(configFile); FileWriter writer = new FileWriter(configFile);
writer.write(json); writer.write(json);
writer.close(); writer.close();
} catch (IOException e) { } catch (IOException e)
{
e.printStackTrace(); e.printStackTrace();
} }
} }
public static boolean canLoadRecipe(IBaseRecipeType recipeType)
public static boolean canLoadRecipe(IBaseRecipeType recipeType) { {
RecipeConfig config = new RecipeConfig(); RecipeConfig config = new RecipeConfig();
for (ItemStack stack : recipeType.getInputs()) { for (ItemStack stack : recipeType.getInputs())
{
config.addInputs(itemToConfig(stack)); config.addInputs(itemToConfig(stack));
} }
for (ItemStack stack : recipeType.getOutputs()) { for (ItemStack stack : recipeType.getOutputs())
{
config.addOutputs(itemToConfig(stack)); config.addOutputs(itemToConfig(stack));
} }
config.enabled = true; config.enabled = true;
@ -52,8 +62,8 @@ public class RecipeConfigManager {
return config.enabled; return config.enabled;
} }
public static ConfigItem itemToConfig(ItemStack stack)
public static ConfigItem itemToConfig(ItemStack stack) { {
ConfigItem newItem = new ConfigItem(); ConfigItem newItem = new ConfigItem();
newItem.setItemName(stack.getItem().getUnlocalizedName()); newItem.setItemName(stack.getItem().getUnlocalizedName());
newItem.setMeta(stack.getItemDamage()); newItem.setMeta(stack.getItemDamage());

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,12 +1,13 @@
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;
@ -14,26 +15,32 @@ public class UpgradeHandler {
ArrayList<Integer> slots = new ArrayList<Integer>(); ArrayList<Integer> slots = new ArrayList<Integer>();
public UpgradeHandler(RecipeCrafter crafter, Inventory inventory, int... slots) { public UpgradeHandler(RecipeCrafter crafter, Inventory inventory, int... slots)
{
this.crafter = crafter; this.crafter = crafter;
this.inventory = inventory; this.inventory = inventory;
for (int slot : slots) { for (int slot : slots)
{
this.slots.add(slot); this.slots.add(slot);
} }
} }
public void tick() { public void tick()
{
if (crafter.parentTile.getWorld().isRemote) if (crafter.parentTile.getWorld().isRemote)
return; return;
crafter.resetPowerMulti(); crafter.resetPowerMulti();
crafter.resetSpeedMulti(); crafter.resetSpeedMulti();
for (int slot : this.slots) { for (int slot : this.slots)
{
ItemStack stack = inventory.getStackInSlot(slot); ItemStack stack = inventory.getStackInSlot(slot);
if (stack != null && stack.getItem() instanceof IMachineUpgrade) { if (stack != null && stack.getItem() instanceof IMachineUpgrade)
{
((IMachineUpgrade) stack.getItem()).processUpgrade(crafter, stack); ((IMachineUpgrade) stack.getItem()).processUpgrade(crafter, stack);
} }
} }
if (crafter.currentRecipe != null) if (crafter.currentRecipe != null)
crafter.currentNeededTicks = (int) (crafter.currentRecipe.tickTime() * (1.0 - crafter.getSpeedMultiplier())); 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,43 +9,48 @@ 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(); super();
setUnlocalizedName("techreborn.computercube"); setUnlocalizedName("techreborn.computercube");
setCreativeTab(TechRebornCreativeTab.instance); 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()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, x, player.openGui(Core.INSTANCE, GuiHandler.manuelID, world, x, y, z);
y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "computer_cube"; return prefix + "computer_cube";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "computer_cube"; return prefix + "computer_cube";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "computer_cube"; return prefix + "computer_cube";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "computer_cube"; return prefix + "computer_cube";
} }

View file

@ -10,47 +10,54 @@ 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/";
public BlockDigitalChest()
{
super(); super();
setUnlocalizedName("techreborn.digitalChest"); setUnlocalizedName("techreborn.digitalChest");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileDigitalChest(); return new TileDigitalChest();
} }
@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()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.digitalChestID, world, x, player.openGui(Core.INSTANCE, GuiHandler.digitalChestID, world, x, y, z);
y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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,35 +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 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)
public BlockElectricCraftingTable(Material material) { {
super(); super();
setUnlocalizedName("techreborn.electriccraftingtable"); setUnlocalizedName("techreborn.electriccraftingtable");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "electric_crafting_table_front"; return prefix + "electric_crafting_table_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 + "electric_crafting_table_top"; return prefix + "electric_crafting_table_top";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "machine_bottom"; 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(); super();
setUnlocalizedName("techreborn.fusioncoil"); setUnlocalizedName("techreborn.fusioncoil");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@Override @Override
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
{
return prefix + "fusion_coil"; 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/";
public BlockFusionControlComputer(Material material)
{
super(); super();
setUnlocalizedName("techreborn.fusioncontrolcomputer"); setUnlocalizedName("techreborn.fusioncontrolcomputer");
setCreativeTab(TechRebornCreativeTab.instance); 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)
TileEntityFusionController tileEntityFusionController = (TileEntityFusionController) world.getTileEntity(new BlockPos(x, y, z)); {
TileEntityFusionController tileEntityFusionController = (TileEntityFusionController) world
.getTileEntity(new BlockPos(x, y, z));
tileEntityFusionController.checkCoils(); tileEntityFusionController.checkCoils();
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.fusionID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.fusionID, world, x, y, z);
z);
return true; return true;
} }
@Override @Override
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn) { public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, Entity entityIn)
{
super.onEntityCollidedWithBlock(worldIn, pos, entityIn); super.onEntityCollidedWithBlock(worldIn, pos, entityIn);
if(worldIn.getTileEntity(pos) instanceof TileEntityFusionController){ if (worldIn.getTileEntity(pos) instanceof TileEntityFusionController)
if(((TileEntityFusionController) worldIn.getTileEntity(pos)).crafingTickTime != 0 && ((TileEntityFusionController) worldIn.getTileEntity(pos)).checkCoils()){ {
if (((TileEntityFusionController) worldIn.getTileEntity(pos)).crafingTickTime != 0
&& ((TileEntityFusionController) worldIn.getTileEntity(pos)).checkCoils())
{
entityIn.attackEntityFrom(new FusionDamageSource(), 200F); entityIn.attackEntityFrom(new FusionDamageSource(), 200F);
} }
} }
} }
@Override @Override
public TileEntity createNewTileEntity(World world, int meta) { public TileEntity createNewTileEntity(World world, int meta)
{
return new TileEntityFusionController(); return new TileEntityFusionController();
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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,19 +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 BlockHighlyAdvancedMachine extends BlockMachineBase { public class BlockHighlyAdvancedMachine extends BlockMachineBase
{
public BlockHighlyAdvancedMachine(Material material) { private final String prefix = "techreborn:blocks/machine/machine_blocks/";
public BlockHighlyAdvancedMachine(Material material)
{
super(); super();
setUnlocalizedName("techreborn.highlyAdvancedMachine"); setUnlocalizedName("techreborn.highlyAdvancedMachine");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/machine_blocks/";
@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,9 +5,11 @@ 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);

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,15 +23,14 @@ 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"}; {
public BlockMachineCasing(Material material) {
super(material); super(material);
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
setUnlocalizedName("techreborn.machineCasing"); setUnlocalizedName("techreborn.machineCasing");
@ -36,26 +38,29 @@ public class BlockMachineCasing extends BlockMultiblockBase implements ITextured
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public PropertyInteger METADATA;
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(METADATA, meta); return this.getDefaultState().withProperty(METADATA, meta);
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
return (Integer) state.getValue(METADATA); return (Integer) state.getValue(METADATA);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
METADATA = PropertyInteger.create("type", 0, types.length); METADATA = PropertyInteger.create("type", 0, types.length);
return new BlockStateContainer(this, METADATA); return new BlockStateContainer(this, METADATA);
} }
public int getHeatFromState(IBlockState state) { public int getHeatFromState(IBlockState state)
switch (getMetaFromState(state)) { {
switch (getMetaFromState(state))
{
case 0: case 0:
return 1020 / 25; return 1020 / 25;
case 1: case 1:
@ -67,45 +72,54 @@ public class BlockMachineCasing extends BlockMultiblockBase implements ITextured
} }
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(this); return Item.getItemFromBlock(this);
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
for (int meta = 0; meta < types.length; meta++) { {
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta)); list.add(new ItemStack(item, 1, meta));
} }
} }
@Override @Override
public int damageDropped(IBlockState state) { public int damageDropped(IBlockState state)
{
return super.damageDropped(state); return super.damageDropped(state);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileMachineCasing(); return new TileMachineCasing();
} }
@Override @Override
public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side) { public boolean shouldSideBeRendered(IBlockState blockState, IBlockAccess worldIn, BlockPos pos, EnumFacing side)
{
Block b = worldIn.getBlockState(pos).getBlock(); Block b = worldIn.getBlockState(pos).getBlock();
return b == (Block) this ? false : super.shouldSideBeRendered(blockState, worldIn, pos, side); return b == (Block) this ? false : super.shouldSideBeRendered(blockState, worldIn, pos, side);
} }
public boolean shouldConnectToBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta) { public boolean shouldConnectToBlock(IBlockAccess blockAccess, int x, int y, int z, Block block, int meta)
{
return block == (Block) this; return block == (Block) this;
} }
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public String getTextureNameFromState(IBlockState blockState, EnumFacing facing)
{
return "techreborn:blocks/machine/machine_blocks/casing" + types[getMetaFromState(blockState)] + "_full"; return "techreborn:blocks/machine/machine_blocks/casing" + types[getMetaFromState(blockState)] + "_full";
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return types.length; 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,26 +18,14 @@ 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",
public class BlockMachineFrame extends BaseBlock implements ITexturedBlock { "machine", "advancedMachine" };
public PropertyInteger METADATA; public PropertyInteger METADATA;
public static ItemStack getFrameByName(String name, int count) { public BlockMachineFrame(Material material)
for (int i = 0; i < types.length; i++) { {
if (types[i].equalsIgnoreCase(name)) {
return new ItemStack(ModBlocks.machineframe, count, i);
}
}
throw new InvalidParameterException("The part " + name + " could not be found.");
}
public static final String[] types = new String[]
{"aluminum", "iron", "bronze", "brass", "steel", "titanium", "machine", "advancedMachine"};
public BlockMachineFrame(Material material) {
super(material); super(material);
setUnlocalizedName("techreborn.machineFrame"); setUnlocalizedName("techreborn.machineFrame");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
@ -42,43 +33,62 @@ public class BlockMachineFrame extends BaseBlock implements ITexturedBlock {
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public static ItemStack getFrameByName(String name, int count)
{
for (int i = 0; i < types.length; i++)
{
if (types[i].equalsIgnoreCase(name))
{
return new ItemStack(ModBlocks.machineframe, count, i);
}
}
throw new InvalidParameterException("The part " + name + " could not be found.");
}
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
for (int meta = 0; meta < types.length; meta++) { {
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta)); list.add(new ItemStack(item, 1, meta));
} }
} }
@Override @Override
public int damageDropped(IBlockState state) { public int damageDropped(IBlockState state)
{
return super.damageDropped(state); return super.damageDropped(state);
} }
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public String getTextureNameFromState(IBlockState blockState, EnumFacing facing)
{
return "techreborn:blocks/machine/machine_blocks/" + types[getMetaFromState(blockState)] + "_machine_block"; return "techreborn:blocks/machine/machine_blocks/" + types[getMetaFromState(blockState)] + "_machine_block";
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return types.length; return types.length;
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
return state.getValue(METADATA); return state.getValue(METADATA);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
METADATA = PropertyInteger.create("type", 0, types.length - 1); METADATA = PropertyInteger.create("type", 0, types.length - 1);
return new BlockStateContainer(this, METADATA); return new BlockStateContainer(this, METADATA);
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(METADATA, 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,10 +24,12 @@ 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); super(Material.tnt);
setUnlocalizedName("techreborn.nuke"); setUnlocalizedName("techreborn.nuke");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
@ -35,37 +37,50 @@ public class BlockNuke extends BaseBlock implements ITexturedBlock {
this.setDefaultState(this.blockState.getBaseState().withProperty(OVERLAY, false)); 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)
{
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.spawnEntityInWorld(entitynukeprimed);
// worldIn.playSoundAtEntity(entitynukeprimed, "game.tnt.primed", 1.0F, 1.0F); // 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 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; entitynukeprimed.fuse = worldIn.rand.nextInt(entitynukeprimed.fuse / 4) + entitynukeprimed.fuse / 8;
worldIn.spawnEntityInWorld(entitynukeprimed); 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) { {
if (!worldIn.isRemote && entityIn instanceof EntityArrow)
{
EntityArrow entityarrow = (EntityArrow) entityIn; EntityArrow entityarrow = (EntityArrow) entityIn;
if (entityarrow.isBurning()) { if (entityarrow.isBurning())
this.explode(worldIn, pos, state, entityarrow.shootingEntity instanceof EntityLivingBase ? (EntityLivingBase) entityarrow.shootingEntity : null); {
this.explode(worldIn, pos, state, entityarrow.shootingEntity instanceof EntityLivingBase
? (EntityLivingBase) entityarrow.shootingEntity : null);
worldIn.setBlockToAir(pos); 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); super.onBlockAdded(worldIn, pos, state);
if (worldIn.isBlockPowered(pos)) { if (worldIn.isBlockPowered(pos))
{
this.explode(worldIn, pos, state, null); this.explode(worldIn, pos, state, null);
worldIn.setBlockToAir(pos); worldIn.setBlockToAir(pos);
} }
@ -74,32 +89,40 @@ public class BlockNuke extends BaseBlock implements ITexturedBlock {
/** /**
* 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)) { {
if (worldIn.isBlockPowered(pos))
{
this.explode(worldIn, pos, state, null); this.explode(worldIn, pos, state, null);
worldIn.setBlockToAir(pos); 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,
EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ)
{
return false; return false;
} }
@Override @Override
public String getTextureNameFromState(IBlockState iBlockState, EnumFacing enumFacing) { public String getTextureNameFromState(IBlockState iBlockState, EnumFacing enumFacing)
if (iBlockState.getValue(OVERLAY)) { {
if (iBlockState.getValue(OVERLAY))
{
return "techreborn:blocks/nuke_overlay"; return "techreborn:blocks/nuke_overlay";
} }
return "techreborn:blocks/nuke"; 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;
} }
@ -108,7 +131,8 @@ public class BlockNuke extends BaseBlock implements ITexturedBlock {
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,48 +32,16 @@ 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 ItemStack getOreByName(String name, int count) {
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 static ItemStack getOreByName(String name) {
return getOreByName(name, 1);
}
public IBlockState getBlockStateFromName(String name){
int index = -1;
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 static final String[] types = new String[]
{"Galena", "Iridium", "Ruby", "Sapphire", "Bauxite", "Pyrite", "Cinnabar",
"Sphalerite", "Tungston", "Sheldonite", "Peridot", "Sodalite",
"Tetrahedrite", "Cassiterite", "Lead", "Silver"};
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 PropertyInteger METADATA;
public BlockOre(Material material) { public BlockOre(Material material)
{
super(material); super(material);
setUnlocalizedName("techreborn.ore"); setUnlocalizedName("techreborn.ore");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
@ -77,54 +50,100 @@ public class BlockOre extends BaseBlock implements ITexturedBlock, IOreNameProvi
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public static ItemStack getOreByName(String name, int count)
{
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 static ItemStack getOreByName(String name)
{
return getOreByName(name, 1);
}
public IBlockState getBlockStateFromName(String name)
{
int index = -1;
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);
}
@Deprecated @Deprecated
public ArrayList<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune) { public ArrayList<ItemStack> getDrops(IBlockAccess world, BlockPos pos, IBlockState state, int fortune)
{
int metadata = getMetaFromState(state); int metadata = getMetaFromState(state);
Random random = new Random(); Random random = new Random();
// Ruby // Ruby
if (metadata == 2) { if (metadata == 2)
OreDrop ruby = new OreDrop(ItemGems.getGemByName("ruby"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop ruby = new OreDrop(ItemGems.getGemByName("ruby"),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDrop redGarnet = new OreDrop(ItemGems.getGemByName("redGarnet"), 0.02); OreDrop redGarnet = new OreDrop(ItemGems.getGemByName("redGarnet"), 0.02);
OreDropSet set = new OreDropSet(ruby, redGarnet); OreDropSet set = new OreDropSet(ruby, redGarnet);
return set.drop(fortune, random); return set.drop(fortune, random);
} }
// Sapphire // Sapphire
if (metadata == 3) { if (metadata == 3)
OreDrop sapphire = new OreDrop(ItemGems.getGemByName("sapphire"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop sapphire = new OreDrop(ItemGems.getGemByName("sapphire"),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDrop peridot = new OreDrop(ItemGems.getGemByName("peridot"), 0.03); OreDrop peridot = new OreDrop(ItemGems.getGemByName("peridot"), 0.03);
OreDropSet set = new OreDropSet(sapphire, peridot); OreDropSet set = new OreDropSet(sapphire, peridot);
return set.drop(fortune, random); return set.drop(fortune, random);
} }
// Pyrite // Pyrite
if (metadata == 5) { if (metadata == 5)
OreDrop pyriteDust = new OreDrop(ItemDusts.getDustByName("pyrite"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop pyriteDust = new OreDrop(ItemDusts.getDustByName("pyrite"),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDropSet set = new OreDropSet(pyriteDust); OreDropSet set = new OreDropSet(pyriteDust);
return set.drop(fortune, random); return set.drop(fortune, random);
} }
// Sodolite // Sodolite
if (metadata == 11) { if (metadata == 11)
OreDrop sodalite = new OreDrop(ItemDusts.getDustByName("sodalite", 6), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop sodalite = new OreDrop(ItemDusts.getDustByName("sodalite", 6),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDrop aluminum = new OreDrop(ItemDusts.getDustByName("aluminum"), 0.50); OreDrop aluminum = new OreDrop(ItemDusts.getDustByName("aluminum"), 0.50);
OreDropSet set = new OreDropSet(sodalite, aluminum); OreDropSet set = new OreDropSet(sodalite, aluminum);
return set.drop(fortune, random); return set.drop(fortune, random);
} }
// Cinnabar // Cinnabar
if (metadata == 6) { if (metadata == 6)
OreDrop cinnabar = new OreDrop(ItemDusts.getDustByName("cinnabar"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop cinnabar = new OreDrop(ItemDusts.getDustByName("cinnabar"),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDrop redstone = new OreDrop(new ItemStack(Items.redstone), 0.25); OreDrop redstone = new OreDrop(new ItemStack(Items.redstone), 0.25);
OreDropSet set = new OreDropSet(cinnabar, redstone); OreDropSet set = new OreDropSet(cinnabar, redstone);
return set.drop(fortune, random); return set.drop(fortune, random);
} }
// Sphalerite 1, 1/8 yellow garnet // Sphalerite 1, 1/8 yellow garnet
if (metadata == 7) { if (metadata == 7)
OreDrop sphalerite = new OreDrop(ItemDusts.getDustByName("sphalerite"), ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel); {
OreDrop sphalerite = new OreDrop(ItemDusts.getDustByName("sphalerite"),
ConfigTechReborn.FortuneSecondaryOreMultiplierPerLevel);
OreDrop yellowGarnet = new OreDrop(ItemGems.getGemByName("yellowGarnet"), 0.125); OreDrop yellowGarnet = new OreDrop(ItemGems.getGemByName("yellowGarnet"), 0.125);
OreDropSet set = new OreDropSet(sphalerite, yellowGarnet); OreDropSet set = new OreDropSet(sphalerite, yellowGarnet);
return set.drop(fortune, random); return set.drop(fortune, random);
@ -136,64 +155,79 @@ public class BlockOre extends BaseBlock implements ITexturedBlock, IOreNameProvi
} }
@Override @Override
protected boolean canSilkHarvest() { protected boolean canSilkHarvest()
{
return true; return true;
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
for (int meta = 0; meta < types.length; meta++) { {
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta)); list.add(new ItemStack(item, 1, meta));
} }
} }
@Override @Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos,
EntityPlayer player)
{
return super.getPickBlock(state, target, world, pos, player); return super.getPickBlock(state, target, world, pos, player);
} }
@Override @Override
public int damageDropped(IBlockState state) { public int damageDropped(IBlockState state)
{
int meta = getMetaFromState(state); int meta = getMetaFromState(state);
if (meta == 2) { if (meta == 2)
{
return 0; return 0;
} else if (meta == 3) { } else if (meta == 3)
{
return 1; return 1;
} else if (meta == 5) { } else if (meta == 5)
{
return 60; return 60;
} }
return meta; return meta;
} }
@Override @Override
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
{
return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)]; return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)];
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return types.length; return types.length;
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(METADATA, meta); return this.getDefaultState().withProperty(METADATA, meta);
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
return state.getValue(METADATA); return state.getValue(METADATA);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
METADATA = PropertyInteger.create("type", 0, types.length - 1); METADATA = PropertyInteger.create("type", 0, types.length - 1);
return new BlockStateContainer(this, METADATA); return new BlockStateContainer(this, METADATA);
} }
@Override @Override
public String getUserLoclisedName(IBlockState state) { public String getUserLoclisedName(IBlockState state)
{
return types[state.getValue(METADATA)]; 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,44 +23,14 @@ 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 ItemStack getOreByName(String name, int count) {
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 static ItemStack getOreByName(String name) {
return getOreByName(name, 1);
}
public IBlockState getBlockStateFromName(String name){
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 static final String[] types = new String[]
{"Copper", "Tin"};
public static final String[] types = new String[] { "Copper", "Tin" };
public PropertyInteger METADATA; public PropertyInteger METADATA;
public BlockOre2(Material material) { public BlockOre2(Material material)
{
super(material); super(material);
setUnlocalizedName("techreborn.ore2"); setUnlocalizedName("techreborn.ore2");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
@ -66,58 +39,105 @@ public class BlockOre2 extends BaseBlock implements ITexturedBlock, IOreNameProv
this.setDefaultState(this.blockState.getBaseState().withProperty(METADATA, 0)); this.setDefaultState(this.blockState.getBaseState().withProperty(METADATA, 0));
} }
public static ItemStack getOreByName(String name, int count)
{
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 static ItemStack getOreByName(String name)
{
return getOreByName(name, 1);
}
public IBlockState getBlockStateFromName(String name)
{
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);
}
@Override @Override
protected boolean canSilkHarvest() { protected boolean canSilkHarvest()
{
return true; return true;
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
for (int meta = 0; meta < types.length; meta++) { {
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta)); list.add(new ItemStack(item, 1, meta));
} }
} }
@Override @Override
public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos, EntityPlayer player) { public ItemStack getPickBlock(IBlockState state, RayTraceResult target, World world, BlockPos pos,
EntityPlayer player)
{
return super.getPickBlock(state, target, world, pos, player); return super.getPickBlock(state, target, world, pos, player);
} }
@Override @Override
public int damageDropped(IBlockState state) { public int damageDropped(IBlockState state)
{
int meta = getMetaFromState(state); int meta = getMetaFromState(state);
return meta; return meta;
} }
@Override @Override
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
{
return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)]; return "techreborn:blocks/ore/ore" + types[getMetaFromState(BlockStateContainer)];
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return types.length; return types.length;
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(METADATA, meta); return this.getDefaultState().withProperty(METADATA, meta);
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
return state.getValue(METADATA); return state.getValue(METADATA);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
METADATA = PropertyInteger.create("type", 0, types.length - 1); METADATA = PropertyInteger.create("type", 0, types.length - 1);
return new BlockStateContainer(this, METADATA); return new BlockStateContainer(this, METADATA);
} }
@Override @Override
public String getUserLoclisedName(IBlockState state) { public String getUserLoclisedName(IBlockState state)
{
return types[state.getValue(METADATA)]; 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,92 +24,103 @@ 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() { public BlockPlayerDetector()
{
super(); super();
setUnlocalizedName("techreborn.playerDetector"); setUnlocalizedName("techreborn.playerDetector");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
setHardness(2f); setHardness(2f);
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0).withProperty(FACING, EnumFacing.NORTH).withProperty(ACTIVE, false)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0).withProperty(FACING, EnumFacing.NORTH)
.withProperty(ACTIVE, false));
} }
public static final String[] types = new String[]
{"all", "others", "you"};
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(this); return Item.getItemFromBlock(this);
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
for (int meta = 0; meta < types.length; meta++) { {
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta)); list.add(new ItemStack(item, 1, meta));
} }
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TilePlayerDectector(); return new TilePlayerDectector();
} }
@Override @Override
public boolean canConnectRedstone(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side) { public boolean canConnectRedstone(IBlockState state, IBlockAccess world, BlockPos pos, EnumFacing side)
{
return true; return true;
} }
@Override @Override
public boolean canProvidePower(IBlockState state) { public boolean canProvidePower(IBlockState state)
{
return true; return true;
} }
@Override @Override
public int getWeakPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { public int getWeakPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
{
TileEntity entity = blockAccess.getTileEntity(pos); TileEntity entity = blockAccess.getTileEntity(pos);
if (entity instanceof TilePlayerDectector) { if (entity instanceof TilePlayerDectector)
{
return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0; return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0;
} }
return 0; return 0;
} }
@Override @Override
public int getStrongPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side) { public int getStrongPower(IBlockState blockState, IBlockAccess blockAccess, BlockPos pos, EnumFacing side)
{
TileEntity entity = blockAccess.getTileEntity(pos); TileEntity entity = blockAccess.getTileEntity(pos);
if (entity instanceof TilePlayerDectector) { if (entity instanceof TilePlayerDectector)
{
return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0; return ((TilePlayerDectector) entity).isProvidingPower() ? 15 : 0;
} }
return 0; return 0;
} }
@Override @Override
public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer, ItemStack stack) { public void onBlockPlacedBy(World worldIn, BlockPos pos, IBlockState state, EntityLivingBase placer,
ItemStack stack)
{
super.onBlockPlacedBy(worldIn, pos, state, placer, stack); super.onBlockPlacedBy(worldIn, pos, state, placer, stack);
TileEntity tile = worldIn.getTileEntity(pos); TileEntity tile = worldIn.getTileEntity(pos);
if (tile instanceof TilePlayerDectector) { if (tile instanceof TilePlayerDectector)
{
((TilePlayerDectector) tile).owenerUdid = placer.getUniqueID().toString(); ((TilePlayerDectector) tile).owenerUdid = placer.getUniqueID().toString();
} }
} }
@Override @Override
public boolean onBlockActivated(World world, BlockPos pos, IBlockState state, EntityPlayer entityPlayer, EnumHand hand, ItemStack heldItem, EnumFacing side, float hitX, float hitY, float hitZ) { 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; // int newMeta = (world.getBlockMetadata(x, y, z) + 1) % 3;
int newMeta = getMetaFromState(state); int newMeta = getMetaFromState(state);
String message = ""; String message = "";
switch (newMeta) { switch (newMeta)
{
case 0: case 0:
message = TextFormatting.GREEN + "Detects all Players"; message = TextFormatting.GREEN + "Detects all Players";
break; break;
@ -118,7 +130,8 @@ public class BlockPlayerDetector extends BlockMachineBase implements ITexturedBl
case 2: case 2:
message = TextFormatting.BLUE + "Detects only you"; message = TextFormatting.BLUE + "Detects only you";
} }
if(!world.isRemote){ if (!world.isRemote)
{
entityPlayer.addChatComponentMessage(new TextComponentString(message)); entityPlayer.addChatComponentMessage(new TextComponentString(message));
// world.setBlockMetadataWithNotify(x, y, z, newMeta, 2); // world.setBlockMetadataWithNotify(x, y, z, newMeta, 2);
} }
@ -126,21 +139,25 @@ public class BlockPlayerDetector extends BlockMachineBase implements ITexturedBl
} }
@Override @Override
public String getTextureNameFromState(IBlockState blockState, EnumFacing facing) { public String getTextureNameFromState(IBlockState blockState, EnumFacing facing)
{
return "techreborn:blocks/machine/greg_machines/player_detector_" + types[getMetaFromState(blockState)]; return "techreborn:blocks/machine/greg_machines/player_detector_" + types[getMetaFromState(blockState)];
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return types.length; return types.length;
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
return (Integer) state.getValue(METADATA); return (Integer) state.getValue(METADATA);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL); FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);
ACTIVE = PropertyBool.create("active"); ACTIVE = PropertyBool.create("active");
METADATA = PropertyInteger.create("type", 0, types.length - 1); METADATA = PropertyInteger.create("type", 0, types.length - 1);
@ -148,7 +165,8 @@ public class BlockPlayerDetector extends BlockMachineBase implements ITexturedBl
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(METADATA, meta); return this.getDefaultState().withProperty(METADATA, meta);
} }
} }

View file

@ -15,9 +15,13 @@ 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/";
public BlockQuantumChest()
{
super(); super();
setUnlocalizedName("techreborn.quantumChest"); setUnlocalizedName("techreborn.quantumChest");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
@ -25,38 +29,41 @@ public class BlockQuantumChest extends BlockMachineBase implements IAdvancedRota
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileQuantumChest(); return new TileQuantumChest();
} }
@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)
{
if (!playerIn.isSneaking()) if (!playerIn.isSneaking())
playerIn.openGui(Core.INSTANCE, GuiHandler.quantumChestID, worldIn, pos.getX(), playerIn.openGui(Core.INSTANCE, GuiHandler.quantumChestID, worldIn, pos.getX(), pos.getY(), pos.getZ());
pos.getY(), pos.getZ());
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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

@ -11,9 +11,13 @@ 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/";
public BlockQuantumTank()
{
super(); super();
setUnlocalizedName("techreborn.quantumTank"); setUnlocalizedName("techreborn.quantumTank");
setHardness(2.0F); setHardness(2.0F);
@ -21,40 +25,47 @@ public class BlockQuantumTank extends BlockMachineBase implements IAdvancedRotat
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileQuantumTank(); return new TileQuantumTank();
} }
@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(fillBlockWithFluid(world, new BlockPos(x, y, z), player)) { float hitY, float hitZ)
{
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true; return true;
} }
if (!player.isSneaking()) { if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.quantumTankID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.quantumTankID, world, x, y, z);
} }
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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;
} }
@ -35,15 +40,15 @@ 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,23 +70,24 @@ 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;
} }
@ -94,8 +100,10 @@ public class BlockRubberLeaves extends BlockLeaves implements ITexturedBlock, IO
@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)
{ {
@ -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){ {
if (enumFacing == EnumFacing.DOWN || enumFacing == EnumFacing.UP)
{
return "techreborn:blocks/rubber_log_top"; 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,27 +108,34 @@ 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);
} }
} }
@ -123,12 +143,17 @@ public class BlockRubberLog extends Block implements ITexturedBlock {
} }
@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))); {
if (state.getValue(SAP_SIDE) == side)
{
worldIn.setBlockState(pos,
state.withProperty(HAS_SAP, false).withProperty(SAP_SIDE, EnumFacing.getHorizontal(0)));
// TODO 1.9 sounds // TODO 1.9 sounds
//worldIn.playSoundAtEntity(playerIn, "techreborn:sap_extract", 0.8F, 1F); // worldIn.playSoundAtEntity(playerIn,
if(!worldIn.isRemote){ // "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,9 +11,11 @@ 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); super(Material.wood);
RebornCore.jsonDestroyer.registerObject(this); RebornCore.jsonDestroyer.registerObject(this);
setUnlocalizedName("techreborn.rubberplank"); setUnlocalizedName("techreborn.rubberplank");
@ -22,12 +24,14 @@ public class BlockRubberPlank extends Block implements ITexturedBlock {
} }
@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"); setUnlocalizedName("techreborn.rubbersapling");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
this.setDefaultState(this.getDefaultState().withProperty(STAGE, Integer.valueOf(0))); 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)) { {
if (!net.minecraftforge.event.terraingen.TerrainGen.saplingGrowTree(worldIn, rand, pos))
{
return; return;
} }
worldIn.setBlockToAir(pos); worldIn.setBlockToAir(pos);
if(!new RubberTreeGenerator(false).generate(worldIn, rand, pos)){ if (!new RubberTreeGenerator(false).generate(worldIn, rand, pos))
worldIn.setBlockState(pos, state); //Re-add the sapling if the tree failed to grow {
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,33 +18,15 @@ 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 ItemStack getStorageBlockByName(String name, int count) {
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 ItemStack getStorageBlockByName(String name) {
return getStorageBlockByName(name, 1);
}
public static final String[] types = new String[]
{"silver", "aluminum", "titanium", "chrome", "steel", "brass", "lead",
"electrum", "zinc", "platinum", "tungsten", "nickel", "invar", "osmium",
"iridium"};
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 PropertyInteger METADATA;
public BlockStorage(Material material)
public BlockStorage(Material material) { {
super(material); super(material);
setUnlocalizedName("techreborn.storage"); setUnlocalizedName("techreborn.storage");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
@ -49,44 +34,71 @@ public class BlockStorage extends BaseBlock implements ITexturedBlock {
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public static ItemStack getStorageBlockByName(String name, int count)
{
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 ItemStack getStorageBlockByName(String name)
{
return getStorageBlockByName(name, 1);
}
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(this); return Item.getItemFromBlock(this);
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
for (int meta = 0; meta < types.length; meta++) { {
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta)); list.add(new ItemStack(item, 1, meta));
} }
} }
@Override @Override
public int damageDropped(IBlockState state) { public int damageDropped(IBlockState state)
{
return getMetaFromState(state); return getMetaFromState(state);
} }
@Override @Override
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
{
return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block"; return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block";
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return types.length; return types.length;
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(METADATA, meta); return this.getDefaultState().withProperty(METADATA, meta);
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
return state.getValue(METADATA); return state.getValue(METADATA);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
METADATA = PropertyInteger.create("type", 0, types.length - 1); METADATA = PropertyInteger.create("type", 0, types.length - 1);
return new BlockStateContainer(this, METADATA); 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,26 +19,16 @@ 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)) {
return new ItemStack(ModBlocks.storage2, count, i);
}
}
throw new InvalidParameterException("The storage block " + name + " could not be found.");
}
public static final String[] types = new String[]
{"tungstensteel", "lodestone", "tellurium", "iridium_reinforced_tungstensteel",
"iridium_reinforced_stone", "ruby", "sapphire", "peridot", "yellowGarnet", "redGarnet", "copper", "tin"};
public BlockStorage2(Material material) {
super(material); super(material);
setUnlocalizedName("techreborn.storage2"); setUnlocalizedName("techreborn.storage2");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
@ -42,49 +36,66 @@ public class BlockStorage2 extends BaseBlock implements ITexturedBlock {
this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0)); this.setDefaultState(this.getDefaultState().withProperty(METADATA, 0));
} }
public PropertyInteger METADATA; public static ItemStack getStorageBlockByName(String name, int count)
{
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.");
}
@Override @Override
public Item getItemDropped(IBlockState state, Random rand, int fortune) { public Item getItemDropped(IBlockState state, Random rand, int fortune)
{
return Item.getItemFromBlock(this); return Item.getItemFromBlock(this);
} }
@Override @Override
@SideOnly(Side.CLIENT) @SideOnly(Side.CLIENT)
public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list) { public void getSubBlocks(Item item, CreativeTabs creativeTabs, List list)
for (int meta = 0; meta < types.length; meta++) { {
for (int meta = 0; meta < types.length; meta++)
{
list.add(new ItemStack(item, 1, meta)); list.add(new ItemStack(item, 1, meta));
} }
} }
@Override @Override
public int damageDropped(IBlockState state) { public int damageDropped(IBlockState state)
{
return getMetaFromState(state); return getMetaFromState(state);
} }
@Override @Override
public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing) { public String getTextureNameFromState(IBlockState BlockStateContainer, EnumFacing facing)
{
return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block"; return "techreborn:blocks/storage/" + types[getMetaFromState(BlockStateContainer)] + "_block";
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return types.length; return types.length;
} }
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
{
return this.getDefaultState().withProperty(METADATA, meta); return this.getDefaultState().withProperty(METADATA, meta);
} }
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
{
return (Integer) state.getValue(METADATA); return (Integer) state.getValue(METADATA);
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
METADATA = PropertyInteger.create("type", 0, types.length - 1); METADATA = PropertyInteger.create("type", 0, types.length - 1);
return new BlockStateContainer(this, METADATA); return new BlockStateContainer(this, METADATA);

View file

@ -5,34 +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 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(); super();
setUnlocalizedName("techreborn.supercondensator"); setUnlocalizedName("techreborn.supercondensator");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "supercondensator_front"; return prefix + "supercondensator_front";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "supercondensator_side"; return prefix + "supercondensator_side";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "supercondensator_side"; return prefix + "supercondensator_side";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "machine_bottom"; 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/";
public BlockBlastFurnace(Material material)
{
super(); super();
setUnlocalizedName("techreborn.blastfurnace"); setUnlocalizedName("techreborn.blastfurnace");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileBlastFurnace(); return new TileBlastFurnace();
} }
@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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, z);
return true; return true;
} }
@Override @Override
public boolean isAdvanced() { public boolean isAdvanced()
{
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/advanced_machines/";
@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/";
public BlockCentrifuge()
{
super(); super();
setUnlocalizedName("techreborn.centrifuge"); setUnlocalizedName("techreborn.centrifuge");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileCentrifuge(); return new TileCentrifuge();
} }
@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)
{
if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, z);
} }
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/advanced_machines/";
@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/";
public BlockDistillationTower(Material material)
{
super(); super();
setUnlocalizedName("techreborn.distillationtower"); setUnlocalizedName("techreborn.distillationtower");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/advanced_machines/";
@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/";
public BlockImplosionCompressor(Material material)
{
super(); super();
setUnlocalizedName("techreborn.implosioncompressor"); setUnlocalizedName("techreborn.implosioncompressor");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileImplosionCompressor(); return new TileImplosionCompressor();
} }
@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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/advanced_machines/";
@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/";
public BlockIndustrialElectrolyzer(Material material)
{
super(); super();
setUnlocalizedName("techreborn.industrialelectrolyzer"); setUnlocalizedName("techreborn.industrialelectrolyzer");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileIndustrialElectrolyzer(); return new TileIndustrialElectrolyzer();
} }
@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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/advanced_machines/";
@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,22 +12,30 @@ 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/";
public BlockIndustrialGrinder(Material material)
{
super(); super();
setUnlocalizedName("techreborn.industrialgrinder"); setUnlocalizedName("techreborn.industrialgrinder");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileIndustrialGrinder(); return new TileIndustrialGrinder();
} }
@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(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ float hitY, float hitZ)
{
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true; return true;
} }
if (!player.isSneaking()) if (!player.isSneaking())
@ -35,30 +43,33 @@ public class BlockIndustrialGrinder extends BlockMachineBase implements IRotatio
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/advanced_machines/";
@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,22 +12,30 @@ 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/";
public BlockIndustrialSawmill(Material material)
{
super(); super();
setUnlocalizedName("techreborn.industrialsawmill"); setUnlocalizedName("techreborn.industrialsawmill");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileIndustrialSawmill(); return new TileIndustrialSawmill();
} }
@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(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ float hitY, float hitZ)
{
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true; return true;
} }
if (!player.isSneaking()) if (!player.isSneaking())
@ -35,30 +43,33 @@ public class BlockIndustrialSawmill extends BlockMachineBase implements IRotatio
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/advanced_machines/";
@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,23 +8,26 @@ 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); super(fluid, material);
RebornCore.jsonDestroyer.registerObject(this); RebornCore.jsonDestroyer.registerObject(this);
} }
@Override @Override
public boolean canDisplace(IBlockAccess world, BlockPos pos) { public boolean canDisplace(IBlockAccess world, BlockPos pos)
{
if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid()) if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return false; return false;
return super.canDisplace(world, pos); return super.canDisplace(world, pos);
} }
@Override @Override
public boolean displaceIfPossible(World world, BlockPos pos) { public boolean displaceIfPossible(World world, BlockPos pos)
{
if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid()) if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return false; return false;
return super.displaceIfPossible(world, pos); 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); super(fluid, material);
setUnlocalizedName(name); setUnlocalizedName(name);
this.name = 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(); super();
setUnlocalizedName("techreborn.dieselgenerator"); setUnlocalizedName("techreborn.dieselgenerator");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileDieselGenerator(); return new TileDieselGenerator();
} }
@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)){ {
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true; return true;
} }
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.dieselGeneratorID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.dieselGeneratorID, world, x, y, z);
z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "generator_machine_side"; return prefix + "generator_machine_side";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "generator_machine_side"; return prefix + "generator_machine_side";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "diesel_generator_top_off"; return prefix + "diesel_generator_top_off";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "generator_machine_bottom"; return prefix + "generator_machine_bottom";
} }
} }

View file

@ -8,41 +8,45 @@ 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)
public BlockDragonEggSiphoner(Material material) { {
super(); super();
setUnlocalizedName("techreborn.dragoneggsiphoner"); setUnlocalizedName("techreborn.dragoneggsiphoner");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileDragonEggSiphoner(); return new TileDragonEggSiphoner();
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "dragon_egg_energy_siphon_side_off"; return prefix + "dragon_egg_energy_siphon_side_off";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "dragon_egg_energy_siphon_side_off"; return prefix + "dragon_egg_energy_siphon_side_off";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "dragon_egg_energy_siphon_top"; return prefix + "dragon_egg_energy_siphon_top";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "generator_machine_bottom"; return prefix + "generator_machine_bottom";
} }

View file

@ -12,51 +12,58 @@ 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(); super();
setUnlocalizedName("techreborn.gasTurbine"); setUnlocalizedName("techreborn.gasTurbine");
setCreativeTab(TechRebornCreativeTab.instance); 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)){ {
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true; return true;
} }
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.gasTurbineID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.gasTurbineID, world, x, y, z);
z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "generator_machine_side"; return prefix + "generator_machine_side";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "generator_machine_side"; return prefix + "generator_machine_side";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "gas_generator_top"; return prefix + "gas_generator_top";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "gas_generator_bottom"; 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 @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
{
return new TileGenerator(); 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 boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
if (!player.isSneaking()){ float hitY, float hitZ)
{
if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.generatorID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.generatorID, world, x, y, z);
} }
return true; return true;
} }
@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> items = new ArrayList<ItemStack>(); List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this)); items.add(new ItemStack(this));
return items; return items;
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFrontOff() { public String getFrontOff()
{
return prefix + "generator_front_off"; return prefix + "generator_front_off";
} }
@Override @Override
public String getFrontOn() { public String getFrontOn()
{
return prefix + "generator_front_on"; return prefix + "generator_front_on";
} }
@Override @Override
public String getSide() { public String getSide()
{
return prefix + "generator_machine_side"; return prefix + "generator_machine_side";
} }
@Override @Override
public String getTop() { public String getTop()
{
return prefix + "generator_machine_top"; return prefix + "generator_machine_top";
} }
@Override @Override
public String getBottom() { public String getBottom()
{
return prefix + "generator_machine_bottom"; return prefix + "generator_machine_bottom";
} }
} }

View file

@ -8,41 +8,45 @@ 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(); super();
setUnlocalizedName("techreborn.heatgenerator"); setUnlocalizedName("techreborn.heatgenerator");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileHeatGenerator(); return new TileHeatGenerator();
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "heat_generator_side"; return prefix + "heat_generator_side";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "heat_generator_side"; return prefix + "heat_generator_side";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "heat_generator_top"; return prefix + "heat_generator_top";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "heat_generator_bottom"; 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/";
public BlockLightningRod(Material material)
{
super(); super();
setUnlocalizedName("techreborn.lightningrod"); setUnlocalizedName("techreborn.lightningrod");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@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,34 +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 BlockMagicEnergyAbsorber extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockMagicEnergyAbsorber extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockMagicEnergyAbsorber(Material material) { private final String prefix = "techreborn:blocks/machine/generators/";
public BlockMagicEnergyAbsorber(Material material)
{
super(); super();
setUnlocalizedName("techreborn.magicenergyabsorber"); setUnlocalizedName("techreborn.magicenergyabsorber");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "magic_energy_absorber_side"; return prefix + "magic_energy_absorber_side";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "magic_energy_absorber_side"; return prefix + "magic_energy_absorber_side";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "magic_energy_absorber_top"; return prefix + "magic_energy_absorber_top";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "magic_energy_absorber_bottom"; 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/";
public BlockMagicEnergyConverter(Material material)
{
super(); super();
setUnlocalizedName("techreborn.magicenergyconverter"); setUnlocalizedName("techreborn.magicenergyconverter");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "magic_energy_converter_front_off"; return prefix + "magic_energy_converter_front_off";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "magic_energy_converter_side"; return prefix + "magic_energy_converter_side";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "magic_energy_converter_top"; return prefix + "magic_energy_converter_top";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "magic_energy_converter_bottom"; 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/";
public BlockPlasmaGenerator(Material material)
{
super(); super();
setUnlocalizedName("techreborn.plasmagenerator"); setUnlocalizedName("techreborn.plasmagenerator");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@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,52 +12,58 @@ 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)
public BlockSemiFluidGenerator(Material material) { {
super(); super();
setUnlocalizedName("techreborn.semifluidgenerator"); setUnlocalizedName("techreborn.semifluidgenerator");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileSemifluidGenerator(); return new TileSemifluidGenerator();
} }
@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)){ {
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true; return true;
} }
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.semifluidGeneratorID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.semifluidGeneratorID, world, x, y, z);
z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "semifluid_generator_side"; return prefix + "semifluid_generator_side";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "semifluid_generator_side"; return prefix + "semifluid_generator_side";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return prefix + "generator_machine_top"; return prefix + "generator_machine_top";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "generator_machine_bottom"; 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); super(Material.iron);
setUnlocalizedName("techreborn.solarpanel"); setUnlocalizedName("techreborn.solarpanel");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
this.setDefaultState(this.getDefaultState().withProperty(ACTIVE, false)); this.setDefaultState(this.getDefaultState().withProperty(ACTIVE, false));
} }
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
{
ACTIVE = PropertyBool.create("active"); ACTIVE = PropertyBool.create("active");
return new BlockStateContainer(this, 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 @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side) { public String getTextureNameFromState(IBlockState state, EnumFacing side)
{
boolean isActive = state.getValue(ACTIVE); boolean isActive = state.getValue(ACTIVE);
if(side == EnumFacing.UP){ if (side == EnumFacing.UP)
{
return prefix + "solar_panel_top_" + (isActive ? "on" : "off"); return prefix + "solar_panel_top_" + (isActive ? "on" : "off");
} else if(side==EnumFacing.DOWN){ } else if (side == EnumFacing.DOWN)
{
return prefix + "generator_machine_bottom"; return prefix + "generator_machine_bottom";
} }
return prefix + "solar_panel_side_" + (isActive ? "on" : "off"); return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return 2; 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()
public BlockThermalGenerator() { {
super(); super();
setUnlocalizedName("techreborn.thermalGenerator"); setUnlocalizedName("techreborn.thermalGenerator");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileThermalGenerator(); return new TileThermalGenerator();
} }
@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)){ {
if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true; return true;
} }
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.thermalGeneratorID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.thermalGeneratorID, world, x, y, z);
z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off"; return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off"; return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
} }
@Override @Override
public String getTop(boolean isActive) { public String getTop(boolean isActive)
{
return isActive ? prefix + "thermal_generator_top_on" : prefix + "thermal_generator_top_off"; return isActive ? prefix + "thermal_generator_top_on" : prefix + "thermal_generator_top_off";
} }
@Override @Override
public String getBottom(boolean isActive) { public String getBottom(boolean isActive)
{
return prefix + "generator_machine_bottom"; return prefix + "generator_machine_bottom";
} }
} }

View file

@ -14,9 +14,13 @@ 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/";
public BlockWaterMill()
{
super(Material.iron); super(Material.iron);
setUnlocalizedName("techreborn.watermill"); setUnlocalizedName("techreborn.watermill");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
@ -24,25 +28,29 @@ public class BlockWaterMill extends BaseTileBlock implements ITexturedBlock{
} }
@Override @Override
public TileEntity createNewTileEntity(World worldIn, int meta) { public TileEntity createNewTileEntity(World worldIn, int meta)
{
return new TileWaterMill(); return new TileWaterMill();
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side) { public String getTextureNameFromState(IBlockState state, EnumFacing side)
{
boolean isActive = false; boolean isActive = false;
if(side == EnumFacing.UP){ if (side == EnumFacing.UP)
return prefix + "generator_machine_bottom";// + (isActive ? "on" : "off"); {
} else if(side==EnumFacing.DOWN){ return prefix + "generator_machine_bottom";// + (isActive ? "on" :
// "off");
} else if (side == EnumFacing.DOWN)
{
return prefix + "generator_machine_bottom"; return prefix + "generator_machine_bottom";
} }
return prefix + "solar_panel_side_" + (isActive ? "on" : "off"); return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return 2; return 2;
} }
} }

View file

@ -8,16 +8,19 @@ 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/";
public BlockWindMill()
{
super(Material.iron); super(Material.iron);
setUnlocalizedName("techreborn.windmill"); setUnlocalizedName("techreborn.windmill");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
@ -25,25 +28,29 @@ public class BlockWindMill extends BaseTileBlock implements ITexturedBlock {
} }
@Override @Override
public TileEntity createNewTileEntity(World worldIn, int meta) { public TileEntity createNewTileEntity(World worldIn, int meta)
{
return new TileWindMill(); return new TileWindMill();
} }
private final String prefix = "techreborn:blocks/machine/generators/";
@Override @Override
public String getTextureNameFromState(IBlockState state, EnumFacing side) { public String getTextureNameFromState(IBlockState state, EnumFacing side)
{
boolean isActive = false; boolean isActive = false;
if(side == EnumFacing.UP){ if (side == EnumFacing.UP)
return prefix + "generator_machine_bottom";// + (isActive ? "on" : "off"); {
} else if(side==EnumFacing.DOWN){ return prefix + "generator_machine_bottom";// + (isActive ? "on" :
// "off");
} else if (side == EnumFacing.DOWN)
{
return prefix + "generator_machine_bottom"; return prefix + "generator_machine_bottom";
} }
return prefix + "solar_panel_side_" + (isActive ? "on" : "off"); return prefix + "solar_panel_side_" + (isActive ? "on" : "off");
} }
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return 2; 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(); super();
setUnlocalizedName("techreborn.alloyfurnace"); setUnlocalizedName("techreborn.alloyfurnace");
setCreativeTab(TechRebornCreativeTab.instance); 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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.alloyFurnaceID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.alloyFurnaceID, world, x, y, z);
return true; return true;
} }
@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> items = new ArrayList<ItemStack>(); List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this)); items.add(new ItemStack(this));
return items; return items;
} }
private final String prefix = "techreborn:blocks/machine/iron_machines/";
@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,32 +22,36 @@ 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 @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public TileEntity createNewTileEntity(World world, int p_149915_2_)
{
return new TileIronFurnace(); return new TileIronFurnace();
} }
@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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.ironFurnace, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.ironFurnace, world, x, y, z);
return true; return true;
} }
@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> items = new ArrayList<ItemStack>(); List<ItemStack> items = new ArrayList<ItemStack>();
items.add(new ItemStack(this)); items.add(new ItemStack(this));
return items; return items;
@ -65,48 +73,55 @@ public class BlockIronFurnace extends BlockMachineBase implements IRotationTextu
switch (enumfacing) switch (enumfacing)
{ {
case WEST: case WEST:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]); 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]); worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 - d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
break; break;
case EAST: case EAST:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]); 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]); worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d3, d1, d2 + d4, 0.0D, 0.0D, 0.0D, new int[0]);
break; break;
case NORTH: case NORTH:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, new int[0]); 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]); worldIn.spawnParticle(EnumParticleTypes.FLAME, d0 + d4, d1, d2 - d3, 0.0D, 0.0D, 0.0D, new int[0]);
break; break;
case SOUTH: case SOUTH:
worldIn.spawnParticle(EnumParticleTypes.SMOKE_NORMAL, d0 + d4, d1, d2 + d3, 0.0D, 0.0D, 0.0D, new int[0]); 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]); 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 @Override
public String getFrontOff() { public String getFrontOff()
{
return prefix + "iron_furnace_front_off"; return prefix + "iron_furnace_front_off";
} }
@Override @Override
public String getFrontOn() { public String getFrontOn()
{
return prefix + "iron_furnace_front_on"; return prefix + "iron_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

@ -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/";
public BlockAssemblingMachine(Material material)
{
super(); super();
setUnlocalizedName("techreborn.assemblingmachine"); setUnlocalizedName("techreborn.assemblingmachine");
setCreativeTab(TechRebornCreativeTab.instance); 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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.assemblingmachineID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.assemblingmachineID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@Override @Override
public String getFrontOff() { public String getFrontOff()
{
return prefix + "assembling_machine_front_off"; return prefix + "assembling_machine_front_off";
} }
@Override @Override
public String getFrontOn() { public String getFrontOn()
{
return prefix + "assembling_machine_front_on"; return prefix + "assembling_machine_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 + "assembling_machine_top"; 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/";
public BlockChargeBench(Material material)
{
super(); super();
setUnlocalizedName("techreborn.chargebench"); setUnlocalizedName("techreborn.chargebench");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileChargeBench(); return new TileChargeBench();
} }
@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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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/";
public BlockChemicalReactor(Material material)
{
super(); super();
setUnlocalizedName("techreborn.chemicalreactor"); setUnlocalizedName("techreborn.chemicalreactor");
setCreativeTab(TechRebornCreativeTab.instance); 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 TileChemicalReactor(); return new TileChemicalReactor();
} }
@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()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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(); super();
setUnlocalizedName("techreborn.chunkloader"); setUnlocalizedName("techreborn.chunkloader");
setCreativeTab(TechRebornCreativeTab.instance); 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()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chunkloaderID, world, x, y, player.openGui(Core.INSTANCE, GuiHandler.chunkloaderID, world, x, y, z);
z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@Override @Override
public String getFront(boolean isActive) { public String getFront(boolean isActive)
{
return prefix + "industrial_chunk_loader_side"; return prefix + "industrial_chunk_loader_side";
} }
@Override @Override
public String getSide(boolean isActive) { public String getSide(boolean isActive)
{
return prefix + "industrial_chunk_loader_side"; return prefix + "industrial_chunk_loader_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,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/";
public BlockMatterFabricator(Material material)
{
super(); super();
setUnlocalizedName("techreborn.matterfabricator"); setUnlocalizedName("techreborn.matterfabricator");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileMatterFabricator(); return new TileMatterFabricator();
} }
@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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.matterfabID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.matterfabID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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/";
public BlockRollingMachine(Material material)
{
super(); super();
setUnlocalizedName("techreborn.rollingmachine"); setUnlocalizedName("techreborn.rollingmachine");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileRollingMachine(); return new TileRollingMachine();
} }
@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,
float hitY, float hitZ)
{
if (!player.isSneaking()) if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.rollingMachineID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.rollingMachineID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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/";
public BlockScrapboxinator(Material material)
{
super(); super();
setUnlocalizedName("techreborn.scrapboxinator"); setUnlocalizedName("techreborn.scrapboxinator");
setCreativeTab(TechRebornCreativeTab.instance); setCreativeTab(TechRebornCreativeTab.instance);
} }
@Override @Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_)
{
return new TileScrapboxinator(); 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 boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
if (!player.isSneaking()){ float hitY, float hitZ)
{
if (!player.isSneaking())
{
player.openGui(Core.INSTANCE, GuiHandler.scrapboxinatorID, world, x, y, z); player.openGui(Core.INSTANCE, GuiHandler.scrapboxinatorID, world, x, y, z);
} }
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/";
@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