Added code formatter

This commit is contained in:
modmuss50 2016-03-24 00:39:26 +00:00
parent 710f9c04e7
commit b9448d5d90
444 changed files with 32383 additions and 26254 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,19 +37,24 @@ 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;
import techreborn.proxies.CommonProxy; import techreborn.proxies.CommonProxy;
import techreborn.tiles.idsu.IDSUManager; import techreborn.tiles.idsu.IDSUManager;
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)
@ -64,14 +73,16 @@ public class Core {
public static TechRebornWorldGen worldGen; public static TechRebornWorldGen worldGen;
@Mod.EventHandler @Mod.EventHandler
public void preinit(FMLPreInitializationEvent event) { public void preinit(FMLPreInitializationEvent event)
{
event.getModMetadata().version = ModInfo.MOD_VERSION; event.getModMetadata().version = ModInfo.MOD_VERSION;
INSTANCE = this; INSTANCE = this;
FMLCommonHandler.instance().bus().register(this); FMLCommonHandler.instance().bus().register(this);
MinecraftForge.EVENT_BUS.register(this); MinecraftForge.EVENT_BUS.register(this);
configDir = new File(event.getModConfigurationDirectory(), "techreborn"); configDir = new File(event.getModConfigurationDirectory(), "techreborn");
if(!configDir.exists()){ if (!configDir.exists())
{
configDir.mkdir(); configDir.mkdir();
} }
config = ConfigTechReborn.initialize(new File(configDir, "main.cfg")); config = ConfigTechReborn.initialize(new File(configDir, "main.cfg"));
@ -81,10 +92,11 @@ public class Core {
recipeCompact = new RecipeCompact(); recipeCompact = new RecipeCompact();
TechRebornAPI.recipeCompact = recipeCompact; TechRebornAPI.recipeCompact = recipeCompact;
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.preInit(event); compatModule.preInit(event);
} }
//Entitys // Entitys
EntityRegistry.registerModEntity(EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true); EntityRegistry.registerModEntity(EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true);
proxy.preInit(event); proxy.preInit(event);
@ -96,7 +108,8 @@ public class Core {
} }
@Mod.EventHandler @Mod.EventHandler
public void init(FMLInitializationEvent event) throws IllegalAccessException, InstantiationException { public void init(FMLInitializationEvent event) throws IllegalAccessException, InstantiationException
{
// Register ModBlocks // Register ModBlocks
ModBlocks.init(); ModBlocks.init();
// Register Fluids // Register Fluids
@ -107,10 +120,11 @@ public class Core {
ModLoot.init(); ModLoot.init();
// Multiparts // Multiparts
ModParts.init(); ModParts.init();
//Sounds // Sounds
ModSounds.init(); ModSounds.init();
// Compat // Compat
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.init(event); compatModule.init(event);
} }
// Recipes // Recipes
@ -134,24 +148,27 @@ public class Core {
MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler()); MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler());
// IDSU manager // IDSU manager
IDSUManager.INSTANCE = new IDSUManager(); IDSUManager.INSTANCE = new IDSUManager();
//Event busses // Event busses
MinecraftForge.EVENT_BUS.register(IDSUManager.INSTANCE); MinecraftForge.EVENT_BUS.register(IDSUManager.INSTANCE);
MinecraftForge.EVENT_BUS.register(new MultiblockServerTickHandler()); MinecraftForge.EVENT_BUS.register(new MultiblockServerTickHandler());
MinecraftForge.EVENT_BUS.register(new TRTickHandler()); MinecraftForge.EVENT_BUS.register(new TRTickHandler());
MinecraftForge.EVENT_BUS.register(new OreUnifier()); MinecraftForge.EVENT_BUS.register(new OreUnifier());
MinecraftForge.EVENT_BUS.register(worldGen.retroGen); MinecraftForge.EVENT_BUS.register(worldGen.retroGen);
MinecraftForge.EVENT_BUS.register(new StackWIPHandler()); MinecraftForge.EVENT_BUS.register(new StackWIPHandler());
//Scrapbox // Scrapbox
if (config.scrapboxDispenser) { if (config.scrapboxDispenser)
{
BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.scrapBox, new BehaviorDispenseScrapbox()); BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.scrapBox, new BehaviorDispenseScrapbox());
} }
logHelper.info("Initialization Complete"); logHelper.info("Initialization Complete");
} }
@Mod.EventHandler @Mod.EventHandler
public void postinit(FMLPostInitializationEvent event) throws Exception { public void postinit(FMLPostInitializationEvent event) throws Exception
{
// Has to be done here as Buildcraft registers their recipes late // Has to be done here as Buildcraft registers their recipes late
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.postInit(event); compatModule.postInit(event);
} }
proxy.postInit(event); proxy.postInit(event);
@ -164,22 +181,27 @@ public class Core {
} }
@Mod.EventHandler @Mod.EventHandler
public void serverStarting(FMLServerStartingEvent event) { public void serverStarting(FMLServerStartingEvent event)
{
event.registerServerCommand(new TechRebornDevCommand()); event.registerServerCommand(new TechRebornDevCommand());
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) { for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules)
{
compatModule.serverStarting(event); compatModule.serverStarting(event);
} }
} }
@SubscribeEvent @SubscribeEvent
public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent cfgChange) { public void onConfigChanged(ConfigChangedEvent.OnConfigChangedEvent cfgChange)
if (cfgChange.modID.equals("TechReborn")) { {
if (cfgChange.modID.equals("TechReborn"))
{
ConfigTechReborn.Configs(); ConfigTechReborn.Configs();
} }
} }
@SubscribeEvent @SubscribeEvent
public void addDiscriminator(AddDiscriminatorEvent event) { public void addDiscriminator(AddDiscriminatorEvent event)
{
event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketAesu.class); event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketAesu.class);
event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketIdsu.class); event.getPacketHandler().addDiscriminator(event.getPacketHandler().nextDiscriminator, PacketIdsu.class);
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,2 @@
@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;

