first
This commit is contained in:
+526
@@ -0,0 +1,526 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
indent_size = 4
|
||||||
|
indent_style = tab
|
||||||
|
insert_final_newline = false
|
||||||
|
max_line_length = 120
|
||||||
|
tab_width = 4
|
||||||
|
ij_continuation_indent_size = 4
|
||||||
|
ij_formatter_off_tag = @formatter:off
|
||||||
|
ij_formatter_on_tag = @formatter:on
|
||||||
|
ij_formatter_tags_enabled = false
|
||||||
|
ij_smart_tabs = false
|
||||||
|
ij_visual_guides = none
|
||||||
|
ij_wrap_on_typing = false
|
||||||
|
|
||||||
|
[*.java]
|
||||||
|
ij_java_align_consecutive_assignments = false
|
||||||
|
ij_java_align_consecutive_variable_declarations = false
|
||||||
|
ij_java_align_group_field_declarations = false
|
||||||
|
ij_java_align_multiline_annotation_parameters = false
|
||||||
|
ij_java_align_multiline_array_initializer_expression = false
|
||||||
|
ij_java_align_multiline_assignment = true
|
||||||
|
ij_java_align_multiline_binary_operation = true
|
||||||
|
ij_java_align_multiline_chained_methods = false
|
||||||
|
ij_java_align_multiline_extends_list = false
|
||||||
|
ij_java_align_multiline_for = true
|
||||||
|
ij_java_align_multiline_method_parentheses = false
|
||||||
|
ij_java_align_multiline_parameters = false
|
||||||
|
ij_java_align_multiline_parameters_in_calls = false
|
||||||
|
ij_java_align_multiline_parenthesized_expression = false
|
||||||
|
ij_java_align_multiline_records = true
|
||||||
|
ij_java_align_multiline_resources = true
|
||||||
|
ij_java_align_multiline_ternary_operation = false
|
||||||
|
ij_java_align_multiline_text_blocks = false
|
||||||
|
ij_java_align_multiline_throws_list = false
|
||||||
|
ij_java_align_subsequent_simple_methods = false
|
||||||
|
ij_java_align_throws_keyword = false
|
||||||
|
ij_java_annotation_parameter_wrap = off
|
||||||
|
ij_java_array_initializer_new_line_after_left_brace = false
|
||||||
|
ij_java_array_initializer_right_brace_on_new_line = false
|
||||||
|
ij_java_array_initializer_wrap = off
|
||||||
|
ij_java_assert_statement_colon_on_next_line = false
|
||||||
|
ij_java_assert_statement_wrap = off
|
||||||
|
ij_java_assignment_wrap = off
|
||||||
|
ij_java_binary_operation_sign_on_next_line = false
|
||||||
|
ij_java_binary_operation_wrap = off
|
||||||
|
ij_java_blank_lines_after_anonymous_class_header = 0
|
||||||
|
ij_java_blank_lines_after_class_header = 0
|
||||||
|
ij_java_blank_lines_after_imports = 1
|
||||||
|
ij_java_blank_lines_after_package = 1
|
||||||
|
ij_java_blank_lines_around_class = 1
|
||||||
|
ij_java_blank_lines_around_field = 0
|
||||||
|
ij_java_blank_lines_around_field_in_interface = 0
|
||||||
|
ij_java_blank_lines_around_initializer = 1
|
||||||
|
ij_java_blank_lines_around_method = 1
|
||||||
|
ij_java_blank_lines_around_method_in_interface = 1
|
||||||
|
ij_java_blank_lines_before_class_end = 0
|
||||||
|
ij_java_blank_lines_before_imports = 1
|
||||||
|
ij_java_blank_lines_before_method_body = 0
|
||||||
|
ij_java_blank_lines_before_package = 0
|
||||||
|
ij_java_block_brace_style = end_of_line
|
||||||
|
ij_java_block_comment_at_first_column = true
|
||||||
|
ij_java_builder_methods = none
|
||||||
|
ij_java_call_parameters_new_line_after_left_paren = false
|
||||||
|
ij_java_call_parameters_right_paren_on_new_line = false
|
||||||
|
ij_java_call_parameters_wrap = off
|
||||||
|
ij_java_case_statement_on_separate_line = true
|
||||||
|
ij_java_catch_on_new_line = false
|
||||||
|
ij_java_class_annotation_wrap = split_into_lines
|
||||||
|
ij_java_class_brace_style = next_line
|
||||||
|
ij_java_class_count_to_use_import_on_demand = 5
|
||||||
|
ij_java_class_names_in_javadoc = 1
|
||||||
|
ij_java_do_not_indent_top_level_class_members = false
|
||||||
|
ij_java_do_not_wrap_after_single_annotation = false
|
||||||
|
ij_java_do_while_brace_force = never
|
||||||
|
ij_java_doc_add_blank_line_after_description = true
|
||||||
|
ij_java_doc_add_blank_line_after_param_comments = false
|
||||||
|
ij_java_doc_add_blank_line_after_return = false
|
||||||
|
ij_java_doc_add_p_tag_on_empty_lines = true
|
||||||
|
ij_java_doc_align_exception_comments = true
|
||||||
|
ij_java_doc_align_param_comments = true
|
||||||
|
ij_java_doc_do_not_wrap_if_one_line = false
|
||||||
|
ij_java_doc_enable_formatting = true
|
||||||
|
ij_java_doc_enable_leading_asterisks = true
|
||||||
|
ij_java_doc_indent_on_continuation = false
|
||||||
|
ij_java_doc_keep_empty_lines = true
|
||||||
|
ij_java_doc_keep_empty_parameter_tag = true
|
||||||
|
ij_java_doc_keep_empty_return_tag = true
|
||||||
|
ij_java_doc_keep_empty_throws_tag = true
|
||||||
|
ij_java_doc_keep_invalid_tags = true
|
||||||
|
ij_java_doc_param_description_on_new_line = false
|
||||||
|
ij_java_doc_preserve_line_breaks = false
|
||||||
|
ij_java_doc_use_throws_not_exception_tag = true
|
||||||
|
ij_java_else_on_new_line = false
|
||||||
|
ij_java_enum_constants_wrap = off
|
||||||
|
ij_java_extends_keyword_wrap = off
|
||||||
|
ij_java_extends_list_wrap = off
|
||||||
|
ij_java_field_annotation_wrap = split_into_lines
|
||||||
|
ij_java_finally_on_new_line = false
|
||||||
|
ij_java_for_brace_force = never
|
||||||
|
ij_java_for_statement_new_line_after_left_paren = false
|
||||||
|
ij_java_for_statement_right_paren_on_new_line = false
|
||||||
|
ij_java_for_statement_wrap = off
|
||||||
|
ij_java_generate_final_locals = false
|
||||||
|
ij_java_generate_final_parameters = false
|
||||||
|
ij_java_if_brace_force = never
|
||||||
|
ij_java_imports_layout = *, |, javax.**, java.**, |, $*
|
||||||
|
ij_java_indent_case_from_switch = true
|
||||||
|
ij_java_insert_inner_class_imports = false
|
||||||
|
ij_java_insert_override_annotation = true
|
||||||
|
ij_java_keep_blank_lines_before_right_brace = 2
|
||||||
|
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
|
||||||
|
ij_java_keep_blank_lines_in_code = 2
|
||||||
|
ij_java_keep_blank_lines_in_declarations = 2
|
||||||
|
ij_java_keep_builder_methods_indents = false
|
||||||
|
ij_java_keep_control_statement_in_one_line = true
|
||||||
|
ij_java_keep_first_column_comment = true
|
||||||
|
ij_java_keep_indents_on_empty_lines = false
|
||||||
|
ij_java_keep_line_breaks = true
|
||||||
|
ij_java_keep_multiple_expressions_in_one_line = false
|
||||||
|
ij_java_keep_simple_blocks_in_one_line = false
|
||||||
|
ij_java_keep_simple_classes_in_one_line = false
|
||||||
|
ij_java_keep_simple_lambdas_in_one_line = false
|
||||||
|
ij_java_keep_simple_methods_in_one_line = false
|
||||||
|
ij_java_label_indent_absolute = false
|
||||||
|
ij_java_label_indent_size = 0
|
||||||
|
ij_java_lambda_brace_style = end_of_line
|
||||||
|
ij_java_layout_static_imports_separately = true
|
||||||
|
ij_java_line_comment_add_space = false
|
||||||
|
ij_java_line_comment_at_first_column = true
|
||||||
|
ij_java_method_annotation_wrap = split_into_lines
|
||||||
|
ij_java_method_brace_style = end_of_line
|
||||||
|
ij_java_method_call_chain_wrap = off
|
||||||
|
ij_java_method_parameters_new_line_after_left_paren = true
|
||||||
|
ij_java_method_parameters_right_paren_on_new_line = true
|
||||||
|
ij_java_method_parameters_wrap = on_every_item
|
||||||
|
ij_java_modifier_list_wrap = false
|
||||||
|
ij_java_names_count_to_use_import_on_demand = 3
|
||||||
|
ij_java_new_line_after_lparen_in_record_header = false
|
||||||
|
ij_java_packages_to_use_import_on_demand = java.awt.*, javax.swing.*
|
||||||
|
ij_java_parameter_annotation_wrap = off
|
||||||
|
ij_java_parentheses_expression_new_line_after_left_paren = false
|
||||||
|
ij_java_parentheses_expression_right_paren_on_new_line = false
|
||||||
|
ij_java_place_assignment_sign_on_next_line = false
|
||||||
|
ij_java_prefer_longer_names = true
|
||||||
|
ij_java_prefer_parameters_wrap = false
|
||||||
|
ij_java_record_components_wrap = normal
|
||||||
|
ij_java_repeat_synchronized = true
|
||||||
|
ij_java_replace_instanceof_and_cast = false
|
||||||
|
ij_java_replace_null_check = true
|
||||||
|
ij_java_replace_sum_lambda_with_method_ref = true
|
||||||
|
ij_java_resource_list_new_line_after_left_paren = false
|
||||||
|
ij_java_resource_list_right_paren_on_new_line = false
|
||||||
|
ij_java_resource_list_wrap = off
|
||||||
|
ij_java_rparen_on_new_line_in_record_header = false
|
||||||
|
ij_java_space_after_closing_angle_bracket_in_type_argument = false
|
||||||
|
ij_java_space_after_colon = false
|
||||||
|
ij_java_space_after_comma = true
|
||||||
|
ij_java_space_after_comma_in_type_arguments = true
|
||||||
|
ij_java_space_after_for_semicolon = true
|
||||||
|
ij_java_space_after_quest = true
|
||||||
|
ij_java_space_after_type_cast = true
|
||||||
|
ij_java_space_before_annotation_array_initializer_left_brace = false
|
||||||
|
ij_java_space_before_annotation_parameter_list = false
|
||||||
|
ij_java_space_before_array_initializer_left_brace = false
|
||||||
|
ij_java_space_before_catch_keyword = true
|
||||||
|
ij_java_space_before_catch_left_brace = true
|
||||||
|
ij_java_space_before_catch_parentheses = true
|
||||||
|
ij_java_space_before_class_left_brace = true
|
||||||
|
ij_java_space_before_colon = false
|
||||||
|
ij_java_space_before_colon_in_foreach = true
|
||||||
|
ij_java_space_before_comma = false
|
||||||
|
ij_java_space_before_do_left_brace = true
|
||||||
|
ij_java_space_before_else_keyword = true
|
||||||
|
ij_java_space_before_else_left_brace = true
|
||||||
|
ij_java_space_before_finally_keyword = true
|
||||||
|
ij_java_space_before_finally_left_brace = true
|
||||||
|
ij_java_space_before_for_left_brace = true
|
||||||
|
ij_java_space_before_for_parentheses = true
|
||||||
|
ij_java_space_before_for_semicolon = false
|
||||||
|
ij_java_space_before_if_left_brace = true
|
||||||
|
ij_java_space_before_if_parentheses = true
|
||||||
|
ij_java_space_before_method_call_parentheses = false
|
||||||
|
ij_java_space_before_method_left_brace = true
|
||||||
|
ij_java_space_before_method_parentheses = false
|
||||||
|
ij_java_space_before_opening_angle_bracket_in_type_parameter = false
|
||||||
|
ij_java_space_before_quest = true
|
||||||
|
ij_java_space_before_switch_left_brace = true
|
||||||
|
ij_java_space_before_switch_parentheses = true
|
||||||
|
ij_java_space_before_synchronized_left_brace = true
|
||||||
|
ij_java_space_before_synchronized_parentheses = true
|
||||||
|
ij_java_space_before_try_left_brace = true
|
||||||
|
ij_java_space_before_try_parentheses = true
|
||||||
|
ij_java_space_before_type_parameter_list = false
|
||||||
|
ij_java_space_before_while_keyword = true
|
||||||
|
ij_java_space_before_while_left_brace = true
|
||||||
|
ij_java_space_before_while_parentheses = true
|
||||||
|
ij_java_space_inside_one_line_enum_braces = false
|
||||||
|
ij_java_space_within_empty_array_initializer_braces = false
|
||||||
|
ij_java_space_within_empty_method_call_parentheses = false
|
||||||
|
ij_java_space_within_empty_method_parentheses = false
|
||||||
|
ij_java_spaces_around_additive_operators = true
|
||||||
|
ij_java_spaces_around_assignment_operators = true
|
||||||
|
ij_java_spaces_around_bitwise_operators = true
|
||||||
|
ij_java_spaces_around_equality_operators = true
|
||||||
|
ij_java_spaces_around_lambda_arrow = true
|
||||||
|
ij_java_spaces_around_logical_operators = true
|
||||||
|
ij_java_spaces_around_method_ref_dbl_colon = false
|
||||||
|
ij_java_spaces_around_multiplicative_operators = true
|
||||||
|
ij_java_spaces_around_relational_operators = true
|
||||||
|
ij_java_spaces_around_shift_operators = true
|
||||||
|
ij_java_spaces_around_type_bounds_in_type_parameters = true
|
||||||
|
ij_java_spaces_around_unary_operator = false
|
||||||
|
ij_java_spaces_within_angle_brackets = false
|
||||||
|
ij_java_spaces_within_annotation_parentheses = false
|
||||||
|
ij_java_spaces_within_array_initializer_braces = false
|
||||||
|
ij_java_spaces_within_braces = false
|
||||||
|
ij_java_spaces_within_brackets = false
|
||||||
|
ij_java_spaces_within_cast_parentheses = false
|
||||||
|
ij_java_spaces_within_catch_parentheses = false
|
||||||
|
ij_java_spaces_within_for_parentheses = false
|
||||||
|
ij_java_spaces_within_if_parentheses = false
|
||||||
|
ij_java_spaces_within_method_call_parentheses = false
|
||||||
|
ij_java_spaces_within_method_parentheses = false
|
||||||
|
ij_java_spaces_within_parentheses = false
|
||||||
|
ij_java_spaces_within_record_header = false
|
||||||
|
ij_java_spaces_within_switch_parentheses = false
|
||||||
|
ij_java_spaces_within_synchronized_parentheses = false
|
||||||
|
ij_java_spaces_within_try_parentheses = false
|
||||||
|
ij_java_spaces_within_while_parentheses = false
|
||||||
|
ij_java_special_else_if_treatment = true
|
||||||
|
ij_java_subclass_name_suffix = Impl
|
||||||
|
ij_java_ternary_operation_signs_on_next_line = false
|
||||||
|
ij_java_ternary_operation_wrap = off
|
||||||
|
ij_java_test_name_suffix = Test
|
||||||
|
ij_java_throws_keyword_wrap = off
|
||||||
|
ij_java_throws_list_wrap = off
|
||||||
|
ij_java_use_external_annotations = false
|
||||||
|
ij_java_use_fq_class_names = false
|
||||||
|
ij_java_use_relative_indents = false
|
||||||
|
ij_java_use_single_class_imports = true
|
||||||
|
ij_java_variable_annotation_wrap = off
|
||||||
|
ij_java_visibility = public
|
||||||
|
ij_java_while_brace_force = never
|
||||||
|
ij_java_while_on_new_line = false
|
||||||
|
ij_java_wrap_comments = false
|
||||||
|
ij_java_wrap_first_method_in_call_chain = false
|
||||||
|
ij_java_wrap_long_lines = false
|
||||||
|
|
||||||
|
[*.nbtt]
|
||||||
|
max_line_length = 150
|
||||||
|
ij_continuation_indent_size = 4
|
||||||
|
ij_nbtt_keep_indents_on_empty_lines = false
|
||||||
|
ij_nbtt_space_after_colon = true
|
||||||
|
ij_nbtt_space_after_comma = true
|
||||||
|
ij_nbtt_space_before_colon = true
|
||||||
|
ij_nbtt_space_before_comma = false
|
||||||
|
ij_nbtt_spaces_within_brackets = false
|
||||||
|
ij_nbtt_spaces_within_parentheses = false
|
||||||
|
|
||||||
|
[*.properties]
|
||||||
|
ij_properties_align_group_field_declarations = false
|
||||||
|
ij_properties_keep_blank_lines = false
|
||||||
|
ij_properties_key_value_delimiter = equals
|
||||||
|
ij_properties_spaces_around_key_value_delimiter = false
|
||||||
|
|
||||||
|
[.editorconfig]
|
||||||
|
ij_editorconfig_align_group_field_declarations = false
|
||||||
|
ij_editorconfig_space_after_colon = false
|
||||||
|
ij_editorconfig_space_after_comma = true
|
||||||
|
ij_editorconfig_space_before_colon = false
|
||||||
|
ij_editorconfig_space_before_comma = false
|
||||||
|
ij_editorconfig_spaces_around_assignment_operators = true
|
||||||
|
|
||||||
|
[{*.ant,*.fxml,*.jhm,*.jnlp,*.jrxml,*.jspx,*.pom,*.rng,*.tagx,*.tld,*.wsdl,*.xml,*.xsd,*.xsl,*.xslt,*.xul}]
|
||||||
|
ij_xml_align_attributes = true
|
||||||
|
ij_xml_align_text = false
|
||||||
|
ij_xml_attribute_wrap = normal
|
||||||
|
ij_xml_block_comment_at_first_column = true
|
||||||
|
ij_xml_keep_blank_lines = 2
|
||||||
|
ij_xml_keep_indents_on_empty_lines = false
|
||||||
|
ij_xml_keep_line_breaks = true
|
||||||
|
ij_xml_keep_line_breaks_in_text = true
|
||||||
|
ij_xml_keep_whitespaces = false
|
||||||
|
ij_xml_keep_whitespaces_around_cdata = preserve
|
||||||
|
ij_xml_keep_whitespaces_inside_cdata = false
|
||||||
|
ij_xml_line_comment_at_first_column = true
|
||||||
|
ij_xml_space_after_tag_name = false
|
||||||
|
ij_xml_space_around_equals_in_attribute = false
|
||||||
|
ij_xml_space_inside_empty_tag = false
|
||||||
|
ij_xml_text_wrap = normal
|
||||||
|
|
||||||
|
[{*.gant,*.gradle,*.groovy,*.gy}]
|
||||||
|
ij_groovy_align_group_field_declarations = false
|
||||||
|
ij_groovy_align_multiline_array_initializer_expression = false
|
||||||
|
ij_groovy_align_multiline_assignment = false
|
||||||
|
ij_groovy_align_multiline_binary_operation = false
|
||||||
|
ij_groovy_align_multiline_chained_methods = false
|
||||||
|
ij_groovy_align_multiline_extends_list = false
|
||||||
|
ij_groovy_align_multiline_for = true
|
||||||
|
ij_groovy_align_multiline_list_or_map = true
|
||||||
|
ij_groovy_align_multiline_method_parentheses = false
|
||||||
|
ij_groovy_align_multiline_parameters = true
|
||||||
|
ij_groovy_align_multiline_parameters_in_calls = false
|
||||||
|
ij_groovy_align_multiline_resources = true
|
||||||
|
ij_groovy_align_multiline_ternary_operation = false
|
||||||
|
ij_groovy_align_multiline_throws_list = false
|
||||||
|
ij_groovy_align_named_args_in_map = true
|
||||||
|
ij_groovy_align_throws_keyword = false
|
||||||
|
ij_groovy_array_initializer_new_line_after_left_brace = false
|
||||||
|
ij_groovy_array_initializer_right_brace_on_new_line = false
|
||||||
|
ij_groovy_array_initializer_wrap = off
|
||||||
|
ij_groovy_assert_statement_wrap = off
|
||||||
|
ij_groovy_assignment_wrap = off
|
||||||
|
ij_groovy_binary_operation_wrap = off
|
||||||
|
ij_groovy_blank_lines_after_class_header = 0
|
||||||
|
ij_groovy_blank_lines_after_imports = 1
|
||||||
|
ij_groovy_blank_lines_after_package = 1
|
||||||
|
ij_groovy_blank_lines_around_class = 1
|
||||||
|
ij_groovy_blank_lines_around_field = 0
|
||||||
|
ij_groovy_blank_lines_around_field_in_interface = 0
|
||||||
|
ij_groovy_blank_lines_around_method = 1
|
||||||
|
ij_groovy_blank_lines_around_method_in_interface = 1
|
||||||
|
ij_groovy_blank_lines_before_imports = 1
|
||||||
|
ij_groovy_blank_lines_before_method_body = 0
|
||||||
|
ij_groovy_blank_lines_before_package = 0
|
||||||
|
ij_groovy_block_brace_style = end_of_line
|
||||||
|
ij_groovy_block_comment_at_first_column = true
|
||||||
|
ij_groovy_call_parameters_new_line_after_left_paren = false
|
||||||
|
ij_groovy_call_parameters_right_paren_on_new_line = false
|
||||||
|
ij_groovy_call_parameters_wrap = off
|
||||||
|
ij_groovy_catch_on_new_line = false
|
||||||
|
ij_groovy_class_annotation_wrap = split_into_lines
|
||||||
|
ij_groovy_class_brace_style = next_line
|
||||||
|
ij_groovy_class_count_to_use_import_on_demand = 5
|
||||||
|
ij_groovy_do_while_brace_force = never
|
||||||
|
ij_groovy_else_on_new_line = false
|
||||||
|
ij_groovy_enum_constants_wrap = off
|
||||||
|
ij_groovy_extends_keyword_wrap = off
|
||||||
|
ij_groovy_extends_list_wrap = off
|
||||||
|
ij_groovy_field_annotation_wrap = split_into_lines
|
||||||
|
ij_groovy_finally_on_new_line = false
|
||||||
|
ij_groovy_for_brace_force = never
|
||||||
|
ij_groovy_for_statement_new_line_after_left_paren = false
|
||||||
|
ij_groovy_for_statement_right_paren_on_new_line = false
|
||||||
|
ij_groovy_for_statement_wrap = off
|
||||||
|
ij_groovy_if_brace_force = never
|
||||||
|
ij_groovy_import_annotation_wrap = 2
|
||||||
|
ij_groovy_imports_layout = *, |, javax.**, java.**, |, $*
|
||||||
|
ij_groovy_indent_case_from_switch = true
|
||||||
|
ij_groovy_indent_label_blocks = true
|
||||||
|
ij_groovy_insert_inner_class_imports = false
|
||||||
|
ij_groovy_keep_blank_lines_before_right_brace = 2
|
||||||
|
ij_groovy_keep_blank_lines_in_code = 2
|
||||||
|
ij_groovy_keep_blank_lines_in_declarations = 2
|
||||||
|
ij_groovy_keep_control_statement_in_one_line = true
|
||||||
|
ij_groovy_keep_first_column_comment = true
|
||||||
|
ij_groovy_keep_indents_on_empty_lines = false
|
||||||
|
ij_groovy_keep_line_breaks = true
|
||||||
|
ij_groovy_keep_multiple_expressions_in_one_line = false
|
||||||
|
ij_groovy_keep_simple_blocks_in_one_line = false
|
||||||
|
ij_groovy_keep_simple_classes_in_one_line = true
|
||||||
|
ij_groovy_keep_simple_lambdas_in_one_line = true
|
||||||
|
ij_groovy_keep_simple_methods_in_one_line = true
|
||||||
|
ij_groovy_label_indent_absolute = false
|
||||||
|
ij_groovy_label_indent_size = 0
|
||||||
|
ij_groovy_lambda_brace_style = end_of_line
|
||||||
|
ij_groovy_layout_static_imports_separately = true
|
||||||
|
ij_groovy_line_comment_add_space = false
|
||||||
|
ij_groovy_line_comment_at_first_column = true
|
||||||
|
ij_groovy_method_annotation_wrap = split_into_lines
|
||||||
|
ij_groovy_method_brace_style = end_of_line
|
||||||
|
ij_groovy_method_call_chain_wrap = off
|
||||||
|
ij_groovy_method_parameters_new_line_after_left_paren = false
|
||||||
|
ij_groovy_method_parameters_right_paren_on_new_line = false
|
||||||
|
ij_groovy_method_parameters_wrap = off
|
||||||
|
ij_groovy_modifier_list_wrap = false
|
||||||
|
ij_groovy_names_count_to_use_import_on_demand = 3
|
||||||
|
ij_groovy_parameter_annotation_wrap = off
|
||||||
|
ij_groovy_parentheses_expression_new_line_after_left_paren = false
|
||||||
|
ij_groovy_parentheses_expression_right_paren_on_new_line = false
|
||||||
|
ij_groovy_prefer_parameters_wrap = false
|
||||||
|
ij_groovy_resource_list_new_line_after_left_paren = false
|
||||||
|
ij_groovy_resource_list_right_paren_on_new_line = false
|
||||||
|
ij_groovy_resource_list_wrap = off
|
||||||
|
ij_groovy_space_after_assert_separator = true
|
||||||
|
ij_groovy_space_after_colon = true
|
||||||
|
ij_groovy_space_after_comma = true
|
||||||
|
ij_groovy_space_after_comma_in_type_arguments = true
|
||||||
|
ij_groovy_space_after_for_semicolon = true
|
||||||
|
ij_groovy_space_after_quest = true
|
||||||
|
ij_groovy_space_after_type_cast = true
|
||||||
|
ij_groovy_space_before_annotation_parameter_list = false
|
||||||
|
ij_groovy_space_before_array_initializer_left_brace = false
|
||||||
|
ij_groovy_space_before_assert_separator = false
|
||||||
|
ij_groovy_space_before_catch_keyword = true
|
||||||
|
ij_groovy_space_before_catch_left_brace = true
|
||||||
|
ij_groovy_space_before_catch_parentheses = true
|
||||||
|
ij_groovy_space_before_class_left_brace = true
|
||||||
|
ij_groovy_space_before_closure_left_brace = true
|
||||||
|
ij_groovy_space_before_colon = true
|
||||||
|
ij_groovy_space_before_comma = false
|
||||||
|
ij_groovy_space_before_do_left_brace = true
|
||||||
|
ij_groovy_space_before_else_keyword = true
|
||||||
|
ij_groovy_space_before_else_left_brace = true
|
||||||
|
ij_groovy_space_before_finally_keyword = true
|
||||||
|
ij_groovy_space_before_finally_left_brace = true
|
||||||
|
ij_groovy_space_before_for_left_brace = true
|
||||||
|
ij_groovy_space_before_for_parentheses = true
|
||||||
|
ij_groovy_space_before_for_semicolon = false
|
||||||
|
ij_groovy_space_before_if_left_brace = true
|
||||||
|
ij_groovy_space_before_if_parentheses = true
|
||||||
|
ij_groovy_space_before_method_call_parentheses = false
|
||||||
|
ij_groovy_space_before_method_left_brace = true
|
||||||
|
ij_groovy_space_before_method_parentheses = false
|
||||||
|
ij_groovy_space_before_quest = true
|
||||||
|
ij_groovy_space_before_switch_left_brace = true
|
||||||
|
ij_groovy_space_before_switch_parentheses = true
|
||||||
|
ij_groovy_space_before_synchronized_left_brace = true
|
||||||
|
ij_groovy_space_before_synchronized_parentheses = true
|
||||||
|
ij_groovy_space_before_try_left_brace = true
|
||||||
|
ij_groovy_space_before_try_parentheses = true
|
||||||
|
ij_groovy_space_before_while_keyword = true
|
||||||
|
ij_groovy_space_before_while_left_brace = true
|
||||||
|
ij_groovy_space_before_while_parentheses = true
|
||||||
|
ij_groovy_space_in_named_argument = true
|
||||||
|
ij_groovy_space_in_named_argument_before_colon = false
|
||||||
|
ij_groovy_space_within_empty_array_initializer_braces = false
|
||||||
|
ij_groovy_space_within_empty_method_call_parentheses = false
|
||||||
|
ij_groovy_spaces_around_additive_operators = true
|
||||||
|
ij_groovy_spaces_around_assignment_operators = true
|
||||||
|
ij_groovy_spaces_around_bitwise_operators = true
|
||||||
|
ij_groovy_spaces_around_equality_operators = true
|
||||||
|
ij_groovy_spaces_around_lambda_arrow = true
|
||||||
|
ij_groovy_spaces_around_logical_operators = true
|
||||||
|
ij_groovy_spaces_around_multiplicative_operators = true
|
||||||
|
ij_groovy_spaces_around_regex_operators = true
|
||||||
|
ij_groovy_spaces_around_relational_operators = true
|
||||||
|
ij_groovy_spaces_around_shift_operators = true
|
||||||
|
ij_groovy_spaces_within_annotation_parentheses = false
|
||||||
|
ij_groovy_spaces_within_array_initializer_braces = false
|
||||||
|
ij_groovy_spaces_within_braces = true
|
||||||
|
ij_groovy_spaces_within_brackets = false
|
||||||
|
ij_groovy_spaces_within_cast_parentheses = false
|
||||||
|
ij_groovy_spaces_within_catch_parentheses = false
|
||||||
|
ij_groovy_spaces_within_for_parentheses = false
|
||||||
|
ij_groovy_spaces_within_gstring_injection_braces = false
|
||||||
|
ij_groovy_spaces_within_if_parentheses = false
|
||||||
|
ij_groovy_spaces_within_list_or_map = false
|
||||||
|
ij_groovy_spaces_within_method_call_parentheses = false
|
||||||
|
ij_groovy_spaces_within_method_parentheses = false
|
||||||
|
ij_groovy_spaces_within_parentheses = false
|
||||||
|
ij_groovy_spaces_within_switch_parentheses = false
|
||||||
|
ij_groovy_spaces_within_synchronized_parentheses = false
|
||||||
|
ij_groovy_spaces_within_try_parentheses = false
|
||||||
|
ij_groovy_spaces_within_tuple_expression = false
|
||||||
|
ij_groovy_spaces_within_while_parentheses = false
|
||||||
|
ij_groovy_special_else_if_treatment = true
|
||||||
|
ij_groovy_ternary_operation_wrap = off
|
||||||
|
ij_groovy_throws_keyword_wrap = off
|
||||||
|
ij_groovy_throws_list_wrap = off
|
||||||
|
ij_groovy_use_flying_geese_braces = false
|
||||||
|
ij_groovy_use_fq_class_names = false
|
||||||
|
ij_groovy_use_fq_class_names_in_javadoc = true
|
||||||
|
ij_groovy_use_relative_indents = false
|
||||||
|
ij_groovy_use_single_class_imports = true
|
||||||
|
ij_groovy_variable_annotation_wrap = off
|
||||||
|
ij_groovy_while_brace_force = never
|
||||||
|
ij_groovy_while_on_new_line = false
|
||||||
|
ij_groovy_wrap_chain_calls_after_dot = false
|
||||||
|
ij_groovy_wrap_long_lines = false
|
||||||
|
|
||||||
|
[{*.har,*.json}]
|
||||||
|
ij_json_keep_blank_lines_in_code = 0
|
||||||
|
ij_json_keep_indents_on_empty_lines = false
|
||||||
|
ij_json_keep_line_breaks = true
|
||||||
|
ij_json_space_after_colon = true
|
||||||
|
ij_json_space_after_comma = true
|
||||||
|
ij_json_space_before_colon = false
|
||||||
|
ij_json_space_before_comma = false
|
||||||
|
ij_json_spaces_within_braces = false
|
||||||
|
ij_json_spaces_within_brackets = false
|
||||||
|
ij_json_wrap_long_lines = false
|
||||||
|
|
||||||
|
[{*.htm,*.html,*.sht,*.shtm,*.shtml}]
|
||||||
|
ij_html_add_new_line_before_tags = body, div, p, form, h1, h2, h3
|
||||||
|
ij_html_align_attributes = true
|
||||||
|
ij_html_align_text = false
|
||||||
|
ij_html_attribute_wrap = normal
|
||||||
|
ij_html_block_comment_at_first_column = true
|
||||||
|
ij_html_do_not_align_children_of_min_lines = 0
|
||||||
|
ij_html_do_not_break_if_inline_tags = title, h1, h2, h3, h4, h5, h6, p
|
||||||
|
ij_html_do_not_indent_children_of_tags = html, body, thead, tbody, tfoot
|
||||||
|
ij_html_enforce_quotes = false
|
||||||
|
ij_html_inline_tags = a, abbr, acronym, b, basefont, bdo, big, br, cite, cite, code, dfn, em, font, i, img, input, kbd, label, q, s, samp, select, small, span, strike, strong, sub, sup, textarea, tt, u, var
|
||||||
|
ij_html_keep_blank_lines = 2
|
||||||
|
ij_html_keep_indents_on_empty_lines = false
|
||||||
|
ij_html_keep_line_breaks = true
|
||||||
|
ij_html_keep_line_breaks_in_text = true
|
||||||
|
ij_html_keep_whitespaces = false
|
||||||
|
ij_html_keep_whitespaces_inside = span, pre, textarea
|
||||||
|
ij_html_line_comment_at_first_column = true
|
||||||
|
ij_html_new_line_after_last_attribute = never
|
||||||
|
ij_html_new_line_before_first_attribute = never
|
||||||
|
ij_html_quote_style = double
|
||||||
|
ij_html_remove_new_line_before_tags = br
|
||||||
|
ij_html_space_after_tag_name = false
|
||||||
|
ij_html_space_around_equality_in_attribute = false
|
||||||
|
ij_html_space_inside_empty_tag = false
|
||||||
|
ij_html_text_wrap = normal
|
||||||
|
|
||||||
|
[{*.markdown,*.md}]
|
||||||
|
ij_markdown_force_one_space_after_blockquote_symbol = true
|
||||||
|
ij_markdown_force_one_space_after_header_symbol = true
|
||||||
|
ij_markdown_force_one_space_after_list_bullet = true
|
||||||
|
ij_markdown_force_one_space_between_words = true
|
||||||
|
ij_markdown_keep_indents_on_empty_lines = false
|
||||||
|
ij_markdown_max_lines_around_block_elements = 1
|
||||||
|
ij_markdown_max_lines_around_header = 1
|
||||||
|
ij_markdown_max_lines_between_paragraphs = 1
|
||||||
|
ij_markdown_min_lines_around_block_elements = 1
|
||||||
|
ij_markdown_min_lines_around_header = 1
|
||||||
|
ij_markdown_min_lines_between_paragraphs = 1
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: "[BUG}"
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Desktop (please complete the following information):**
|
||||||
|
- OS: [e.g. iOS]
|
||||||
|
- Modloader and Version [e.g. Neoforge 21.1.211]
|
||||||
|
- Mod Version [e.g. Forge 1.20.1 0.101.0]
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
||||||
+23
@@ -0,0 +1,23 @@
|
|||||||
|
build/
|
||||||
|
*.ipr
|
||||||
|
run/
|
||||||
|
*.iws
|
||||||
|
out/
|
||||||
|
*.iml
|
||||||
|
.gradle/
|
||||||
|
output/
|
||||||
|
bin/
|
||||||
|
libs/
|
||||||
|
|
||||||
|
.kotlin
|
||||||
|
.classpath
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
classes/
|
||||||
|
.metadata
|
||||||
|
.vscode
|
||||||
|
.settings
|
||||||
|
*.launch
|
||||||
|
.architectury-transformer
|
||||||
|
gradle_client_output.txt
|
||||||
|
gradle_server_output.txt
|
||||||
@@ -0,0 +1,121 @@
|
|||||||
|
Creative Commons Legal Code
|
||||||
|
|
||||||
|
CC0 1.0 Universal
|
||||||
|
|
||||||
|
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||||
|
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
|
||||||
|
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||||
|
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||||
|
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
|
||||||
|
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
|
||||||
|
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
|
||||||
|
HEREUNDER.
|
||||||
|
|
||||||
|
Statement of Purpose
|
||||||
|
|
||||||
|
The laws of most jurisdictions throughout the world automatically confer
|
||||||
|
exclusive Copyright and Related Rights (defined below) upon the creator
|
||||||
|
and subsequent owner(s) (each and all, an "owner") of an original work of
|
||||||
|
authorship and/or a database (each, a "Work").
|
||||||
|
|
||||||
|
Certain owners wish to permanently relinquish those rights to a Work for
|
||||||
|
the purpose of contributing to a commons of creative, cultural and
|
||||||
|
scientific works ("Commons") that the public can reliably and without fear
|
||||||
|
of later claims of infringement build upon, modify, incorporate in other
|
||||||
|
works, reuse and redistribute as freely as possible in any form whatsoever
|
||||||
|
and for any purposes, including without limitation commercial purposes.
|
||||||
|
These owners may contribute to the Commons to promote the ideal of a free
|
||||||
|
culture and the further production of creative, cultural and scientific
|
||||||
|
works, or to gain reputation or greater distribution for their Work in
|
||||||
|
part through the use and efforts of others.
|
||||||
|
|
||||||
|
For these and/or other purposes and motivations, and without any
|
||||||
|
expectation of additional consideration or compensation, the person
|
||||||
|
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
|
||||||
|
is an owner of Copyright and Related Rights in the Work, voluntarily
|
||||||
|
elects to apply CC0 to the Work and publicly distribute the Work under its
|
||||||
|
terms, with knowledge of his or her Copyright and Related Rights in the
|
||||||
|
Work and the meaning and intended legal effect of CC0 on those rights.
|
||||||
|
|
||||||
|
1. Copyright and Related Rights. A Work made available under CC0 may be
|
||||||
|
protected by copyright and related or neighboring rights ("Copyright and
|
||||||
|
Related Rights"). Copyright and Related Rights include, but are not
|
||||||
|
limited to, the following:
|
||||||
|
|
||||||
|
i. the right to reproduce, adapt, distribute, perform, display,
|
||||||
|
communicate, and translate a Work;
|
||||||
|
ii. moral rights retained by the original author(s) and/or performer(s);
|
||||||
|
iii. publicity and privacy rights pertaining to a person's image or
|
||||||
|
likeness depicted in a Work;
|
||||||
|
iv. rights protecting against unfair competition in regards to a Work,
|
||||||
|
subject to the limitations in paragraph 4(a), below;
|
||||||
|
v. rights protecting the extraction, dissemination, use and reuse of data
|
||||||
|
in a Work;
|
||||||
|
vi. database rights (such as those arising under Directive 96/9/EC of the
|
||||||
|
European Parliament and of the Council of 11 March 1996 on the legal
|
||||||
|
protection of databases, and under any national implementation
|
||||||
|
thereof, including any amended or successor version of such
|
||||||
|
directive); and
|
||||||
|
vii. other similar, equivalent or corresponding rights throughout the
|
||||||
|
world based on applicable law or treaty, and any national
|
||||||
|
implementations thereof.
|
||||||
|
|
||||||
|
2. Waiver. To the greatest extent permitted by, but not in contravention
|
||||||
|
of, applicable law, Affirmer hereby overtly, fully, permanently,
|
||||||
|
irrevocably and unconditionally waives, abandons, and surrenders all of
|
||||||
|
Affirmer's Copyright and Related Rights and associated claims and causes
|
||||||
|
of action, whether now known or unknown (including existing as well as
|
||||||
|
future claims and causes of action), in the Work (i) in all territories
|
||||||
|
worldwide, (ii) for the maximum duration provided by applicable law or
|
||||||
|
treaty (including future time extensions), (iii) in any current or future
|
||||||
|
medium and for any number of copies, and (iv) for any purpose whatsoever,
|
||||||
|
including without limitation commercial, advertising or promotional
|
||||||
|
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
|
||||||
|
member of the public at large and to the detriment of Affirmer's heirs and
|
||||||
|
successors, fully intending that such Waiver shall not be subject to
|
||||||
|
revocation, rescission, cancellation, termination, or any other legal or
|
||||||
|
equitable action to disrupt the quiet enjoyment of the Work by the public
|
||||||
|
as contemplated by Affirmer's express Statement of Purpose.
|
||||||
|
|
||||||
|
3. Public License Fallback. Should any part of the Waiver for any reason
|
||||||
|
be judged legally invalid or ineffective under applicable law, then the
|
||||||
|
Waiver shall be preserved to the maximum extent permitted taking into
|
||||||
|
account Affirmer's express Statement of Purpose. In addition, to the
|
||||||
|
extent the Waiver is so judged Affirmer hereby grants to each affected
|
||||||
|
person a royalty-free, non transferable, non sublicensable, non exclusive,
|
||||||
|
irrevocable and unconditional license to exercise Affirmer's Copyright and
|
||||||
|
Related Rights in the Work (i) in all territories worldwide, (ii) for the
|
||||||
|
maximum duration provided by applicable law or treaty (including future
|
||||||
|
time extensions), (iii) in any current or future medium and for any number
|
||||||
|
of copies, and (iv) for any purpose whatsoever, including without
|
||||||
|
limitation commercial, advertising or promotional purposes (the
|
||||||
|
"License"). The License shall be deemed effective as of the date CC0 was
|
||||||
|
applied by Affirmer to the Work. Should any part of the License for any
|
||||||
|
reason be judged legally invalid or ineffective under applicable law, such
|
||||||
|
partial invalidity or ineffectiveness shall not invalidate the remainder
|
||||||
|
of the License, and in such case Affirmer hereby affirms that he or she
|
||||||
|
will not (i) exercise any of his or her remaining Copyright and Related
|
||||||
|
Rights in the Work or (ii) assert any associated claims and causes of
|
||||||
|
action with respect to the Work, in either case contrary to Affirmer's
|
||||||
|
express Statement of Purpose.
|
||||||
|
|
||||||
|
4. Limitations and Disclaimers.
|
||||||
|
|
||||||
|
a. No trademark or patent rights held by Affirmer are waived, abandoned,
|
||||||
|
surrendered, licensed or otherwise affected by this document.
|
||||||
|
b. Affirmer offers the Work as-is and makes no representations or
|
||||||
|
warranties of any kind concerning the Work, express, implied,
|
||||||
|
statutory or otherwise, including without limitation warranties of
|
||||||
|
title, merchantability, fitness for a particular purpose, non
|
||||||
|
infringement, or the absence of latent or other defects, accuracy, or
|
||||||
|
the present or absence of errors, whether or not discoverable, all to
|
||||||
|
the greatest extent permissible under applicable law.
|
||||||
|
c. Affirmer disclaims responsibility for clearing rights of other persons
|
||||||
|
that may apply to the Work or any use thereof, including without
|
||||||
|
limitation any person's Copyright and Related Rights in the Work.
|
||||||
|
Further, Affirmer disclaims responsibility for obtaining any necessary
|
||||||
|
consents, permissions or other rights required for any use of the
|
||||||
|
Work.
|
||||||
|
d. Affirmer understands and acknowledges that Creative Commons is not a
|
||||||
|
party to this document and has no duty or obligation with respect to
|
||||||
|
this CC0 or use of the Work.
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|

|
||||||
|
|
||||||
|
See https://github.com/classic-mods-revived/Jurassic-Revived-1.21.1-Neoforge for the source for the 1.21.1 version and https://github.com/classic-mods-revived/Jurassic-Revived-1.20.1-Forge for the 1.20.1 version
|
||||||
|
|
||||||
|
## A free dinosaur mod for 1.20.1 and 1.21.1, inspired by the classic JurassiCraft experience – no paywalls, no nonsense.
|
||||||
|
## 📦 About the Mod:
|
||||||
|
Jurassic Revived is a fan-made dinosaur mod for Minecraft 1.20.1 and 1.21.1, inspired by the gameplay and features of the original JurassiCraft mod.
|
||||||
|
|
||||||
|
## 🧬 Core Features:
|
||||||
|
- 🦴 Fossil & DNA System Dig up fossils, extract DNA, and bring dinosaurs back to life using high-tech machines.
|
||||||
|
|
||||||
|
- 🧠 Dynamic Dinosaur AI Species-specific behaviors such as aggression, fleeing, roaming, and herding.
|
||||||
|
|
||||||
|
- 🏞️ Park-Building Tools Create enclosures, labs, research zones, and viewing areas.
|
||||||
|
|
||||||
|
## 🦕 Dinosaurs (with more to come in the future):
|
||||||
|
- Albertosaurus
|
||||||
|
- Apatosaurus
|
||||||
|
- Baryonyx
|
||||||
|
- Brachiosaurus
|
||||||
|
- Carnotaurus
|
||||||
|
- Ceratosaurus
|
||||||
|
- Compsognathus
|
||||||
|
- Concavenator
|
||||||
|
- Deinonychus
|
||||||
|
- Dilophosaurus
|
||||||
|
- Diplodocus
|
||||||
|
- D Rex
|
||||||
|
- Edmontosaurus
|
||||||
|
- Gallimimus
|
||||||
|
- Giganotosuarus
|
||||||
|
- Guanlong
|
||||||
|
- Herrerasaurus
|
||||||
|
- Indominus Rex
|
||||||
|
- Majungasaurus
|
||||||
|
- Ouranosaurus
|
||||||
|
- Parasaurolophus
|
||||||
|
- Procompsognathus
|
||||||
|
- Protoceratops
|
||||||
|
- Rugops
|
||||||
|
- Shantungosaurus
|
||||||
|
- Spinosaurus
|
||||||
|
- Stegosaurus
|
||||||
|
- Styracosaurus
|
||||||
|
- Theriznosarus
|
||||||
|
- Triceratops
|
||||||
|
- Tyrannosaurus Rex
|
||||||
|
- Velociraptor
|
||||||
|
|
||||||
|
More species may be added over time.
|
||||||
|
|
||||||
|
## 💡 Why Jurassic Revived?
|
||||||
|
When JurassiCraft went private and its downloads disappeared, this mod was made to continue the legacy — for the community, by the community. Jurassic Revived offers the same immersive dinosaur gameplay — without restrictions.
|
||||||
|
|
||||||
|
⚠️ Disclaimer:
|
||||||
|
This is a fan project and is not affiliated with the newer JurassiCraft team (everything that appears in this mod comes either from the assets that the former team members have provided us with or was directly created by us) or any associated franchises. The mod is non-commercial and only inspired by the legacy of JurassiCraft.
|
||||||
|
|
||||||
|
## 💾 Installation (if not using a launcher):
|
||||||
|
Requires Minecraft Forge for 1.20.1 or Neoforge for 1.21.1
|
||||||
|
|
||||||
|
Download the mod
|
||||||
|
- Download Geckolib for your chosen version
|
||||||
|
- As with any mod/modpack a mod like JEI or EMI is recommended, again, download for your chosen version
|
||||||
|
- Drop all downloaded mods into the mods folder
|
||||||
|
- Compatible with most Forge/Neoforge-based modpacks for 1.20.1 and most Neoforge-based modpacks for 1.21.1
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 🚧 Early Development Warning
|
||||||
|
⚠️ This mod is in a VERY early stage of development. Expect bugs, missing features, and frequent changes. Feedback is welcome, but please be patient!
|
||||||
|
is mod is in a VERY early stage of development. Expect bugs, missing features, and frequent changes. Feedback is welcome, but please be patient!
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
plugins {
|
||||||
|
`kotlin-dsl`
|
||||||
|
kotlin("jvm") version "2.2.21"
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
gradlePluginPortal()
|
||||||
|
maven("https://maven.kikugie.dev/snapshots")
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation("dev.kikugie:stonecutter:0.7.11")
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
import dev.kikugie.stonecutter.build.StonecutterBuildExtension
|
||||||
|
import dev.kikugie.stonecutter.controller.StonecutterControllerExtension
|
||||||
|
import org.gradle.api.Project
|
||||||
|
import org.gradle.kotlin.dsl.*
|
||||||
|
|
||||||
|
val Project.mod: ModData get() = ModData(this)
|
||||||
|
fun Project.prop(key: String): String? = findProperty(key)?.toString()
|
||||||
|
|
||||||
|
|
||||||
|
val Project.stonecutterBuild get() = extensions.getByType<StonecutterBuildExtension>()
|
||||||
|
val Project.stonecutterController get() = extensions.getByType<StonecutterControllerExtension>()
|
||||||
|
|
||||||
|
val Project.common
|
||||||
|
get() = requireNotNull(stonecutterBuild.node.sibling("common")) {
|
||||||
|
"No common project for $project"
|
||||||
|
}
|
||||||
|
val Project.commonProject get() = rootProject.project(stonecutterBuild.current.project)
|
||||||
|
val Project.commonMod get() = commonProject.mod
|
||||||
|
|
||||||
|
val Project.loader: String? get() = prop("loader")
|
||||||
|
|
||||||
|
@JvmInline
|
||||||
|
value class ModData(private val project: Project) {
|
||||||
|
val id: String get() = modProp("id")
|
||||||
|
val name: String get() = modProp("name")
|
||||||
|
val version: String get() = modProp("version")
|
||||||
|
val group: String get() = modProp("group")
|
||||||
|
val author: String get() = modProp("author")
|
||||||
|
val description: String get() = modProp("description")
|
||||||
|
val license: String get() = modProp("license")
|
||||||
|
val credits: String get() = modProp("credits")
|
||||||
|
val minecraft_version: String get() = propOrNull("minecraft_version") ?: project.stonecutterBuild.current.version
|
||||||
|
|
||||||
|
fun propOrNull(key: String) = project.prop(key)
|
||||||
|
fun prop(key: String) = requireNotNull(propOrNull(key)) { "Missing '$key'" }
|
||||||
|
fun modPropOrNull(key: String) = project.prop("mod.$key")
|
||||||
|
fun modProp(key: String) = requireNotNull(modPropOrNull(key)) { "Missing 'mod.$key'" }
|
||||||
|
fun modrinth(name: String, version: String) = "maven.modrinth:$name:$version"
|
||||||
|
}
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
plugins {
|
||||||
|
id("java-library")
|
||||||
|
id("idea")
|
||||||
|
}
|
||||||
|
|
||||||
|
version = "${loader}-${commonMod.version}+mc${stonecutterBuild.current.version}"
|
||||||
|
|
||||||
|
base {
|
||||||
|
archivesName = commonMod.id
|
||||||
|
}
|
||||||
|
|
||||||
|
java {
|
||||||
|
toolchain.languageVersion = JavaLanguageVersion.of(commonProject.prop("java.version")!!)
|
||||||
|
// withSourcesJar()
|
||||||
|
// withJavadocJar()
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
maven("https://libraries.minecraft.net") { name = "Mojang" }
|
||||||
|
mavenCentral()
|
||||||
|
exclusiveContent {
|
||||||
|
forRepository {
|
||||||
|
maven("https://repo.spongepowered.org/repository/maven-public") { name = "Sponge" }
|
||||||
|
}
|
||||||
|
filter { includeGroupAndSubgroups("org.spongepowered") }
|
||||||
|
}
|
||||||
|
exclusiveContent {
|
||||||
|
forRepositories(
|
||||||
|
maven("https://maven.parchmentmc.org") { name = "ParchmentMC" },
|
||||||
|
maven("https://maven.neoforged.net/releases") { name = "NeoForge" }
|
||||||
|
)
|
||||||
|
filter { includeGroup("org.parchmentmc.data") }
|
||||||
|
}
|
||||||
|
maven("https://maven.quiltmc.org/repository/release/") { name = "QuiltMC" }
|
||||||
|
maven("https://maven.fabricmc.net/") { name = "FabricMC" }
|
||||||
|
maven("https://maven.neoforged.net/releases") { name = "NeoForge" }
|
||||||
|
maven("https://maven.minecraftforge.net") { name = "MinecraftForge" }
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
processResources {
|
||||||
|
val clothConfigVersion = when {
|
||||||
|
stonecutterBuild.current.version.startsWith("1.20") ->
|
||||||
|
commonMod.propOrNull("cloth_config_version_1_20_1")
|
||||||
|
stonecutterBuild.current.version.startsWith("1.21") ->
|
||||||
|
commonMod.propOrNull("cloth_config_version_1_21_1")
|
||||||
|
else -> null
|
||||||
|
}
|
||||||
|
|
||||||
|
val expandProps = mapOf(
|
||||||
|
"java_version" to commonMod.propOrNull("java.version"),
|
||||||
|
"version" to commonMod.version,
|
||||||
|
"group" to commonMod.group,
|
||||||
|
"mod_name" to commonMod.name,
|
||||||
|
"mod_author" to commonMod.author,
|
||||||
|
"mod_id" to commonMod.id,
|
||||||
|
"license" to commonMod.license,
|
||||||
|
"description" to commonMod.description,
|
||||||
|
"credits" to commonMod.credits,
|
||||||
|
"minecraft_version" to commonMod.propOrNull("minecraft_version"),
|
||||||
|
"minecraft_version_range" to commonMod.propOrNull("minecraft_version_range"),
|
||||||
|
"fabric_api_version" to commonMod.propOrNull("fabric_api_version"),
|
||||||
|
"fabric_loader_version" to commonMod.propOrNull("fabric_loader_version"),
|
||||||
|
"neoforge_version" to commonMod.propOrNull("neoforge_version"),
|
||||||
|
"neoforge_version_range" to commonMod.propOrNull("neoforge_version_range"),
|
||||||
|
"neoforge_loader_version_range" to commonMod.propOrNull("neoforge_loader_version_range"),
|
||||||
|
"minecraftforge_version" to commonMod.propOrNull("minecraftforge_version"),
|
||||||
|
"minecraftforge_version_range" to commonMod.propOrNull("minecraftforge_version_range"),
|
||||||
|
"minecraftforge_eventbus_validator_version" to
|
||||||
|
commonMod.propOrNull("minecraftforge_eventbus_validator_version"),
|
||||||
|
"quilted_fabric_api_version" to commonMod.propOrNull("quilted_fabric_api_version"),
|
||||||
|
"quilt_loader_version" to commonMod.propOrNull("quilt_loader_version"),
|
||||||
|
|
||||||
|
"architectury_version" to commonMod.propOrNull("architectury_version"),
|
||||||
|
"geckolib_version" to commonMod.propOrNull("geckolib_version"),
|
||||||
|
"modmenu_version" to commonMod.propOrNull("modmenu_version"),
|
||||||
|
"jei_version" to commonMod.propOrNull("jei_version"),
|
||||||
|
"cloth_config_version_1_20_1" to commonMod.propOrNull("cloth_config_version_1_20_1"),
|
||||||
|
"cloth_config_version_1_21_1" to commonMod.propOrNull("cloth_config_version_1_21_1"),
|
||||||
|
|
||||||
|
// add this:
|
||||||
|
"cloth_config_version" to clothConfigVersion,
|
||||||
|
).filterValues { it?.isNotEmpty() == true }.mapValues { (_, v) -> v!! }
|
||||||
|
|
||||||
|
val jsonExpandProps = expandProps.mapValues { (_, v) -> v.replace("\n", "\\\\n") }
|
||||||
|
|
||||||
|
filesMatching(listOf("META-INF/mods.toml", "META-INF/neoforge.mods.toml")) {
|
||||||
|
expand(expandProps)
|
||||||
|
}
|
||||||
|
|
||||||
|
filesMatching(listOf("pack.mcmeta", "fabric.mod.json", "quilt.mod.json", "*.mixins.json")) {
|
||||||
|
expand(jsonExpandProps)
|
||||||
|
}
|
||||||
|
|
||||||
|
inputs.properties(expandProps)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.named("processResources") {
|
||||||
|
dependsOn(":common:${commonMod.propOrNull("minecraft_version")}:stonecutterGenerate")
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
plugins {
|
||||||
|
id("multiloader-common")
|
||||||
|
}
|
||||||
|
|
||||||
|
val commonJava: Configuration by configurations.creating {
|
||||||
|
isCanBeResolved = true
|
||||||
|
}
|
||||||
|
val commonResources: Configuration by configurations.creating {
|
||||||
|
isCanBeResolved = true
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
val commonPath = common.hierarchy.toString()
|
||||||
|
compileOnly(project(path = commonPath))
|
||||||
|
commonJava(project(path = commonPath, configuration = "commonJava"))
|
||||||
|
commonResources(project(path = commonPath, configuration = "commonResources"))
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks {
|
||||||
|
compileJava {
|
||||||
|
dependsOn(commonJava)
|
||||||
|
source(commonJava)
|
||||||
|
}
|
||||||
|
|
||||||
|
processResources {
|
||||||
|
dependsOn(commonResources)
|
||||||
|
from(commonResources)
|
||||||
|
}
|
||||||
|
|
||||||
|
jar {
|
||||||
|
exclude("accesswideners/**")
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
plugins {
|
||||||
|
id("multiloader-common")
|
||||||
|
id("dev.architectury.loom")
|
||||||
|
id("architectury-plugin") version "3.4.162"
|
||||||
|
}
|
||||||
|
|
||||||
|
val is120 = project.path.contains("1.20")
|
||||||
|
val targetBytecode = if (is120) 17 else 21
|
||||||
|
|
||||||
|
println("DEBUG: Project ${project.path} -> Compiler: JDK 21 (Fixed), Bytecode Target: $targetBytecode")
|
||||||
|
|
||||||
|
java {
|
||||||
|
// TRICK: Always use the Java 21 Toolchain to run the build.
|
||||||
|
// This stops Gradle from complaining about Architectury 13 requiring Java 21,
|
||||||
|
// even when we are currently focused on 1.20.1.
|
||||||
|
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
|
||||||
|
withSourcesJar()
|
||||||
|
}
|
||||||
|
|
||||||
|
tasks.withType<JavaCompile>().configureEach {
|
||||||
|
// TRICK: Even though we are using JDK 21 to compile, we force the output
|
||||||
|
// to be compatible with Java 17 when building for 1.20.1.
|
||||||
|
options.release.set(targetBytecode)
|
||||||
|
options.encoding = "UTF-8"
|
||||||
|
}
|
||||||
|
|
||||||
|
loom {
|
||||||
|
accessWidenerPath =
|
||||||
|
common.project.file("../../src/main/resources/accesswideners/${commonMod.minecraft_version}-${mod.id}.accesswidener")
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
mavenCentral()
|
||||||
|
maven("https://maven.architectury.dev/")
|
||||||
|
maven("https://maven.terraformersmc.com/releases/")
|
||||||
|
maven("https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/")
|
||||||
|
maven("https://maven.blamejared.com/")
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
minecraft("com.mojang:minecraft:${commonMod.minecraft_version}")
|
||||||
|
mappings(loom.layered {
|
||||||
|
officialMojangMappings()
|
||||||
|
commonMod.propOrNull("parchment_mappings")?.let { parchmentVersion ->
|
||||||
|
if (parchmentVersion != "") parchment("org.parchmentmc.data:parchment-${commonMod.minecraft_version}:$parchmentVersion@zip")
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
compileOnly("org.spongepowered:mixin:0.8.5")
|
||||||
|
"io.github.llamalad7:mixinextras-common:0.5.0".let {
|
||||||
|
compileOnly(it)
|
||||||
|
annotationProcessor(it)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Architectury & GeckoLib
|
||||||
|
modImplementation("dev.architectury:architectury:${commonMod.prop("architectury_version")}")
|
||||||
|
modImplementation("software.bernie.geckolib:geckolib-fabric-${commonMod.minecraft_version}:${commonMod.prop("geckolib_version")}")
|
||||||
|
|
||||||
|
// JEI (Common API)
|
||||||
|
// We use "modCompileOnly" because we only need the API to write code, not the full mod
|
||||||
|
modCompileOnly("mezz.jei:jei-${commonMod.minecraft_version}-common-api:${commonMod.prop("jei_version")}")
|
||||||
|
}
|
||||||
|
|
||||||
|
val commonJava: Configuration by configurations.creating {
|
||||||
|
isCanBeResolved = false
|
||||||
|
isCanBeConsumed = true
|
||||||
|
}
|
||||||
|
|
||||||
|
val commonResources: Configuration by configurations.creating {
|
||||||
|
isCanBeResolved = false
|
||||||
|
isCanBeConsumed = true
|
||||||
|
}
|
||||||
|
|
||||||
|
artifacts {
|
||||||
|
afterEvaluate {
|
||||||
|
val mainSourceSet = sourceSets.main.get()
|
||||||
|
mainSourceSet.java.sourceDirectories.files.forEach {
|
||||||
|
add(commonJava.name, it)
|
||||||
|
}
|
||||||
|
mainSourceSet.resources.sourceDirectories.files.forEach {
|
||||||
|
add(commonResources.name, it)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
loader=common
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
package net.cmr.jurassicrevived;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.block.ModBlocks;
|
||||||
|
import net.cmr.jurassicrevived.config.JRConfigManager;
|
||||||
|
import net.cmr.jurassicrevived.entity.ModEntities;
|
||||||
|
import net.cmr.jurassicrevived.item.ModCreativeTabs;
|
||||||
|
import net.cmr.jurassicrevived.item.ModItems;
|
||||||
|
import net.cmr.jurassicrevived.platform.Services;
|
||||||
|
import net.minecraft.core.registries.BuiltInRegistries;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
|
||||||
|
// This class is part of the common project meaning it is shared between all supported loaders. Code written here can only
|
||||||
|
// import and access the vanilla codebase, libraries used by vanilla, and optionally third party libraries that provide
|
||||||
|
// common compatible binaries. This means common code can not directly use loader specific concepts such as Forge events
|
||||||
|
// however it will be compatible with all supported mod loaders.
|
||||||
|
public class CommonClass
|
||||||
|
{
|
||||||
|
|
||||||
|
// The loader specific projects are able to import and use any code from the common project. This allows you to
|
||||||
|
// write the majority of your code here and load it from your loader specific projects. This example has some
|
||||||
|
// code that gets invoked by the entry point of the loader specific projects.
|
||||||
|
public static void init() {
|
||||||
|
|
||||||
|
Constants.LOG.info("Hello from Common init on {}! we are currently in a {} environment!", Services.PLATFORM.getPlatformName(), Services.PLATFORM.getEnvironmentName());
|
||||||
|
Constants.LOG.info("The ID for diamonds is {}", BuiltInRegistries.ITEM.getKey(Items.DIAMOND));
|
||||||
|
|
||||||
|
// It is common for all supported loaders to provide a similar feature that can not be used directly in the
|
||||||
|
// common code. A popular way to get around this is using Java's built-in service loader feature to create
|
||||||
|
// your own abstraction layer. You can learn more about this in our provided services class. In this example
|
||||||
|
// we have an interface in the common code and use a loader specific implementation to delegate our call to
|
||||||
|
// the platform specific approach.
|
||||||
|
if (Services.PLATFORM.isModLoaded("examplemod")) {
|
||||||
|
|
||||||
|
Constants.LOG.info("Hello to examplemod");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load config from the loader-specific config dir
|
||||||
|
JRConfigManager.load(Services.PLATFORM.getConfigDir());
|
||||||
|
|
||||||
|
ModBlocks.register();
|
||||||
|
ModItems.register();
|
||||||
|
ModCreativeTabs.register();
|
||||||
|
ModEntities.register();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package net.cmr.jurassicrevived;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
public class Constants
|
||||||
|
{
|
||||||
|
|
||||||
|
public static final String MOD_ID = "jurassicrevived";
|
||||||
|
public static final String MOD_NAME = "JurassicRevived";
|
||||||
|
public static final Logger LOG = LoggerFactory.getLogger(MOD_NAME);
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package net.cmr.jurassicrevived.block;
|
||||||
|
|
||||||
|
import dev.architectury.registry.registries.DeferredRegister;
|
||||||
|
import dev.architectury.registry.registries.RegistrySupplier;
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.cmr.jurassicrevived.item.ModItems;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||||
|
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
|
public class ModBlocks {
|
||||||
|
public static final DeferredRegister<Block> BLOCKS =
|
||||||
|
DeferredRegister.create(Constants.MOD_ID, Registries.BLOCK);
|
||||||
|
|
||||||
|
// --- Examples ---
|
||||||
|
public static final RegistrySupplier<Block> FOSSIL_ORE = registerBlock("fossil_ore",
|
||||||
|
() -> new Block(BlockBehaviour.Properties.of().strength(3.0f)));
|
||||||
|
|
||||||
|
|
||||||
|
// --- Helper Methods ---
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registers a block and a corresponding BlockItem.
|
||||||
|
*/
|
||||||
|
|
||||||
|
private static <T extends Block> RegistrySupplier<T> registerBlock(String name, Supplier<T> block) {
|
||||||
|
RegistrySupplier<T> toReturn = BLOCKS.register(name, block);
|
||||||
|
registerBlockItem(name, toReturn);
|
||||||
|
return toReturn;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static <T extends Block> void registerBlockItem(String name, RegistrySupplier<T> block) {
|
||||||
|
ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties()));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
BLOCKS.register();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
package net.cmr.jurassicrevived.config;
|
||||||
|
|
||||||
|
public final class JRConfig {
|
||||||
|
// Example options (replace with your real ones)
|
||||||
|
public boolean enableDinosaurs = true;
|
||||||
|
public int spawnWeight = 10;
|
||||||
|
|
||||||
|
public JRConfig() {
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package net.cmr.jurassicrevived.config;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
public final class JRConfigManager {
|
||||||
|
private static JRConfig config = new JRConfig();
|
||||||
|
|
||||||
|
private JRConfigManager() {}
|
||||||
|
|
||||||
|
public static JRConfig get() {
|
||||||
|
return config;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loader modules should call this with the platform's config directory.
|
||||||
|
*/
|
||||||
|
public static void load(Path configDir) {
|
||||||
|
Path file = configDir.resolve("jurassicrevived.json");
|
||||||
|
if (!Files.exists(file)) {
|
||||||
|
save(configDir);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Minimal placeholder IO (swap to Gson/Jackson later if you want)
|
||||||
|
// For now: keep it simple and non-fatal.
|
||||||
|
try {
|
||||||
|
String text = Files.readString(file, StandardCharsets.UTF_8);
|
||||||
|
// TODO: parse JSON into config (Gson recommended)
|
||||||
|
// config = parsed;
|
||||||
|
} catch (IOException e) {
|
||||||
|
// Keep defaults if load fails
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void save(Path configDir) {
|
||||||
|
try {
|
||||||
|
Files.createDirectories(configDir);
|
||||||
|
Path file = configDir.resolve("jurassicrevived.json");
|
||||||
|
|
||||||
|
// TODO: write JSON (Gson recommended)
|
||||||
|
String text = "{\n" +
|
||||||
|
" \"enableDinosaurs\": " + config.enableDinosaurs + ",\n" +
|
||||||
|
" \"spawnWeight\": " + config.spawnWeight + "\n" +
|
||||||
|
"}\n";
|
||||||
|
|
||||||
|
Files.writeString(file, text, StandardCharsets.UTF_8);
|
||||||
|
} catch (IOException e) {
|
||||||
|
// ignore / log via your logger if desired
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package net.cmr.jurassicrevived.entity;
|
||||||
|
|
||||||
|
import dev.architectury.registry.registries.DeferredRegister;
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.world.entity.EntityType;
|
||||||
|
|
||||||
|
public class ModEntities {
|
||||||
|
public static final DeferredRegister<EntityType<?>> ENTITIES =
|
||||||
|
DeferredRegister.create(Constants.MOD_ID, Registries.ENTITY_TYPE);
|
||||||
|
|
||||||
|
// --- Example (Generic Entity) ---
|
||||||
|
// You will need your own Entity class (e.g., VelociraptorEntity::new)
|
||||||
|
/*
|
||||||
|
public static final RegistrySupplier<EntityType<VelociraptorEntity>> VELOCIRAPTOR = ENTITIES.register("velociraptor",
|
||||||
|
() -> EntityType.Builder.of(VelociraptorEntity::new, MobCategory.CREATURE)
|
||||||
|
.sized(1.0f, 2.0f)
|
||||||
|
.build(Constants.MOD_ID + ":velociraptor"));
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
ENTITIES.register();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package net.cmr.jurassicrevived.item;
|
||||||
|
|
||||||
|
import dev.architectury.registry.CreativeTabRegistry;
|
||||||
|
import dev.architectury.registry.registries.DeferredRegister;
|
||||||
|
import dev.architectury.registry.registries.RegistrySupplier;
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.world.item.CreativeModeTab;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
|
||||||
|
public class ModCreativeTabs {
|
||||||
|
public static final DeferredRegister<CreativeModeTab> TABS =
|
||||||
|
DeferredRegister.create(Constants.MOD_ID, Registries.CREATIVE_MODE_TAB);
|
||||||
|
|
||||||
|
public static final RegistrySupplier<CreativeModeTab> JURASSIC_TAB = TABS.register("jurassic_tab",
|
||||||
|
() -> CreativeTabRegistry.create(
|
||||||
|
Component.translatable("itemGroup." + Constants.MOD_ID + ".jurassic_tab"),
|
||||||
|
() -> new ItemStack(ModItems.AMBER_SHARD.get()) // Tab Icon
|
||||||
|
));
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
// Items must be explicitly added to tabs in 1.20+
|
||||||
|
// This usually goes in your Common setup, but you can trigger it here if your
|
||||||
|
// loader-specific entry points call this method.
|
||||||
|
|
||||||
|
TABS.register();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
package net.cmr.jurassicrevived.item;
|
||||||
|
|
||||||
|
import dev.architectury.registry.registries.DeferredRegister;
|
||||||
|
import dev.architectury.registry.registries.RegistrySupplier;
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
|
||||||
|
public class ModItems {
|
||||||
|
public static final DeferredRegister<Item> ITEMS =
|
||||||
|
DeferredRegister.create(Constants.MOD_ID, Registries.ITEM);
|
||||||
|
|
||||||
|
// --- Examples ---
|
||||||
|
public static final RegistrySupplier<Item> AMBER_SHARD = ITEMS.register("amber_shard",
|
||||||
|
() -> new Item(new Item.Properties()));
|
||||||
|
|
||||||
|
public static final RegistrySupplier<Item> DNA_SYRINGE = ITEMS.register("dna_syringe",
|
||||||
|
() -> new Item(new Item.Properties().stacksTo(1)));
|
||||||
|
|
||||||
|
public static void register() {
|
||||||
|
ITEMS.register();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package net.cmr.jurassicrevived.mixin;
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
|
@Mixin(Minecraft.class)
|
||||||
|
public class MixinMinecraft
|
||||||
|
{
|
||||||
|
|
||||||
|
@Inject(at = @At("TAIL"), method = "<init>")
|
||||||
|
private void init(CallbackInfo info) {
|
||||||
|
|
||||||
|
Constants.LOG.info("This line is printed by an example mod common mixin!");
|
||||||
|
Constants.LOG.info("MC Version: {}", Minecraft.getInstance().getVersionType());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
package net.cmr.jurassicrevived.platform;
|
||||||
|
|
||||||
|
|
||||||
|
import net.cmr.jurassicrevived.Constants;
|
||||||
|
import net.cmr.jurassicrevived.platform.services.IPlatformHelper;
|
||||||
|
|
||||||
|
import java.util.ServiceLoader;
|
||||||
|
|
||||||
|
// Service loaders are a built-in Java feature that allow us to locate implementations of an interface that vary from one
|
||||||
|
// environment to another. In the context of MultiLoader we use this feature to access a mock API in the common code that
|
||||||
|
// is swapped out for the platform specific implementation at runtime.
|
||||||
|
public class Services
|
||||||
|
{
|
||||||
|
|
||||||
|
// In this example we provide a platform helper which provides information about what platform the mod is running on.
|
||||||
|
// For example this can be used to check if the code is running on Forge vs Fabric, or to ask the modloader if another
|
||||||
|
// mod is loaded.
|
||||||
|
public static final IPlatformHelper PLATFORM = load(IPlatformHelper.class);
|
||||||
|
|
||||||
|
// This code is used to load a service for the current environment. Your implementation of the service must be defined
|
||||||
|
// manually by including a text file in META-INF/services named with the fully qualified class name of the service.
|
||||||
|
// Inside the file you should write the fully qualified class name of the implementation to load for the platform. For
|
||||||
|
// example our file on Forge points to ForgePlatformHelper while Fabric points to FabricPlatformHelper.
|
||||||
|
public static <T> T load(Class<T> clazz) {
|
||||||
|
|
||||||
|
final T loadedService = ServiceLoader.load(clazz)
|
||||||
|
.findFirst()
|
||||||
|
.orElseThrow(() -> new NullPointerException("Failed to load service for " + clazz.getName()));
|
||||||
|
Constants.LOG.debug("Loaded {} for service {}", loadedService, clazz);
|
||||||
|
return loadedService;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
package net.cmr.jurassicrevived.platform.services;
|
||||||
|
|
||||||
|
import java.nio.file.Path;
|
||||||
|
|
||||||
|
public interface IPlatformHelper
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the name of the current platform
|
||||||
|
*
|
||||||
|
* @return The name of the current platform.
|
||||||
|
*/
|
||||||
|
String getPlatformName();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks if a mod with the given id is loaded.
|
||||||
|
*
|
||||||
|
* @param modId The mod to check if it is loaded.
|
||||||
|
* @return True if the mod is loaded, false otherwise.
|
||||||
|
*/
|
||||||
|
boolean isModLoaded(String modId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the game is currently in a development environment.
|
||||||
|
*
|
||||||
|
* @return True if in a development environment, false otherwise.
|
||||||
|
*/
|
||||||
|
boolean isDevelopmentEnvironment();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the name of the environment type as a string.
|
||||||
|
*
|
||||||
|
* @return The name of the environment type.
|
||||||
|
*/
|
||||||
|
default String getEnvironmentName() {
|
||||||
|
|
||||||
|
return isDevelopmentEnvironment() ? "development":"production";
|
||||||
|
}
|
||||||
|
|
||||||
|
Path getConfigDir();
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
accessWidener v2 named
|
||||||
+4160
File diff suppressed because it is too large
Load Diff
+5162
File diff suppressed because it is too large
Load Diff
+3748
File diff suppressed because it is too large
Load Diff
+3607
File diff suppressed because it is too large
Load Diff
+4761
File diff suppressed because it is too large
Load Diff
+2146
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+4632
File diff suppressed because it is too large
Load Diff
+3510
File diff suppressed because it is too large
Load Diff
+3649
File diff suppressed because it is too large
Load Diff
+2047
File diff suppressed because it is too large
Load Diff
+5556
File diff suppressed because it is too large
Load Diff
+2113
File diff suppressed because it is too large
Load Diff
+2824
File diff suppressed because it is too large
Load Diff
+4072
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2416
File diff suppressed because it is too large
Load Diff
+3649
File diff suppressed because it is too large
Load Diff
+2802
File diff suppressed because it is too large
Load Diff
+3991
File diff suppressed because it is too large
Load Diff
+2696
File diff suppressed because it is too large
Load Diff
+2064
File diff suppressed because it is too large
Load Diff
+4230
File diff suppressed because it is too large
Load Diff
+2791
File diff suppressed because it is too large
Load Diff
+2145
File diff suppressed because it is too large
Load Diff
+2972
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+2532
File diff suppressed because it is too large
Load Diff
+2064
File diff suppressed because it is too large
Load Diff
+3510
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3298
File diff suppressed because it is too large
Load Diff
+4180
File diff suppressed because it is too large
Load Diff
+3332
File diff suppressed because it is too large
Load Diff
+3495
File diff suppressed because it is too large
Load Diff
+2825
File diff suppressed because it is too large
Load Diff
+4024
File diff suppressed because it is too large
Load Diff
+2900
File diff suppressed because it is too large
Load Diff
+2080
File diff suppressed because it is too large
Load Diff
+4195
File diff suppressed because it is too large
Load Diff
+4478
File diff suppressed because it is too large
Load Diff
+5676
File diff suppressed because it is too large
Load Diff
+2030
File diff suppressed because it is too large
Load Diff
+2074
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user