View file

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

View file

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

View file

@ -1,4 +1,2 @@
@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;

View file

@ -1,92 +1,105 @@
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;
private ArrayList<ItemStack> outputs; private ArrayList<ItemStack> outputs;
public String name; public String name;
public int tickTime; public int tickTime;
public int euPerTick; public int euPerTick;
public BaseRecipe(String name, int tickTime, int euPerTick) { public BaseRecipe(String name, int tickTime, int euPerTick)
inputs = new ArrayList<ItemStack>(); {
outputs = new ArrayList<ItemStack>(); inputs = new ArrayList<ItemStack>();
this.name = name; outputs = new ArrayList<ItemStack>();
//This adds all new recipes this.name = name;
this.tickTime = tickTime; // This adds all new recipes
this.euPerTick = euPerTick; this.tickTime = tickTime;
} this.euPerTick = euPerTick;
}
@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
public List<ItemStack> getInputs()
{
return inputs;
}
@Override @Override
public List<ItemStack> getInputs() { public String getRecipeName()
return inputs; {
} return name;
}
@Override @Override
public String getRecipeName() { public int tickTime()
return name; {
} return tickTime;
}
@Override @Override
public int tickTime() { public int euPerTick()
return tickTime; {
} return euPerTick;
}
@Override @Override
public int euPerTick() { public boolean canCraft(TileEntity tile)
return euPerTick; {
} return true;
}
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
return true; {
} return true;
}
@Override @Override
public boolean onCraft(TileEntity tile) { public Object clone() throws CloneNotSupportedException
return true; {
} return super.clone();
}
@Override @Override
public Object clone() throws CloneNotSupportedException { public boolean useOreDic()
return super.clone(); {
} return true;
}
@Override @Override
public boolean useOreDic() { public List<ItemStack> getOutputs()
return true; {
} return outputs;
}
@Override
public List<ItemStack> getOutputs() {
return outputs;
}
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -4,33 +4,38 @@ import net.minecraft.item.ItemStack;
import techreborn.api.recipe.BaseRecipe; import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
public class IndustrialElectrolyzerRecipe extends BaseRecipe { public class IndustrialElectrolyzerRecipe extends BaseRecipe
{
public IndustrialElectrolyzerRecipe(ItemStack inputCells, ItemStack input2, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) { public IndustrialElectrolyzerRecipe(ItemStack inputCells, ItemStack input2, ItemStack output1, ItemStack output2,
super(Reference.industrialElectrolyzerRecipe, tickTime, euPerTick); ItemStack output3, ItemStack output4, int tickTime, int euPerTick)
if (inputCells != null) {
inputs.add(inputCells); super(Reference.industrialElectrolyzerRecipe, tickTime, euPerTick);
if (input2 != null) if (inputCells != null)
inputs.add(input2); inputs.add(inputCells);
if (output1 != null) if (input2 != null)
addOutput(output1); inputs.add(input2);
if (output2 != null) if (output1 != null)
addOutput(output2); addOutput(output1);
if (output3 != null) if (output2 != null)
addOutput(output3); addOutput(output2);
if (output4 != null) if (output3 != null)
addOutput(output4); addOutput(output3);
} if (output4 != null)
addOutput(output4);
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "Industrial Electrolyzer"; {
} return "Industrial Electrolyzer";
}
@Override @Override
public boolean useOreDic() { public boolean useOreDic()
return useOreDictionary; {
} return useOreDictionary;
}
private boolean useOreDictionary = true; 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,72 +7,91 @@ import techreborn.api.recipe.BaseRecipe;
import techreborn.lib.Reference; import techreborn.lib.Reference;
import techreborn.tiles.TileIndustrialGrinder; import techreborn.tiles.TileIndustrialGrinder;
public class IndustrialGrinderRecipe extends BaseRecipe { public class IndustrialGrinderRecipe extends BaseRecipe
{
public FluidStack fluidStack; public FluidStack fluidStack;
public IndustrialGrinderRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1, ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick) { public IndustrialGrinderRecipe(ItemStack input1, ItemStack input2, FluidStack fluidStack, ItemStack output1,
super(Reference.industrialGrinderRecipe, tickTime, euPerTick); ItemStack output2, ItemStack output3, ItemStack output4, int tickTime, int euPerTick)
if (input1 != null) {
inputs.add(input1); super(Reference.industrialGrinderRecipe, tickTime, euPerTick);
if (input2 != null) if (input1 != null)
inputs.add(input2); inputs.add(input1);
if (output1 != null) if (input2 != null)
addOutput(output1); inputs.add(input2);
if (output2 != null) if (output1 != null)
addOutput(output2); addOutput(output1);
if (output3 != null) if (output2 != null)
addOutput(output3); addOutput(output2);
if (output4 != null) if (output3 != null)
addOutput(output4); addOutput(output3);
this.fluidStack = fluidStack; if (output4 != null)
} addOutput(output4);
this.fluidStack = fluidStack;
}
@Override @Override
public String getUserFreindlyName() { public String getUserFreindlyName()
return "IndustrialGrinder"; {
} return "IndustrialGrinder";
}
@Override @Override
public boolean canCraft(TileEntity tile) { public boolean canCraft(TileEntity tile)
if (fluidStack == null) { {
return true; if (fluidStack == null)
} {
if (tile instanceof TileIndustrialGrinder) { return true;
TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile; }
if (grinder.tank.getFluid() == null) { if (tile instanceof TileIndustrialGrinder)
return false; {
} TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile;
if (grinder.tank.getFluid() == fluidStack) { if (grinder.tank.getFluid() == null)
if (grinder.tank.getFluidAmount() >= fluidStack.amount) { {
return true; return false;
} }
} if (grinder.tank.getFluid() == fluidStack)
} {
return false; if (grinder.tank.getFluidAmount() >= fluidStack.amount)
} {
return true;
}
}
}
return false;
}
@Override @Override
public boolean onCraft(TileEntity tile) { public boolean onCraft(TileEntity tile)
if (fluidStack == null) { {
return true; if (fluidStack == null)
} {
if (tile instanceof TileIndustrialGrinder) { return true;
TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile; }
if (grinder.tank.getFluid() == null) { if (tile instanceof TileIndustrialGrinder)
return false; {
} TileIndustrialGrinder grinder = (TileIndustrialGrinder) tile;
if (grinder.tank.getFluid() == fluidStack) { if (grinder.tank.getFluid() == null)
if (grinder.tank.getFluidAmount() >= fluidStack.amount) { {
if (grinder.tank.getFluidAmount() > 0) { return false;
grinder.tank.setFluid(new FluidStack(fluidStack.getFluid(), grinder.tank.getFluidAmount() - fluidStack.amount)); }
} else { if (grinder.tank.getFluid() == fluidStack)
grinder.tank.setFluid(null); {
} if (grinder.tank.getFluidAmount() >= fluidStack.amount)
return true; {
} if (grinder.tank.getFluidAmount() > 0)
} {
} grinder.tank.setFluid(new FluidStack(fluidStack.getFluid(),
return false; grinder.tank.getFluidAmount() - fluidStack.amount));
} } else
{
grinder.tank.setFluid(null);
}
return true;
}
}
}
return false;
}
} }

View file

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

View file

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

View file

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

View file

@ -1,4 +1,3 @@
@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;

View file

@ -1,4 +1,2 @@
@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;

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,2 @@
@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;

View file

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

View file

@ -10,48 +10,55 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileDigitalChest; import techreborn.tiles.TileDigitalChest;
public class BlockDigitalChest extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockDigitalChest extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockDigitalChest() { public BlockDigitalChest()
super(); {
setUnlocalizedName("techreborn.digitalChest"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.digitalChest");
} 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()) {
player.openGui(Core.INSTANCE, GuiHandler.digitalChestID, world, x, if (!player.isSneaking())
y, z); player.openGui(Core.INSTANCE, GuiHandler.digitalChestID, world, x, y, z);
return true; return true;
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/"; 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,36 +5,40 @@ import reborncore.common.blocks.BlockMachineBase;
import reborncore.common.blocks.IAdvancedRotationTexture; import reborncore.common.blocks.IAdvancedRotationTexture;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockElectricCraftingTable extends BlockMachineBase implements IAdvancedRotationTexture
{
public class BlockElectricCraftingTable extends BlockMachineBase implements IAdvancedRotationTexture { public BlockElectricCraftingTable(Material material)
{
super();
setUnlocalizedName("techreborn.electriccraftingtable");
setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/greg_machines/";
public BlockElectricCraftingTable(Material material) { @Override
super(); public String getFront(boolean isActive)
setUnlocalizedName("techreborn.electriccraftingtable"); {
setCreativeTab(TechRebornCreativeTab.instance); return prefix + "electric_crafting_table_front";
} }
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getSide(boolean isActive)
{
return prefix + "machine_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getTop(boolean isActive)
return prefix + "electric_crafting_table_front"; {
} return prefix + "electric_crafting_table_top";
}
@Override @Override
public String getSide(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "machine_side" ; {
} return prefix + "machine_bottom";
}
@Override
public String getTop(boolean isActive) {
return prefix + "electric_crafting_table_top";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "machine_bottom";
}
} }

View file

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

View file

@ -14,59 +14,71 @@ import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.fusionReactor.TileEntityFusionController; import techreborn.tiles.fusionReactor.TileEntityFusionController;
import techreborn.utils.damageSources.FusionDamageSource; import techreborn.utils.damageSources.FusionDamageSource;
public class BlockFusionControlComputer extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockFusionControlComputer extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockFusionControlComputer(Material material) { public BlockFusionControlComputer(Material material)
super(); {
setUnlocalizedName("techreborn.fusioncontrolcomputer"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.fusioncontrolcomputer");
} 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.checkCoils(); TileEntityFusionController tileEntityFusionController = (TileEntityFusionController) world
if (!player.isSneaking()) .getTileEntity(new BlockPos(x, y, z));
player.openGui(Core.INSTANCE, GuiHandler.fusionID, world, x, y, tileEntityFusionController.checkCoils();
z); if (!player.isSneaking())
return true; player.openGui(Core.INSTANCE, GuiHandler.fusionID, world, x, y, z);
} 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); {
if(worldIn.getTileEntity(pos) instanceof TileEntityFusionController){ super.onEntityCollidedWithBlock(worldIn, pos, entityIn);
if(((TileEntityFusionController) worldIn.getTileEntity(pos)).crafingTickTime != 0 && ((TileEntityFusionController) worldIn.getTileEntity(pos)).checkCoils()){ if (worldIn.getTileEntity(pos) instanceof TileEntityFusionController)
entityIn.attackEntityFrom(new FusionDamageSource(), 200F); {
} if (((TileEntityFusionController) worldIn.getTileEntity(pos)).crafingTickTime != 0
} && ((TileEntityFusionController) worldIn.getTileEntity(pos)).checkCoils())
} {
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/"; 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,20 +6,22 @@ import net.minecraft.util.EnumFacing;
import reborncore.common.blocks.BlockMachineBase; import reborncore.common.blocks.BlockMachineBase;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
public class BlockHighlyAdvancedMachine extends BlockMachineBase { public class BlockHighlyAdvancedMachine extends BlockMachineBase
{
public BlockHighlyAdvancedMachine(Material material) { public BlockHighlyAdvancedMachine(Material material)
super(); {
setUnlocalizedName("techreborn.highlyAdvancedMachine"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.highlyAdvancedMachine");
} setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/machine_blocks/"; 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,14 +5,16 @@ import net.minecraft.block.BlockPlanks;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import techreborn.client.TechRebornCreativeTabMisc; import techreborn.client.TechRebornCreativeTabMisc;
public class BlockIronFence extends BlockFence { public class BlockIronFence extends BlockFence
{
public BlockIronFence() { public BlockIronFence()
{
super(Material.iron, BlockPlanks.EnumType.OAK.getMapColor()); super(Material.iron, BlockPlanks.EnumType.OAK.getMapColor());
setUnlocalizedName("techreborn.ironfence"); setUnlocalizedName("techreborn.ironfence");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
setHardness(2.0F); setHardness(2.0F);
setHarvestLevel("pickaxe", 2); setHarvestLevel("pickaxe", 2);
} }
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -11,50 +11,61 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileQuantumTank; import techreborn.tiles.TileQuantumTank;
public class BlockQuantumTank extends BlockMachineBase implements IAdvancedRotationTexture { public class BlockQuantumTank extends BlockMachineBase implements IAdvancedRotationTexture
{
public BlockQuantumTank() { public BlockQuantumTank()
super(); {
setUnlocalizedName("techreborn.quantumTank"); super();
setHardness(2.0F); setUnlocalizedName("techreborn.quantumTank");
setCreativeTab(TechRebornCreativeTab.instance); setHardness(2.0F);
} 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 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)
return true; {
} if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
if (!player.isSneaking()) { {
player.openGui(Core.INSTANCE, GuiHandler.quantumTankID, world, x, y, z); return true;
} }
return true; if (!player.isSneaking())
} {
player.openGui(Core.INSTANCE, GuiHandler.quantumTankID, world, x, y, z);
}
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; 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,11 @@ 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) {
public BlockReinforcedGlass(Material materialIn)
{
super(materialIn); super(materialIn);
setUnlocalizedName("techreborn.reinforcedglass"); setUnlocalizedName("techreborn.reinforcedglass");
setCreativeTab(TechRebornCreativeTabMisc.instance); setCreativeTab(TechRebornCreativeTabMisc.instance);
@ -20,7 +22,8 @@ public class BlockReinforcedGlass extends BaseBlock implements ITexturedBlock {
} }
@Override @Override
public boolean isOpaqueCube(IBlockState state) { public boolean isOpaqueCube(IBlockState state)
{
return false; return false;
} }
@ -34,17 +37,19 @@ public class BlockReinforcedGlass extends BaseBlock implements ITexturedBlock {
{ {
return false; return false;
} }
private final String prefix = "techreborn:blocks/"; private final String prefix = "techreborn:blocks/";
@Override @Override
public int amountOfStates() { public int amountOfStates()
{
return 1; return 1;
} }
@Override @Override
public String getTextureNameFromState(IBlockState arg0, EnumFacing arg1) { public String getTextureNameFromState(IBlockState arg0, EnumFacing arg1)
{
return prefix + "reinforcedglass"; return prefix + "reinforcedglass";
} }
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -11,55 +11,66 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileBlastFurnace; import techreborn.tiles.TileBlastFurnace;
public class BlockBlastFurnace extends BlockMachineBase implements IRotationTexture { public class BlockBlastFurnace extends BlockMachineBase implements IRotationTexture
{
public BlockBlastFurnace(Material material) { public BlockBlastFurnace(Material material)
super(); {
setUnlocalizedName("techreborn.blastfurnace"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.blastfurnace");
} 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,
if (!player.isSneaking()) float hitY, float hitZ)
player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, z); {
return true; if (!player.isSneaking())
} player.openGui(Core.INSTANCE, GuiHandler.blastFurnaceID, world, x, y, z);
return true;
}
@Override @Override
public boolean isAdvanced() { public boolean isAdvanced()
return true; {
} return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; 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() { public BlockCentrifuge()
super(); {
setUnlocalizedName("techreborn.centrifuge"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.centrifuge");
} 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)
player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, z); {
} if (!player.isSneaking())
return true; {
} player.openGui(Core.INSTANCE, GuiHandler.centrifugeID, world, x, y, z);
}
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; 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) { public BlockDistillationTower(Material material)
super(); {
setUnlocalizedName("techreborn.distillationtower"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.distillationtower");
} setCreativeTab(TechRebornCreativeTab.instance);
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; 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) { public BlockImplosionCompressor(Material material)
super(); {
setUnlocalizedName("techreborn.implosioncompressor"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.implosioncompressor");
} 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,
if (!player.isSneaking()) float hitY, float hitZ)
player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, z); {
return true; if (!player.isSneaking())
} player.openGui(Core.INSTANCE, GuiHandler.implosionCompresserID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; 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) { public BlockIndustrialElectrolyzer(Material material)
super(); {
setUnlocalizedName("techreborn.industrialelectrolyzer"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.industrialelectrolyzer");
} 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,
if (!player.isSneaking()) float hitY, float hitZ)
player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, z); {
return true; if (!player.isSneaking())
} player.openGui(Core.INSTANCE, GuiHandler.industrialElectrolyzerID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; 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,53 +12,64 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileIndustrialGrinder; import techreborn.tiles.TileIndustrialGrinder;
public class BlockIndustrialGrinder extends BlockMachineBase implements IRotationTexture { public class BlockIndustrialGrinder extends BlockMachineBase implements IRotationTexture
{
public BlockIndustrialGrinder(Material material) { public BlockIndustrialGrinder(Material material)
super(); {
setUnlocalizedName("techreborn.industrialgrinder"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.industrialgrinder");
} 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)
return true; {
} if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.industrialGrinderID, world, x, y, z); return true;
return true; }
} if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.industrialGrinderID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; 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,53 +12,64 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileIndustrialSawmill; import techreborn.tiles.TileIndustrialSawmill;
public class BlockIndustrialSawmill extends BlockMachineBase implements IRotationTexture { public class BlockIndustrialSawmill extends BlockMachineBase implements IRotationTexture
{
public BlockIndustrialSawmill(Material material) { public BlockIndustrialSawmill(Material material)
super(); {
setUnlocalizedName("techreborn.industrialsawmill"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.industrialsawmill");
} 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)
return true; {
} if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
if (!player.isSneaking()) {
player.openGui(Core.INSTANCE, GuiHandler.sawMillID, world, x, y, z); return true;
return true; }
} if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.sawMillID, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/advanced_machines/"; 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,26 +8,29 @@ import net.minecraftforge.fluids.BlockFluidClassic;
import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.Fluid;
import reborncore.RebornCore; import reborncore.RebornCore;
public class BlockFluidBase extends BlockFluidClassic { public class BlockFluidBase extends BlockFluidClassic
{
public BlockFluidBase(Fluid fluid, Material material) { public BlockFluidBase(Fluid fluid, Material material)
super(fluid, material); {
RebornCore.jsonDestroyer.registerObject(this); super(fluid, material);
} RebornCore.jsonDestroyer.registerObject(this);
}
@Override
public boolean canDisplace(IBlockAccess world, BlockPos pos)
{
if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return false;
return super.canDisplace(world, pos);
}
@Override @Override
public boolean canDisplace(IBlockAccess world, BlockPos pos) { public boolean displaceIfPossible(World world, BlockPos pos)
if(world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid()) {
return false; if (world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return super.canDisplace(world, pos); return false;
} return super.displaceIfPossible(world, pos);
}
@Override
public boolean displaceIfPossible(World world, BlockPos pos) {
if(world.getBlockState(pos).getBlock().getMaterial(world.getBlockState(pos)).isLiquid())
return false;
return super.displaceIfPossible(world, pos);
}
} }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -15,52 +15,62 @@ 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");
public BlockSolarPanel() { public BlockSolarPanel()
super(Material.iron); {
setUnlocalizedName("techreborn.solarpanel"); super(Material.iron);
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.solarpanel");
this.setDefaultState(this.getDefaultState().withProperty(ACTIVE, false)); setCreativeTab(TechRebornCreativeTab.instance);
} this.setDefaultState(this.getDefaultState().withProperty(ACTIVE, false));
}
protected BlockStateContainer createBlockState() { protected BlockStateContainer createBlockState()
ACTIVE = PropertyBool.create("active"); {
return new BlockStateContainer(this, ACTIVE); ACTIVE = PropertyBool.create("active");
} return new BlockStateContainer(this, ACTIVE);
}
@Override @Override
public IBlockState getStateFromMeta(int meta) { public IBlockState getStateFromMeta(int meta)
return getDefaultState().withProperty(ACTIVE, meta == 0 ? false : true); {
} return getDefaultState().withProperty(ACTIVE, meta == 0 ? false : true);
}
@Override @Override
public int getMetaFromState(IBlockState state) { public int getMetaFromState(IBlockState state)
return state.getValue(ACTIVE) == true ? 1 : 0; {
} return state.getValue(ACTIVE) == true ? 1 : 0;
}
@Override @Override
public TileEntity createNewTileEntity(World worldIn, int meta) { public TileEntity createNewTileEntity(World worldIn, int meta)
return new TileSolarPanel(); {
} return new TileSolarPanel();
}
private final String prefix = "techreborn:blocks/machine/generators/"; 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); {
if(side == EnumFacing.UP){ boolean isActive = state.getValue(ACTIVE);
return prefix + "solar_panel_top_" + (isActive ? "on" : "off"); if (side == EnumFacing.UP)
} else if(side==EnumFacing.DOWN){ {
return prefix + "generator_machine_bottom"; return prefix + "solar_panel_top_" + (isActive ? "on" : "off");
} } else if (side == EnumFacing.DOWN)
return prefix + "solar_panel_side_" + (isActive ? "on" : "off"); {
} return prefix + "generator_machine_bottom";
}
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
{
public BlockThermalGenerator()
{
super();
setUnlocalizedName("techreborn.thermalGenerator");
setCreativeTab(TechRebornCreativeTab.instance);
}
@Override
public TileEntity createNewTileEntity(World world, int p_149915_2_)
{
return new TileThermalGenerator();
}
public BlockThermalGenerator() { @Override
super(); public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
setUnlocalizedName("techreborn.thermalGenerator"); float hitY, float hitZ)
setCreativeTab(TechRebornCreativeTab.instance); {
} if (fillBlockWithFluid(world, new BlockPos(x, y, z), player))
{
return true;
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.thermalGeneratorID, world, x, y, z);
return true;
}
@Override private final String prefix = "techreborn:blocks/machine/generators/";
public TileEntity createNewTileEntity(World world, int p_149915_2_) {
return new TileThermalGenerator();
}
@Override @Override
public boolean onBlockActivated(World world, int x, int y, int z, public String getFront(boolean isActive)
EntityPlayer player, int side, float hitX, float hitY, float hitZ) { {
if(fillBlockWithFluid(world, new BlockPos(x, y, z), player)){ return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
return true; }
}
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.thermalGeneratorID, world, x, y,
z);
return true;
}
private final String prefix = "techreborn:blocks/machine/generators/"; @Override
public String getSide(boolean isActive)
{
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
}
@Override
public String getTop(boolean isActive)
{
return isActive ? prefix + "thermal_generator_top_on" : prefix + "thermal_generator_top_off";
}
@Override @Override
public String getFront(boolean isActive) { public String getBottom(boolean isActive)
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off"; {
} return prefix + "generator_machine_bottom";
}
@Override
public String getSide(boolean isActive) {
return isActive ? prefix + "thermal_generator_side_on" : prefix + "thermal_generator_side_off";
}
@Override
public String getTop(boolean isActive) {
return isActive ? prefix + "thermal_generator_top_on" : prefix + "thermal_generator_top_off";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "generator_machine_bottom";
}
} }

View file

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

View file

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

View file

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

View file

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

View file

@ -11,50 +11,60 @@ import techreborn.client.GuiHandler;
import techreborn.client.TechRebornCreativeTab; import techreborn.client.TechRebornCreativeTab;
import techreborn.tiles.TileChargeBench; import techreborn.tiles.TileChargeBench;
public class BlockChargeBench extends BlockMachineBase implements IRotationTexture { public class BlockChargeBench extends BlockMachineBase implements IRotationTexture
{
public BlockChargeBench(Material material) { public BlockChargeBench(Material material)
super(); {
setUnlocalizedName("techreborn.chargebench"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.chargebench");
} 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,
if (!player.isSneaking()) float hitY, float hitZ)
player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, z); {
return true; if (!player.isSneaking())
} player.openGui(Core.INSTANCE, GuiHandler.chargeBench, world, x, y, z);
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; 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) { public BlockChemicalReactor(Material material)
super(); {
setUnlocalizedName("techreborn.chemicalreactor"); super();
setCreativeTab(TechRebornCreativeTab.instance); setUnlocalizedName("techreborn.chemicalreactor");
} 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()) {
player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, z); if (!player.isSneaking())
return true; player.openGui(Core.INSTANCE, GuiHandler.chemicalReactorID, world, x, y, z);
} return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; 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
{
public BlockChunkLoader(Material material)
{
super();
setUnlocalizedName("techreborn.chunkloader");
setCreativeTab(TechRebornCreativeTab.instance);
}
public BlockChunkLoader(Material material) { @Override
super(); public TileEntity createNewTileEntity(World world, int p_149915_2_)
setUnlocalizedName("techreborn.chunkloader"); {
setCreativeTab(TechRebornCreativeTab.instance); return new TileChunkLoader();
} }
@Override @Override
public TileEntity createNewTileEntity(World world, int p_149915_2_) { public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX,
return new TileChunkLoader(); float hitY, float hitZ)
} {
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chunkloaderID, world, x, y, z);
return true;
}
@Override private final String prefix = "techreborn:blocks/machine/greg_machines/";
public boolean onBlockActivated(World world, int x, int y, int z,
EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if (!player.isSneaking())
player.openGui(Core.INSTANCE, GuiHandler.chunkloaderID, world, x, y,
z);
return true;
}
private final String prefix = "techreborn:blocks/machine/greg_machines/"; @Override
public String getFront(boolean isActive)
{
return prefix + "industrial_chunk_loader_side";
}
@Override @Override
public String getFront(boolean isActive) { public String getSide(boolean isActive)
return prefix + "industrial_chunk_loader_side"; {
} return prefix + "industrial_chunk_loader_side";
}
@Override @Override
public String getSide(boolean isActive) { public String getTop(boolean isActive)
return prefix + "industrial_chunk_loader_side" ; {
} return prefix + "machine_top";
}
@Override @Override
public String getTop(boolean isActive) { public String getBottom(boolean isActive)
return prefix + "machine_top"; {
} return prefix + "machine_bottom";
}
@Override
public String getBottom(boolean isActive) {
return prefix + "machine_bottom";
}
} }

View file

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

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