Compare commits

..

1 Commits

Author SHA1 Message Date
Ran e9fc666de5 Made forge actually run! Renamed com.seibel.lod.core to com.seibel.lod.coreapi 2023-05-01 19:27:51 +06:00
919 changed files with 36500 additions and 73715 deletions
-699
View File
@@ -1,699 +0,0 @@
# DH Core
# Note: please keep this and the main .editorconfig in sync
[*]
charset = utf-8
indent_size = 4
indent_style = space
insert_final_newline = false
max_line_length = 1000
tab_width = 4
trim_trailing_whitespace = false
ij_continuation_indent_size = 4
ij_formatter_off_tag = @formatter:off
ij_formatter_on_tag = @formatter:on
ij_formatter_tags_enabled = true
ij_smart_tabs = false
ij_visual_guides = none
ij_wrap_on_typing = false
[*.java]
indent_style = tab
ij_smart_tabs = true
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 = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_deconstruction_list_components = false
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = false
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 = false
ij_java_align_multiline_resources = false
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_align_types_in_multi_catch = 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 = normal
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 = 0
ij_java_blank_lines_around_method = 0
ij_java_blank_lines_around_method_in_interface = 0
ij_java_blank_lines_before_class_end = 1
ij_java_blank_lines_before_imports = 1
ij_java_blank_lines_before_method_body = 0
ij_java_blank_lines_before_package = 1
ij_java_block_brace_style = next_line
ij_java_block_comment_add_space = false
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 = normal
ij_java_case_statement_on_separate_line = true
ij_java_catch_on_new_line = true
ij_java_class_annotation_wrap = off
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_deconstruction_list_wrap = normal
ij_java_do_not_indent_top_level_class_members = false
ij_java_do_not_wrap_after_single_annotation = false
ij_java_do_not_wrap_after_single_annotation_in_parameter = 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 = false
ij_java_doc_align_exception_comments = false
ij_java_doc_align_param_comments = false
ij_java_doc_do_not_wrap_if_one_line = true
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 = false
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 = true
ij_java_enum_constants_wrap = off
ij_java_extends_keyword_wrap = normal
ij_java_extends_list_wrap = normal
ij_java_field_annotation_wrap = off
ij_java_finally_on_new_line = true
ij_java_for_brace_force = always
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 = 10
ij_java_keep_blank_lines_between_package_declaration_and_header = 2
ij_java_keep_blank_lines_in_code = 10
ij_java_keep_blank_lines_in_declarations = 10
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 = true
ij_java_keep_line_breaks = true
ij_java_keep_multiple_expressions_in_one_line = true
ij_java_keep_simple_blocks_in_one_line = false
ij_java_keep_simple_classes_in_one_line = true
ij_java_keep_simple_lambdas_in_one_line = true
ij_java_keep_simple_methods_in_one_line = true
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_add_space_on_reformat = false
ij_java_line_comment_at_first_column = false
ij_java_method_annotation_wrap = off
ij_java_method_brace_style = next_line
ij_java_method_call_chain_wrap = normal
ij_java_method_parameters_new_line_after_left_paren = true
ij_java_method_parameters_right_paren_on_new_line = false
ij_java_method_parameters_wrap = normal
ij_java_modifier_list_wrap = false
ij_java_multi_catch_types_wrap = normal
ij_java_names_count_to_use_import_on_demand = 3
ij_java_new_line_after_lparen_in_annotation = false
ij_java_new_line_after_lparen_in_deconstruction_pattern = true
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 = false
ij_java_replace_sum_lambda_with_method_ref = false
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 = on_every_item
ij_java_rparen_on_new_line_in_annotation = false
ij_java_rparen_on_new_line_in_deconstruction_pattern = true
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 = true
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 = true
ij_java_space_before_colon_in_foreach = true
ij_java_space_before_comma = false
ij_java_space_before_deconstruction_list = 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 = false
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 = true
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_annotation_eq = 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 = true
ij_java_spaces_within_brackets = false
ij_java_spaces_within_cast_parentheses = false
ij_java_spaces_within_catch_parentheses = false
ij_java_spaces_within_deconstruction_list = 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 = on_every_item
ij_java_test_name_suffix = Test
ij_java_throws_keyword_wrap = normal
ij_java_throws_list_wrap = normal
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 = always
ij_java_while_on_new_line = true
ij_java_wrap_comments = false
ij_java_wrap_first_method_in_call_chain = false
ij_java_wrap_long_lines = false
[*.nbtt]
indent_style = tab
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_add_space = false
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
ij_xml_use_custom_settings = false
[{*.bash,*.sh,*.zsh}]
indent_size = 4
tab_width = 4
ij_shell_binary_ops_start_line = false
ij_shell_keep_column_alignment_padding = false
ij_shell_minify_program = false
ij_shell_redirect_followed_by_space = false
ij_shell_switch_cases_indented = false
ij_shell_use_unix_line_separator = true
[{*.comp,*.frag,*.fsh,*.geom,*.glsl,*.gsh,*.tesc,*.tese,*.vert,*.vsh}]
ij_glsl_space_after_colon = true
ij_glsl_space_after_comma = true
ij_glsl_space_after_for_semicolon = true
ij_glsl_space_after_quest = true
ij_glsl_space_before_colon = false
ij_glsl_space_before_comma = false
ij_glsl_space_before_for_semicolon = false
ij_glsl_space_before_quest = true
ij_glsl_spaces_around_additive_operators = true
ij_glsl_spaces_around_assignment_operators = true
ij_glsl_spaces_around_bitwise_operators = true
ij_glsl_spaces_around_equality_operators = true
ij_glsl_spaces_around_logical_operators = true
ij_glsl_spaces_around_multiplicative_operators = true
ij_glsl_spaces_around_relational_operators = true
ij_glsl_spaces_around_shift_operators = true
ij_glsl_spaces_within_brackets = false
ij_glsl_spaces_within_parentheses = false
[{*.gant,*.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_add_space = false
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 = end_of_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_enable_groovydoc_formatting = true
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_ginq_general_clause_wrap_policy = 2
ij_groovy_ginq_having_wrap_policy = 1
ij_groovy_ginq_indent_having_clause = true
ij_groovy_ginq_indent_on_clause = true
ij_groovy_ginq_on_wrap_policy = 1
ij_groovy_ginq_space_after_keyword = true
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_add_space_on_reformat = 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_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
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_record_parentheses = false
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,*.png.mcmeta,mcmod.info,pack.mcmeta}]
indent_size = 4
ij_json_array_wrapping = split_into_lines
ij_json_keep_blank_lines_in_code = 0
ij_json_keep_indents_on_empty_lines = false
ij_json_keep_line_breaks = true
ij_json_keep_trailing_comma = false
ij_json_object_wrapping = split_into_lines
ij_json_property_alignment = do_not_align
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_add_space = false
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
[{*.kt,*.kts}]
ij_kotlin_align_in_columns_case_branch = false
ij_kotlin_align_multiline_binary_operation = false
ij_kotlin_align_multiline_extends_list = false
ij_kotlin_align_multiline_method_parentheses = false
ij_kotlin_align_multiline_parameters = true
ij_kotlin_align_multiline_parameters_in_calls = false
ij_kotlin_allow_trailing_comma = false
ij_kotlin_allow_trailing_comma_on_call_site = false
ij_kotlin_assignment_wrap = off
ij_kotlin_blank_lines_after_class_header = 0
ij_kotlin_blank_lines_around_block_when_branches = 0
ij_kotlin_blank_lines_before_declaration_with_comment_or_annotation_on_separate_line = 1
ij_kotlin_block_comment_add_space = false
ij_kotlin_block_comment_at_first_column = true
ij_kotlin_call_parameters_new_line_after_left_paren = false
ij_kotlin_call_parameters_right_paren_on_new_line = false
ij_kotlin_call_parameters_wrap = off
ij_kotlin_catch_on_new_line = false
ij_kotlin_class_annotation_wrap = split_into_lines
ij_kotlin_continuation_indent_for_chained_calls = true
ij_kotlin_continuation_indent_for_expression_bodies = true
ij_kotlin_continuation_indent_in_argument_lists = true
ij_kotlin_continuation_indent_in_elvis = true
ij_kotlin_continuation_indent_in_if_conditions = true
ij_kotlin_continuation_indent_in_parameter_lists = true
ij_kotlin_continuation_indent_in_supertype_lists = true
ij_kotlin_else_on_new_line = false
ij_kotlin_enum_constants_wrap = off
ij_kotlin_extends_list_wrap = off
ij_kotlin_field_annotation_wrap = split_into_lines
ij_kotlin_finally_on_new_line = false
ij_kotlin_if_rparen_on_new_line = false
ij_kotlin_import_nested_classes = false
ij_kotlin_imports_layout = *,java.**,javax.**,kotlin.**,^
ij_kotlin_insert_whitespaces_in_simple_one_line_method = true
ij_kotlin_keep_blank_lines_before_right_brace = 2
ij_kotlin_keep_blank_lines_in_code = 2
ij_kotlin_keep_blank_lines_in_declarations = 2
ij_kotlin_keep_first_column_comment = true
ij_kotlin_keep_indents_on_empty_lines = false
ij_kotlin_keep_line_breaks = true
ij_kotlin_lbrace_on_next_line = false
ij_kotlin_line_break_after_multiline_when_entry = true
ij_kotlin_line_comment_add_space = false
ij_kotlin_line_comment_add_space_on_reformat = false
ij_kotlin_line_comment_at_first_column = true
ij_kotlin_method_annotation_wrap = split_into_lines
ij_kotlin_method_call_chain_wrap = off
ij_kotlin_method_parameters_new_line_after_left_paren = false
ij_kotlin_method_parameters_right_paren_on_new_line = false
ij_kotlin_method_parameters_wrap = off
ij_kotlin_name_count_to_use_star_import = 5
ij_kotlin_name_count_to_use_star_import_for_members = 3
ij_kotlin_packages_to_use_import_on_demand = java.util.*,kotlinx.android.synthetic.**,io.ktor.**
ij_kotlin_parameter_annotation_wrap = off
ij_kotlin_space_after_comma = true
ij_kotlin_space_after_extend_colon = true
ij_kotlin_space_after_type_colon = true
ij_kotlin_space_before_catch_parentheses = true
ij_kotlin_space_before_comma = false
ij_kotlin_space_before_extend_colon = true
ij_kotlin_space_before_for_parentheses = true
ij_kotlin_space_before_if_parentheses = true
ij_kotlin_space_before_lambda_arrow = true
ij_kotlin_space_before_type_colon = false
ij_kotlin_space_before_when_parentheses = true
ij_kotlin_space_before_while_parentheses = true
ij_kotlin_spaces_around_additive_operators = true
ij_kotlin_spaces_around_assignment_operators = true
ij_kotlin_spaces_around_equality_operators = true
ij_kotlin_spaces_around_function_type_arrow = true
ij_kotlin_spaces_around_logical_operators = true
ij_kotlin_spaces_around_multiplicative_operators = true
ij_kotlin_spaces_around_range = false
ij_kotlin_spaces_around_relational_operators = true
ij_kotlin_spaces_around_unary_operator = false
ij_kotlin_spaces_around_when_arrow = true
ij_kotlin_variable_annotation_wrap = off
ij_kotlin_while_on_new_line = false
ij_kotlin_wrap_elvis_expressions = 1
ij_kotlin_wrap_expression_body_functions = 0
ij_kotlin_wrap_first_method_in_call_chain = false
[{*.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_format_tables = true
ij_markdown_insert_quote_arrows_on_wrap = true
ij_markdown_keep_indents_on_empty_lines = false
ij_markdown_keep_line_breaks_inside_text_blocks = true
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
ij_markdown_wrap_text_if_long = true
ij_markdown_wrap_text_inside_blockquotes = true
[{*.toml,Cargo.lock,Cargo.toml.orig,Gopkg.lock,Pipfile,poetry.lock}]
ij_toml_keep_indents_on_empty_lines = false
[{*.yaml,*.yml}]
indent_size = 4
ij_yaml_align_values_properties = do_not_align
ij_yaml_autoinsert_sequence_marker = true
ij_yaml_block_mapping_on_new_line = false
ij_yaml_indent_sequence_value = true
ij_yaml_keep_indents_on_empty_lines = false
ij_yaml_keep_line_breaks = true
ij_yaml_sequence_on_new_line = false
ij_yaml_space_before_colon = false
ij_yaml_spaces_within_braces = true
ij_yaml_spaces_within_brackets = true
-6
View File
@@ -24,9 +24,3 @@ run
# Files from Forge MDK # Files from Forge MDK
logs logs
forge*changelog.txt forge*changelog.txt
# Sqlite databases
*.sqlite
*.sqlite-journal
*.sqlite-shm
*.sqlite-wal
-1
View File
@@ -1 +0,0 @@
Distant Horizons logos © 2024 by Pankakes are licensed under CC BY-SA 4.0
+9 -9
View File
@@ -1,10 +1,10 @@
# <img src="https://gitlab.com/distant-horizons-team/distant-horizons-core/-/raw/main/_Misc%20Files/logo%20files/new/SVG/Distant-Horizons-Core.svg" height="128px"> # Distant Horizons
This repo is for the Distant Horizons mod. This repo is for the Distant Horizons mod.
The purpose of this submodule is to isolate code that isn't tied to a specific version of minecraft. This prevents us from having duplicate code; reducing errors and helping us port to different versions faster and easier. The purpose of this submodule is to isolate code that isn't tied to a specific version of minecraft. This prevents us from having duplicate code; reducing errors and potentially helping us port to different versions faster and easier.
Check out the mod's main GitLab page here: Check out the mod's main GitLab page here:
https://gitlab.com/distant-horizons-team/distant-horizons https://gitlab.com/jeseibel/minecraft-lod-mod
## source code installation ## source code installation
@@ -14,14 +14,14 @@ It should be automatically included when pulling the full mod.
## Open Source Acknowledgements ## Open Source Acknowledgements
LZ4 for Java (data compression)\ XZ for Java (data compression)\
https://github.com/lz4/lz4-java https://tukaani.org/xz/java.html
NightConfig for Json & Toml (config handling)\ Json & Toml for Java (config handling)\
https://github.com/TheElectronWill/night-config https://github.com/TheElectronWill/night-config
SVG Salamander for SVG support (not being used atm)\ SVG Salamander for SVG's\
https://github.com/blackears/svgSalamander https://github.com/blackears/svgSalamander
sqlite-jdbc\ FlatLaf for theming (for development testing, may remove later)\
https://github.com/xerial/sqlite-jdbc https://www.formdev.com/flatlaf/
@@ -0,0 +1,390 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles version="21">
<profile kind="CodeFormatterProfile" name="Eclipse (James' Edit)" version="21">
<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_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment" value="common_lines"/>
<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="do not 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.insert_space_before_closing_paren_in_while" value="do not 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.comment.format_javadoc_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_with_spaces" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_before_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<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="false"/>
<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.comment.count_line_length_from_starting_position" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_record_components" value="16"/>
<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.wrap_before_multiplicative_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" 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.insert_space_before_closing_brace_in_array_initializer" value="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.alignment_for_parameterized_type_references" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_logical_operator" value="16"/>
<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.keep_annotation_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator" value="insert"/>
<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_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.blank_lines_before_abstract_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns" value="false"/>
<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.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause" value="common_lines"/>
<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_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.alignment_for_multiplicative_operator" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_shift_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator" value="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.alignment_for_type_parameters" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_loops" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line" value="false"/>
<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.insert_space_after_comma_in_array_initializer" 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.format_line_comment_starting_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation" value="common_lines"/>
<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.alignment_for_annotations_on_enum_constant" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" 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.text_block_indentation" value="0"/>
<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.alignment_for_module_statements" value="16"/>
<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.comment.align_tags_names_descriptions" value="false"/>
<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.keep_if_then_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<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.align_assignment_statements_on_columns" value="false"/>
<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.alignment_for_conditional_expression_chain" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_annotations" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assertion_message_operator" value="true"/>
<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.align_fields_grouping_blank_lines" value="2147483647"/>
<setting id="org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator" value="16"/>
<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.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="true"/>
<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_allocation_expression" 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.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.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.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_not_operator" value="do not 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.parentheses_positions_in_method_delcaration" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_type_arguments" value="0"/>
<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.alignment_for_annotations_on_package" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<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_before_colon_in_conditional" value="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_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="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.indent_body_declarations_compare_to_record_header" value="true"/>
<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.insert_new_line_after_opening_brace_in_array_initializer" value="do not 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.wrap_before_bitwise_operator" value="true"/>
<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_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.comment.indent_tag_description" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_constructor" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<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.alignment_for_string_concatenation" value="16"/>
<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_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<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.insert_space_before_shift_operator" value="insert"/>
<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.formatter.insert_space_after_shift_operator" value="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_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line" value="false"/>
<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_comma_in_record_components" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" 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_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_additive_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line" value="false"/>
<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_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.join_lines_in_comments" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_relational_operator" value="insert"/>
<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.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_record_declaration" value="common_lines"/>
<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.parentheses_positions_in_switch_statement" value="common_lines"/>
<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_after_arrow_in_switch_default" 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.disabling_tag" value="@formatter:off"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_end_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement" value="common_lines"/>
<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.insert_space_before_arrow_in_switch_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field" value="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_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_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.never_indent_line_comments_on_first_column" value="true"/>
<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.align_tags_descriptions_grouped" value="true"/>
<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.keep_method_body_on_one_line" value="one_line_never"/>
<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.keep_loop_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" 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_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_additive_operator" value="16"/>
<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_opening_brace_in_record_constructor" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_relational_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_record_declaration_on_one_line" value="one_line_never"/>
<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_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.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.formatter.insert_new_line_before_catch_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_relational_operator" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="99"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_additive_operator" 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_after_string_concatenation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_record_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_after_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_type" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_local_variable" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="next_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_between_different_tags" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_additive_operator" value="insert"/>
<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.formatter.join_wrapped_lines" value="false"/>
<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.alignment_for_annotations_on_field" value="49"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_conditional_operator" value="true"/>
<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.alignment_for_shift_operator" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause" value="common_lines"/>
<setting id="org.eclipse.jdt.core.formatter.keep_code_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_record_components" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator" 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.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.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.insert_space_after_opening_paren_in_record_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_assignment_operator" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<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_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_method" value="49"/>
<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.keep_record_constructor_on_one_line" value="one_line_never"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_record_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assertion_message" value="0"/>
<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_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_opening_angle_bracket_in_parameterized_type_reference" 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_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_space_before_logical_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_record_declaration" value="16"/>
<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.wrap_before_relational_operator" value="true"/>
<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_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="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_last_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_logical_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_statement_group_in_switch" value="0"/>
<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.parentheses_positions_in_lambda_declaration" value="common_lines"/>
<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_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line" value="one_line_never"/>
<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.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.insert_space_before_multiplicative_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="1"/>
<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_comma_in_for_increments" 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.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<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.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="false"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_code_block" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_string_concatenation" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="1200"/>
<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>
@@ -1,6 +1,6 @@
The following is short tutorial to setup and register a gitlab runner in a docker container on windows. The following is short tutorial to setup and register a gitlab runner in a docker container on windows.
Docker can be installed via an installer from their website and these instructions assume that has already been done. Docker can be installed via a installer from their website and these instructions assume that has already been done.
longer tutorials can be found at the following links: longer tutorials can be found at the following links:
https://faun.pub/gitlab-runner-setup-run-in-docker-container-on-windows-44fee102d02e https://faun.pub/gitlab-runner-setup-run-in-docker-container-on-windows-44fee102d02e
@@ -32,11 +32,6 @@ gitlab project -> settings (on the left menu bar) -> CI/CD -> Runners
and you should see the newly registered runner (the description should show up under the runner's auto generated ID) and you should see the newly registered runner (the description should show up under the runner's auto generated ID)
5. optional config
Open Docker Desktop -> Containers -> Files, go to the file "etc/gitlab-runner/config.toml"
concurrent can be changed to allow for concurrent builds.
Additional commands: Additional commands:
+11
View File
@@ -0,0 +1,11 @@
These Files are used when developing the mod.
Eclipse Auto Formatting
IntelliJ Auto Formatting
- These files are the auto-formatting settings that should be used when developing for the mod. We want to make sure the style of code is consistant regardless of who is writting the code.
renderDocMcDistantHorizonsSettings
- This file contains the configuration to run a remote debug instance so you can edit the mod in your IDE while also viewing the OpenGL code in RenderDoc.
minecraft launch options
- This file contains the Java command line arguments used to launch the mod from a development environment (specifically Eclipse, James didn't test it with IntelliJ), and is included to more easily edit the options for RenderDoc
@@ -0,0 +1,50 @@
<code_scheme name="Eclipse (James' Edit)" version="173">
<option name="RIGHT_MARGIN" value="1200" />
<JavaCodeStyleSettings>
<option name="JD_ALIGN_PARAM_COMMENTS" value="false" />
<option name="JD_ALIGN_EXCEPTION_COMMENTS" value="false" />
<option name="JD_ADD_BLANK_AFTER_DESCRIPTION" value="false" />
<option name="JD_P_AT_EMPTY_LINES" value="false" />
<option name="JD_KEEP_INVALID_TAGS" value="false" />
<option name="JD_DO_NOT_WRAP_ONE_LINE_COMMENTS" value="true" />
<option name="JD_KEEP_EMPTY_PARAMETER" value="false" />
<option name="JD_KEEP_EMPTY_EXCEPTION" value="false" />
<option name="JD_KEEP_EMPTY_RETURN" value="false" />
</JavaCodeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="KEEP_BLANK_LINES_IN_DECLARATIONS" value="10" />
<option name="KEEP_BLANK_LINES_IN_CODE" value="10" />
<option name="KEEP_BLANK_LINES_BEFORE_RBRACE" value="10" />
<option name="BLANK_LINES_BEFORE_PACKAGE" value="1" />
<option name="BRACE_STYLE" value="2" />
<option name="CLASS_BRACE_STYLE" value="2" />
<option name="METHOD_BRACE_STYLE" value="2" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="WHILE_ON_NEW_LINE" value="true" />
<option name="CATCH_ON_NEW_LINE" value="true" />
<option name="FINALLY_ON_NEW_LINE" value="true" />
<option name="INDENT_CASE_FROM_SWITCH" value="false" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="ALIGN_MULTILINE_RESOURCES" value="false" />
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACES" value="true" />
<option name="SPACE_BEFORE_ARRAY_INITIALIZER_LBRACE" value="true" />
<option name="CALL_PARAMETERS_WRAP" value="1" />
<option name="METHOD_PARAMETERS_WRAP" value="1" />
<option name="RESOURCE_LIST_WRAP" value="5" />
<option name="EXTENDS_LIST_WRAP" value="1" />
<option name="THROWS_LIST_WRAP" value="1" />
<option name="EXTENDS_KEYWORD_WRAP" value="1" />
<option name="THROWS_KEYWORD_WRAP" value="1" />
<option name="METHOD_CALL_CHAIN_WRAP" value="1" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_WRAP" value="1" />
<option name="METHOD_ANNOTATION_WRAP" value="0" />
<option name="CLASS_ANNOTATION_WRAP" value="0" />
<option name="FIELD_ANNOTATION_WRAP" value="0" />
<indentOptions>
<option name="USE_TAB_CHARACTER" value="true" />
<option name="KEEP_INDENTS_ON_EMPTY_LINES" value="true" />
</indentOptions>
</codeStyleSettings>
</code_scheme>
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 83 KiB

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 191 KiB

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 172 KiB

Before

Width:  |  Height:  |  Size: 194 KiB

After

Width:  |  Height:  |  Size: 194 KiB

Before

Width:  |  Height:  |  Size: 174 KiB

After

Width:  |  Height:  |  Size: 174 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

@@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.94 1023">
<defs>
<style>
.cls-1 {
fill: #7ec138;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #12af68;
}
</style>
</defs>
<g id="Layer_15">
<g>
<g>
<path d="M899.94,260.54c0-17.71-9.16-33.58-24.5-42.44l-141.37-81.64c-8.37-4.84-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-9.95,5.75c.82-3.59,1.27-7.31,1.27-11.12,0-17.71-9.16-33.58-24.5-42.44L504.97,7.39c-8.37-4.83-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-140.78,81.3c-15.34,8.86-24.5,24.73-24.5,42.44,0,.34.03.67.03,1l-45.34-26.17c-8.37-4.83-17.91-7.39-27.58-7.39s-19.2,2.55-27.58,7.39L42.7,187.57c-15.34,8.86-24.5,24.72-24.5,42.44,0,17.06,8.51,32.38,22.83,41.4-23.23,3.84-41.03,24.01-41.03,48.32v162.23c0,19.64,10.57,37.95,27.58,47.77l2.71,1.56v221.34c0,19.79,10.55,38.07,27.69,47.97l367.81,212.5c22.86,13.21,51.04,13.21,73.9,0l367.8-212.45c17.14-9.9,27.69-28.19,27.69-47.97v-429.48c0-10.87-2.42-21.39-6.83-30.94,7.41-8.68,11.59-19.77,11.59-31.71Z"/>
<path class="cls-1" d="M42.85,503.28l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
</g>
<g>
<path class="cls-1" d="M682.81,673.17v168.68c0,11.85,12.82,19.25,23.08,13.33l146.2-84.37c7.62-4.4,12.32-12.53,12.32-21.33v-168.7c0-11.85-12.82-19.25-23.08-13.33l-146.2,84.4c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M476.59,552.87v42.73c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.62-4.4,12.31-12.53,12.31-21.32v-42.73c0-14.22-15.39-23.1-27.7-15.99l-36.93,21.32c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<g id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_">
<path class="cls-3" d="M293.15,393.42l37.53,21.67c7.62,4.4,17,4.4,24.62,0l37.53-21.67c12.31-7.11,12.31-24.88,0-31.99l-37.53-21.67c-7.62-4.4-17-4.4-24.62,0l-37.53,21.67c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-2" d="M403.03,481.64l46.77,27c7.62,4.4,17,4.4,24.62,0l46.77-27c8.21-4.74,8.21-16.59,0-21.32l-46.77-27c-7.62-4.4-17-4.4-24.62,0l-46.77,27c-8.21,4.74-8.21,16.59,0,21.32Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M384.25,710.23l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-42.75c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.75c0,8.8,4.69,16.93,12.32,21.33Z"/>
<path class="cls-1" d="M73.38,770.26l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path class="cls-1" d="M282.68,891.09l138.51,79.95c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.32l-138.51-79.97c-12.31-7.11-27.7,1.78-27.7,15.99v162.26c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-2" d="M384.25,590.25l36.94,21.34c12.31,7.11,27.7-1.77,27.7-15.99v-42.74c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.72c0,8.8,4.69,16.92,12.31,21.32Z"/>
<path class="cls-3" d="M273.52,642.44l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-162.7c0-8.8-4.69-16.92-12.31-21.32l-36.94-21.34c-12.31-7.11-27.7,1.77-27.7,15.99v162.72c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M578.16,494.23v42.72c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.61-4.4,12.31-12.52,12.31-21.31l.02-42.74c0-14.22-15.39-23.11-27.7-16l-36.95,21.34c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<path class="cls-1" d="M324.3,147.12l140.78,81.24c7.62,4.4,17,4.4,24.62,0l140.76-81.27c12.31-7.11,12.31-24.88,0-31.99l-140.75-81.27c-7.62-4.4-17.01-4.4-24.63,0l-140.78,81.3c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path class="cls-1" d="M553.45,276.16l141.35,81.64c7.62,4.4,17.01,4.4,24.63,0l140.75-81.27c12.31-7.11,12.31-24.88,0-31.99l-141.37-81.64c-7.62-4.4-17.01-4.4-24.63,0l-140.73,81.27c-12.31,7.11-12.31,24.88,0,31.98Z"/>
<path class="cls-1" d="M682.81,433.81v162.7c0,14.21,15.39,23.1,27.7,16l141.58-81.71c7.62-4.4,12.32-12.53,12.32-21.33v-162.72c0-14.22-15.39-23.1-27.7-15.99l-141.58,81.73c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M476.59,792.09v163.35c0,14.21,15.37,23.09,27.68,16.01l138.53-79.74c7.63-4.39,12.34-12.53,12.34-21.34v-163.35c0-14.21-15.37-23.09-27.68-16.01l-138.53,79.74c-7.63,4.39-12.34,12.53-12.34,21.34Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M476.59,672.8v42.75c0,14.22,15.39,23.1,27.7,15.99l138.51-79.95c7.62-4.4,12.31-12.53,12.31-21.33v-42.75c0-14.22-15.39-23.1-27.7-15.99l-138.51,79.95c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M57.96,246l140.75,81.27c7.62,4.4,17.01,4.4,24.63,0l141.34-81.63c12.31-7.11,12.31-24.88,0-31.99l-140.73-81.24c-7.62-4.4-17-4.4-24.62,0L57.97,214.01c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M428.16,351.42l141.39,81.63c7.62,4.4,17,4.4,24.62,0l36.9-21.31c12.31-7.11,12.31-24.88,0-31.99l-141.39-81.63c-7.62-4.4-17-4.4-24.62,0l-36.9,21.31c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.2 KiB

@@ -1,55 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2891.6 1023">
<defs>
<style>
.cls-1 {
fill: #7ec138;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #12af68;
}
</style>
</defs>
<g id="Layer_15">
<g>
<path d="M2864.43,472.26v-8.85c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-162.78c-5.06,0-9.16,4.1-9.16,9.16v8.85c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-81.22c-5.06,0-9.16,4.1-9.16,9.16v8.85c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-8.89c-5.06,0-9.16-4.1-9.16-9.16v-126.74c0-5.06,4.1-9.16,9.16-9.16h36.06c5.06,0,9.16-4.1,9.16-9.16v-57.07c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-271.51c-5.06,0-9.16,4.1-9.16,9.16v11.88c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-81.22c-5.06,0-9.16,4.1-9.16,9.16v11.88c0,5.06-4.1,9.16-9.16,9.16h-18.02c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-570.48c-5.06,0-9.16,4.1-9.16,9.16v11.88c0,5.06-4.1,9.16-9.16,9.16h-18.01c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-81.22c-5.06,0-9.16,4.1-9.16,9.16v39.05c0,5.06-4.1,9.16-9.16,9.16h-18.01c-5.06,0-9.16-4.1-9.16-9.16v-8.85c0-5.06-4.1-9.16-9.16-9.16h-8.89c-5.06,0-9.16-4.1-9.16-9.16v-11.88c0-5.06-4.1-9.16-9.16-9.16h-165.71c-5.06,0-9.16,4.1-9.16,9.16v220.12c0,5.06,4.1,9.16,9.16,9.16h1.12c5.06,0,9.16,4.1,9.16,9.16h0c0,5.06-4.1,9.16-9.16,9.16h-1.12c-5.06,0-9.16,4.1-9.16,9.16v207.97c0,5.06,4.1,9.16,9.16,9.16h1.12c5.06,0,9.16,4.1,9.16,9.16v30.53c0,5.06-4.1,9.16-9.16,9.16h-1.12c-5.06,0-9.16,4.1-9.16,9.16v191.37c0,5.06,4.1,9.16,9.16,9.16h7.23c5.06,0,9.16,4.1,9.16,9.16v9.17c0,5.06,4.1,9.16,9.16,9.16h88.59c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h18.33c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h186.87c5.06,0,9.16-4.1,9.16-9.16v-36.64c0-5.06,4.1-9.16,9.16-9.16h87.9c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h15.26c5.06,0,9.16,4.1,9.16,9.15v9.17c0,5.06,4.1,9.16,9.16,9.16h87.08c5.06,0,9.16-4.1,9.16-9.16v-226.53c0-5.06,4.1-9.16,9.16-9.16h480.86c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h161.83c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h79.39c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h79.39c5.06,0,9.16-4.1,9.16-9.16v-9.16c0-5.06,4.1-9.16,9.16-9.16h21.37c5.06,0,9.16,4.1,9.16,9.16v9.16c0,5.06,4.1,9.16,9.16,9.16h143.43c5.06,0,9.16-4.1,9.16-9.16v-8.52c0-5.06,4.1-9.16,9.16-9.16h8.85c5.06,0,9.16-4.1,9.16-9.16v-174.06c0-5.06-4.1-9.16-9.16-9.16h-8.85c-5.06,0-9.16-4.1-9.16-9.16Z"/>
<path id="Horizons" class="cls-1" d="M2787.46,494.87v-8.86c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h90.4c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h36.04c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-90.4c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16ZM2588.05,449.67h-36.04c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-90.4c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-171.93c0-5.06-4.1-9.16-9.16-9.16ZM2334.58,476.85h8.86c5.06,0,9.16,4.1,9.16,9.16v117.57c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-117.57c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM2225.86,612.74h63.22c5.06,0,9.16-4.1,9.16-9.16v-117.57c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v117.57c0,5.06,4.1,9.16,9.16,9.16ZM2098.83,449.67h-171.93c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h90.4c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h171.93c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-90.4c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16ZM1863.38,630.76v-171.93c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16ZM1745.5,531.2h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-171.93c0-5.06,4.1-9.16,9.16-9.16h144.75c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16ZM1700.3,522.04v-36.04c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16ZM1492.03,476.85h8.86c5.06,0,9.16,4.1,9.16,9.16v117.57c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-117.57c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM1455.69,603.58v-117.57c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v117.57c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16ZM1256.28,449.67h-36.04c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-63.22c-5.06,0-9.16-4.1-9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06,4.1-9.16,9.16-9.16h63.22c5.06,0,9.16,4.1,9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-171.93c0-5.06-4.1-9.16-9.16-9.16Z"/>
<g id="Distant">
<path class="cls-2" d="M2461.31,214.22v8.86c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v144.75c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-144.75c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h144.75c5.06,0,9.16,4.1,9.16,9.16ZM2261.9,205.06h-36.04c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-90.4c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-171.93c0-5.06-4.1-9.16-9.16-9.16ZM2008.43,241.3h8.86c5.06,0,9.16,4.1,9.16,9.16v135.69c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-135.69c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-17.92c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v17.92c0,5.06,4.1,9.16,9.16,9.16ZM1972.09,304.61v-63.22c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16ZM1799.86,205.06h-144.75c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16,4.1,9.16,9.16v144.75c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-144.75c0-5.06,4.1-9.16,9.16-9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16ZM1573.57,259.41h36.04c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-117.57c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h90.4c5.06,0,9.16,4.1,9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-63.22c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h117.57c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-8.86c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-90.4c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06,4.1-9.16,9.16-9.16h63.22c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM1374.15,386.15v-171.93c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v171.93c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16ZM1247.42,259.41h8.86c5.06,0,9.16,4.1,9.16,9.16v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-117.57c-5.06,0-9.16-4.1-9.16-9.16v-171.93c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16ZM1193.06,340.95h14.9c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16h-14.9c-5.06,0-9.16-4.1-9.16-9.16v-8.86c0-5.06-4.1-9.16-9.16-9.16h-36.04c-5.06,0-9.16,4.1-9.16,9.16v117.57c0,5.06,4.1,9.16,9.16,9.16h36.04c5.06,0,9.16-4.1,9.16-9.16v-8.86c0-5.06,4.1-9.16,9.16-9.16Z"/>
</g>
<path class="cls-3" d="M1564.41,875.37v-171.93c0-5.06,4.1-9.16,9.16-9.16h36.04c5.06,0,9.16,4.1,9.16,9.16v171.93c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16ZM1510.05,730.62v63.22c0,5.06-4.1,9.16-9.16,9.16h-8.86c-5.06,0-9.16,4.1-9.16,9.16v8.86c0,5.06-4.1,9.16-9.16,9.16h-90.4c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-171.93c0-5.06,4.1-9.16,9.16-9.16h144.75c5.06,0,9.16,4.1,9.16,9.16v8.86c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16ZM1446.53,721.46h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16ZM1265.44,739.68v135.69c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-36.04c0-5.06-4.1-9.16-9.16-9.16h-63.22c-5.06,0-9.16,4.1-9.16,9.16v36.04c0,5.06-4.1,9.16-9.16,9.16h-36.04c-5.06,0-9.16-4.1-9.16-9.16v-135.69c0-5.06,4.1-9.16,9.16-9.16h8.86c5.06,0,9.16-4.1,9.16-9.16v-17.92c0-5.06,4.1-9.16,9.16-9.16h117.57c5.06,0,9.16,4.1,9.16,9.16v17.92c0,5.06,4.1,9.16,9.16,9.16h8.86c5.06,0,9.16,4.1,9.16,9.16ZM1201.92,721.46h-63.22c-5.06,0-9.16,4.1-9.16,9.16v63.22c0,5.06,4.1,9.16,9.16,9.16h63.22c5.06,0,9.16-4.1,9.16-9.16v-63.22c0-5.06-4.1-9.16-9.16-9.16Z"/>
</g>
<g>
<g>
<path d="M899.94,260.54c0-17.71-9.16-33.58-24.5-42.44l-141.37-81.64c-8.37-4.84-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-9.95,5.75c.82-3.59,1.27-7.31,1.27-11.12,0-17.71-9.16-33.58-24.5-42.44L504.97,7.39c-8.37-4.83-17.91-7.39-27.58-7.39s-19.21,2.56-27.58,7.39l-140.78,81.3c-15.34,8.86-24.5,24.73-24.5,42.44,0,.34.03.67.03,1l-45.34-26.17c-8.37-4.83-17.91-7.39-27.58-7.39s-19.2,2.55-27.58,7.39L42.7,187.57c-15.34,8.86-24.5,24.72-24.5,42.44,0,17.06,8.51,32.38,22.83,41.4-23.23,3.84-41.03,24.01-41.03,48.32v162.23c0,19.64,10.57,37.95,27.58,47.77l2.71,1.56v221.34c0,19.79,10.55,38.07,27.69,47.97l367.81,212.5c22.86,13.21,51.04,13.21,73.9,0l367.8-212.45c17.14-9.9,27.69-28.19,27.69-47.97v-429.48c0-10.87-2.42-21.39-6.83-30.94,7.41-8.68,11.59-19.77,11.59-31.71Z"/>
<path class="cls-1" d="M42.85,503.28l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
</g>
<g>
<path class="cls-1" d="M682.81,673.17v168.68c0,11.85,12.82,19.25,23.08,13.33l146.2-84.37c7.62-4.4,12.32-12.53,12.32-21.33v-168.7c0-11.85-12.82-19.25-23.08-13.33l-146.2,84.4c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M476.59,552.87v42.73c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.62-4.4,12.31-12.53,12.31-21.32v-42.73c0-14.22-15.39-23.1-27.7-15.99l-36.93,21.32c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<g id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_">
<path class="cls-3" d="M293.15,393.42l37.53,21.67c7.62,4.4,17,4.4,24.62,0l37.53-21.67c12.31-7.11,12.31-24.88,0-31.99l-37.53-21.67c-7.62-4.4-17-4.4-24.62,0l-37.53,21.67c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-2" d="M403.03,481.64l46.77,27c7.62,4.4,17,4.4,24.62,0l46.77-27c8.21-4.74,8.21-16.59,0-21.32l-46.77-27c-7.62-4.4-17-4.4-24.62,0l-46.77,27c-8.21,4.74-8.21,16.59,0,21.32Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M384.25,710.23l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-42.75c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.75c0,8.8,4.69,16.93,12.32,21.33Z"/>
<path class="cls-1" d="M73.38,770.26l141.58,81.73c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.33l-141.58-81.73c-12.31-7.11-27.7,1.78-27.7,15.99v162.23c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path class="cls-1" d="M282.68,891.09l138.51,79.95c12.31,7.11,27.7-1.78,27.7-15.99v-162.23c0-8.8-4.69-16.93-12.31-21.32l-138.51-79.97c-12.31-7.11-27.7,1.78-27.7,15.99v162.26c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-2" d="M384.25,590.25l36.94,21.34c12.31,7.11,27.7-1.77,27.7-15.99v-42.74c0-8.8-4.69-16.93-12.32-21.33l-36.93-21.32c-12.31-7.11-27.7,1.78-27.7,15.99v42.72c0,8.8,4.69,16.92,12.31,21.32Z"/>
<path class="cls-3" d="M273.52,642.44l36.93,21.32c12.31,7.11,27.7-1.78,27.7-15.99v-162.7c0-8.8-4.69-16.92-12.31-21.32l-36.94-21.34c-12.31-7.11-27.7,1.77-27.7,15.99v162.72c0,8.8,4.69,16.93,12.31,21.33Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M578.16,494.23v42.72c0,14.22,15.39,23.1,27.7,15.99l36.93-21.32c7.61-4.4,12.31-12.52,12.31-21.31l.02-42.74c0-14.22-15.39-23.11-27.7-16l-36.95,21.34c-7.62,4.4-12.31,12.53-12.31,21.32Z"/>
<path class="cls-1" d="M324.3,147.12l140.78,81.24c7.62,4.4,17,4.4,24.62,0l140.76-81.27c12.31-7.11,12.31-24.88,0-31.99l-140.75-81.27c-7.62-4.4-17.01-4.4-24.63,0l-140.78,81.3c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path class="cls-1" d="M553.45,276.16l141.35,81.64c7.62,4.4,17.01,4.4,24.63,0l140.75-81.27c12.31-7.11,12.31-24.88,0-31.99l-141.37-81.64c-7.62-4.4-17.01-4.4-24.63,0l-140.73,81.27c-12.31,7.11-12.31,24.88,0,31.98Z"/>
<path class="cls-1" d="M682.81,433.81v162.7c0,14.21,15.39,23.1,27.7,16l141.58-81.71c7.62-4.4,12.32-12.53,12.32-21.33v-162.72c0-14.22-15.39-23.1-27.7-15.99l-141.58,81.73c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M476.59,792.09v163.35c0,14.21,15.37,23.09,27.68,16.01l138.53-79.74c7.63-4.39,12.34-12.53,12.34-21.34v-163.35c0-14.21-15.37-23.09-27.68-16.01l-138.53,79.74c-7.63,4.39-12.34,12.53-12.34,21.34Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M476.59,672.8v42.75c0,14.22,15.39,23.1,27.7,15.99l138.51-79.95c7.62-4.4,12.31-12.53,12.31-21.33v-42.75c0-14.22-15.39-23.1-27.7-15.99l-138.51,79.95c-7.62,4.4-12.31,12.53-12.31,21.33Z"/>
<path class="cls-1" d="M57.96,246l140.75,81.27c7.62,4.4,17.01,4.4,24.63,0l141.34-81.63c12.31-7.11,12.31-24.88,0-31.99l-140.73-81.24c-7.62-4.4-17-4.4-24.62,0L57.97,214.01c-12.31,7.11-12.31,24.88,0,31.99Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M428.16,351.42l141.39,81.63c7.62,4.4,17,4.4,24.62,0l36.9-21.31c12.31-7.11,12.31-24.88,0-31.99l-141.39-81.63c-7.62-4.4-17-4.4-24.62,0l-36.9,21.31c-12.31,7.11-12.31,24.88,0,31.99Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

@@ -1,43 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.55 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e13e1e;
}
.cls-3 {
fill: #fea138;
}
</style>
</defs>
<g id="Layer_13">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-2" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-2" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-2" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

@@ -1,51 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2975.95 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e13e1e;
}
.cls-3 {
fill: #fea138;
}
</style>
</defs>
<g id="Layer_13">
<g>
<path d="M2947.69,450.19v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-169.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-131.82c0-5.26,4.27-9.53,9.53-9.53h37.51c5.26,0,9.53-4.27,9.53-9.53v-59.36c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-282.39c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-593.33c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.48c-5.26,0-9.53,4.27-9.53,9.53v40.62c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-172.35c-5.26,0-9.53,4.27-9.53,9.53v228.94c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.27,9.53,9.53h0c0,5.26-4.27,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v216.3c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.27,9.53,9.53v22.23c0,5.26-4.26,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v179.99c0,5.26,4.27,9.53,9.53,9.53h7.51c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h13.87c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h169.41c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h194.64c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.26-9.53,9.53-9.53h22.23c5.26,0,9.53,4.26,9.53,9.52v9.54c0,5.26,4.27,9.53,9.53,9.53h79.48c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h308.1c5.26,0,9.53-4.27,9.53-9.53v-94.84c0-5.26-4.27-9.53-9.53-9.53h-9.53c-5.26,0-9.53-4.27-9.53-9.53v-73.04c0-5.26,4.27-9.53,9.53-9.53h9.53c5.26,0,9.53-4.27,9.53-9.53v-29.61c0-5.26,4.27-9.53,9.53-9.53h133.25c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h168.32c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h82.57c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h82.57c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h149.18c5.26,0,9.53-4.27,9.53-9.53v-8.86c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-181.04c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53Z"/>
<path id="Horizons" class="cls-2" d="M2867.64,473.7v-9.21c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h94.02c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h37.48c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53h-94.02c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-37.48c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53ZM2660.24,426.7h-37.48c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-94.02c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-178.82c0-5.26-4.27-9.53-9.53-9.53ZM2396.61,454.96h9.21c5.26,0,9.53,4.27,9.53,9.53v122.29c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-122.29c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM2283.54,596.3h65.75c5.26,0,9.53-4.27,9.53-9.53v-122.29c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v122.29c0,5.26,4.27,9.53,9.53,9.53ZM2151.42,426.7h-178.82c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h94.02c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h178.82c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-94.02c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53ZM1906.53,615.04v-178.82c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53ZM1783.93,511.5h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-65.75c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-178.82c0-5.26,4.27-9.53,9.53-9.53h150.55c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53ZM1736.92,501.97v-37.48c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53ZM1520.31,454.96h9.21c5.26,0,9.53,4.27,9.53,9.53v122.29c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-122.29c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM1482.51,586.78v-122.29c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v122.29c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53ZM1275.11,426.7h-37.48c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-65.75c-5.26,0-9.53-4.27-9.53-9.53v-65.75c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-65.75c0-5.26,4.27-9.53,9.53-9.53h65.75c5.26,0,9.53,4.27,9.53,9.53v65.75c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-178.82c0-5.26-4.27-9.53-9.53-9.53Z"/>
<g id="Distant">
<path class="cls-1" d="M2528.43,181.81v9.21c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v150.55c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-150.55c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h150.55c5.26,0,9.53,4.27,9.53,9.53ZM2321.02,172.28h-37.48c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-94.02c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-178.82c0-5.26-4.27-9.53-9.53-9.53ZM2057.4,209.97h9.21c5.26,0,9.53,4.27,9.53,9.53v141.13c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53h-37.48c-5.26,0-9.53-4.27-9.53-9.53v-141.13c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-18.64c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v18.64c0,5.26,4.27,9.53,9.53,9.53ZM2019.6,275.83v-65.75c0-5.26-4.27-9.53-9.53-9.53h-65.75c-5.26,0-9.53,4.27-9.53,9.53v65.75c0,5.26,4.27,9.53,9.53,9.53h65.75c5.26,0,9.53-4.27,9.53-9.53ZM1840.47,172.28h-150.55c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53,4.27,9.53,9.53v150.55c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-150.55c0-5.26,4.27-9.53,9.53-9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53ZM1605.11,228.82h37.48c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-122.29c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v37.48c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h94.02c5.26,0,9.53,4.27,9.53,9.53v37.48c0,5.26-4.27,9.53-9.53,9.53h-65.75c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h122.29c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-37.48c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-94.02c-5.26,0-9.53-4.27-9.53-9.53v-37.48c0-5.26,4.27-9.53,9.53-9.53h65.75c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM1397.71,360.63v-178.82c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v178.82c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53ZM1265.89,228.82h9.21c5.26,0,9.53,4.27,9.53,9.53v65.75c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-122.29c-5.26,0-9.53-4.27-9.53-9.53v-178.82c0-5.26,4.27-9.53,9.53-9.53h122.29c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53ZM1209.36,313.62h15.5c5.26,0,9.53-4.27,9.53-9.53v-65.75c0-5.26-4.27-9.53-9.53-9.53h-15.5c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.48c-5.26,0-9.53,4.27-9.53,9.53v122.29c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53Z"/>
</g>
<path class="cls-3" d="M1510.79,699.84v-9.21c0-5.26-4.27-9.53-9.53-9.53h-122.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v122.3c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h122.3c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-122.3c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53ZM1473,850.73h-65.77c-5.26,0-9.53-4.27-9.53-9.53v-122.3c0-5.26,4.27-9.53,9.53-9.53h65.77c5.26,0,9.53,4.27,9.53,9.53v122.3c0,5.26-4.27,9.53-9.53,9.53ZM1793.46,756.37v-37.47c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-150.56c-5.26,0-9.53,4.27-9.53,9.53v178.83c0,5.26,4.27,9.53,9.53,9.53h37.48c5.26,0,9.53-4.27,9.53-9.53v-65.77c0-5.26,4.27-9.53,9.53-9.53h65.74c5.26,0,9.53,4.27,9.53,9.53v65.77c0,5.26,4.27,9.53,9.53,9.53h37.51c5.26,0,9.53-4.27,9.53-9.53v-65.77c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53ZM1727.37,765.9h-65.74c-5.26,0-9.53-4.27-9.53-9.53v-37.47c0-5.26,4.27-9.53,9.53-9.53h65.74c5.26,0,9.53,4.27,9.53,9.53v37.47c0,5.26-4.27,9.53-9.53,9.53ZM1284.64,728.11v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-122.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v122.3c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h122.3c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-37.47c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-65.77c-5.26,0-9.53-4.27-9.53-9.53v-122.3c0-5.26,4.27-9.53,9.53-9.53h65.77c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h37.47c5.26,0,9.53-4.27,9.53-9.53ZM2010.09,709.37h-94.03c-5.26,0-9.53,4.27-9.53,9.53v37.47c0,5.26,4.27,9.53,9.53,9.53h65.74c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-65.74c-5.26,0-9.53,4.27-9.53,9.53v37.51c0,5.26,4.27,9.53,9.53,9.53h94.03c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-150.57c-5.26,0-9.53-4.27-9.53-9.53v-178.82c0-5.26,4.27-9.53,9.53-9.53h47.01s103.56,0,103.56,0c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53Z"/>
</g>
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-2" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-3" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-2" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-2" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-2" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-2" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 18 KiB

@@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.55 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e8c58e;
}
.cls-3 {
fill: #3083d6;
}
.cls-4 {
fill: #3eaf3e;
}
</style>
</defs>
<g id="Layer_16">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-4" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-3" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-4" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-4" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-4" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-3" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.8 KiB

@@ -1,41 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 899.55 1023">
<defs>
<style>
.cls-1 {
fill: #8c6cdc;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #eae0b0;
}
</style>
</defs>
<g id="Layer_11">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<path class="cls-1" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-1" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M396.92,590.66l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M495.33,647.47l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.93,652.53l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-1" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-1" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-3" d="M249.7,532.86v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-2" d="M355.34,471.87v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M249.7,407.5v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M477.06,510.97l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M477.06,386.18l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M582.63,571.92l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

@@ -1,64 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2975.95 1023">
<defs>
<style>
.cls-1 {
fill: #8c6cdc;
}
.cls-2 {
fill: #fff;
}
.cls-3 {
fill: #eae0b0;
}
</style>
</defs>
<g id="Layer_11">
<g>
<path d="M2966.43,459.72h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-169.3c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v9.21c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-131.82c0-5.26,4.27-9.53,9.53-9.53h37.51c5.26,0,9.53-4.27,9.53-9.53v-59.36c0-5.26-4.27-9.53-9.53-9.53h-9.21c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-282.39c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.47c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-593.33c-5.26,0-9.53,4.27-9.53,9.53v12.35c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-84.48c-5.26,0-9.53,4.27-9.53,9.53v40.62c0,5.26-4.27,9.53-9.53,9.53h-18.74c-5.26,0-9.53-4.27-9.53-9.53v-9.21c0-5.26-4.27-9.53-9.53-9.53h-9.24c-5.26,0-9.53-4.27-9.53-9.53v-12.35c0-5.26-4.27-9.53-9.53-9.53h-172.35c-5.26,0-9.53,4.27-9.53,9.53v228.94c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.27,9.53,9.53h0c0,5.26-4.27,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v216.3c0,5.26,4.27,9.53,9.53,9.53h1.16c5.26,0,9.53,4.26,9.53,9.52h0c0,5.26-4.26,9.53-9.53,9.53h-1.16c-5.26,0-9.53,4.27-9.53,9.53v230.79c0,5.26,4.27,9.53,9.53,9.53h7.51c5.26,0,9.53,4.27,9.53,9.53v9.54c0,5.26,4.27,9.53,9.53,9.53h89.23c5.26,0,9.53-4.27,9.53-9.53v-38.11c0-5.26,4.27-9.53,9.53-9.53h75.91c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h19.06c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h202.68c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.26-9.53,9.53-9.53h21.06c5.26,0,9.53,4.26,9.53,9.52v9.54c0,5.26,4.27,9.53,9.53,9.53h181.45c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.52c0,5.26,4.27,9.53,9.53,9.53l418.75-.23c5.26,0,9.52-4.27,9.52-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.55c0,5.25,4.25,9.51,9.5,9.53l65.93.19c5.27.02,9.55-4.25,9.55-9.53v-235.58c0-5.26,4.27-9.53,9.53-9.53h180.38c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h82.57c5.26,0,9.53-4.27,9.53-9.53v-9.53c0-5.26,4.27-9.53,9.53-9.53h22.23c5.26,0,9.53,4.27,9.53,9.53v9.53c0,5.26,4.27,9.53,9.53,9.53h149.18c5.26,0,9.53-4.27,9.53-9.53v-8.86c0-5.26,4.27-9.53,9.53-9.53h9.21c5.26,0,9.53-4.27,9.53-9.53v-181.04c0-5.26-4.27-9.53-9.53-9.53Z"/>
<path id="Horizons" class="cls-1" d="M2867.64,473.86v-9.53c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37ZM2660.4,426.7h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2396.46,454.96h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM2283.38,596.3h66.07c5.17,0,9.37-4.19,9.37-9.37v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37ZM2151.58,426.7h-179.14c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h179.14c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37ZM1906.53,615.2v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1784.09,511.5h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37ZM1736.92,502.13v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1520.15,454.96h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1482.51,586.94v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1275.27,426.7h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37Z"/>
<g id="Distant">
<path class="cls-2" d="M2528.43,181.65v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v150.87c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-150.87c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37ZM2321.18,172.28h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2057.24,209.97h9.53c5.17,0,9.37,4.19,9.37,9.37v141.45c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-141.45c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-18.95c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v18.95c0,5.17,4.19,9.37,9.37,9.37ZM2019.6,275.99v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1840.63,172.28h-150.87c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v150.87c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-150.87c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37ZM1604.95,228.82h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-122.6c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h122.6c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1397.71,360.79v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1265.74,228.82h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1209.2,313.62h15.81c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-15.81c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37Z"/>
</g>
<g>
<path id="N" class="cls-3" d="M2334.7,681.11h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37Z"/>
<g id="O_2">
<path class="cls-3" d="M1385,709.37v-18.89c0-5.17-4.19-9.37-9.36-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h150.88c5.17,0,9.37-4.19,9.37-9.36v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.35c-5.17,0-9.37-4.19-9.37-9.37v-131.99Z"/>
</g>
<rect id="I" class="cls-3" x="1962.45" y="751.78" width="197.88" height="56.54" rx="9.37" ry="9.37" transform="translate(2841.43 -1281.34) rotate(90)"/>
<g id="R">
<path class="cls-3" d="M1256.37,700v-9.53c0-5.17-4.19-9.37-9.37-9.37h-150.88c-5.17,0-9.37,4.19-9.37,9.37v179.15c0,5.17,4.19,9.37,9.37,9.37h37.79c5.17,0,9.37-4.19,9.37-9.37v-66.09c0-5.17,4.19-9.37,9.37-9.37h94.35c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.79c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37ZM1218.74,765.9h-66.09c-5.17,0-9.37-4.19-9.37-9.37v-37.79c0-5.17,4.19-9.37,9.37-9.37h66.09c5.17,0,9.37,4.19,9.37,9.37v37.79c0,5.17-4.19,9.37-9.37,9.37Z"/>
</g>
<g id="O_1">
<path class="cls-3" d="M1736.28,690.48v150.87c0,5.17-4.19,9.37-9.36,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-150.87c.01-5.17,4.21-9.37,9.38-9.37h37.79c5.17,0,9.37,4.2,9.37,9.37v150.87c0,5.17,4.19,9.37,9.36,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37v-150.87c0-5.17,4.19-9.37,9.37-9.37h37.79c5.17,0,9.37,4.19,9.37,9.37Z"/>
</g>
<g id="O_2-2" data-name="O_2">
<path class="cls-3" d="M1925.45,765.91h-18.91c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.54c5.17,0,9.37,4.19,9.37,9.37v37.81c0,5.17-4.19,9.37-9.37,9.37h-66.06c-5.17,0-9.37-4.19-9.37-9.37v-122.62c0-5.17,4.19-9.37,9.37-9.37h66.06c5.17,0,9.37,4.19,9.37,9.37v9.54c0,5.17,4.19,9.37,9.37,9.37h37.8c5.18,0,9.37-4.2,9.37-9.37v-9.54c0-5.17-4.2-9.36-9.37-9.36h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-122.59c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v122.62c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.32c5.17,0,9.37-4.19,9.37-9.37v-3.18c0-5.17,4.19-9.37,9.37-9.37h9.53c5.18,0,9.37,4.2,9.37,9.37v3.17c0,5.18,4.19,9.37,9.37,9.37h9.54c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17-4.19-9.37-9.37-9.37h-47.18Z"/>
</g>
</g>
</g>
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<path class="cls-1" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-1" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-2" d="M396.92,590.66l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M495.33,647.47l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.93,652.53l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-1" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-1" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-3" d="M249.7,532.86v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-2" d="M355.34,471.87v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-3" d="M249.7,407.5v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-1" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-1" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M477.06,510.97l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M477.06,386.18l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M582.63,571.92l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 19 KiB

@@ -1,38 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 903.26 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
</style>
</defs>
<g id="Layer_18">
<g>
<g>
<path id="Outline" d="M488.91,997.61l371.02-214.31c17.29-9.98,27.93-28.43,27.93-48.39v-433.24c0-26.62-14.2-51.22-37.25-64.53L479.58,22.89c-17.29-9.99-38.6-9.99-55.89,0L52.65,237.14c-23.05,13.31-37.25,37.91-37.25,64.53v433.19c0,19.96,10.65,38.41,27.93,48.39l371.03,214.36c23.06,13.32,51.48,13.33,74.55,0Z"/>
<path id="Outline-2" data-name="Outline" class="cls-1" d="M451.63,15.4c9.65,0,19.3,2.5,27.95,7.49l371.03,214.25c23.05,13.31,37.25,37.91,37.25,64.53v433.24c0,19.96-10.65,38.41-27.93,48.39l-371.02,214.31c-11.53,6.66-24.4,9.99-37.27,9.99s-25.75-3.33-37.28-9.99L43.33,783.25c-17.28-9.99-27.93-28.43-27.93-48.39v-433.19c0-26.62,14.2-51.22,37.25-64.53L423.68,22.89c8.65-4.99,18.3-7.49,27.95-7.49M451.63,0c-12.5,0-24.82,3.3-35.65,9.55L44.95,223.8C17.23,239.81,0,269.65,0,301.67v433.19c0,25.38,13.65,49.03,35.63,61.73l371.03,214.36c13.66,7.89,29.21,12.06,44.98,12.06s31.32-4.17,44.97-12.06l371.02-214.31c21.98-12.7,35.63-36.35,35.63-61.73v-433.24c0-32.02-17.23-61.86-44.95-77.87L487.28,9.55c-10.82-6.25-23.15-9.55-35.65-9.55h0Z"/>
</g>
<g>
<path class="cls-1" d="M673.63,654.71v170.15c0,11.95,12.93,19.42,23.28,13.45l147.48-85.11c7.69-4.44,12.42-12.64,12.42-21.51v-170.18c0-11.95-12.94-19.42-23.29-13.44l-147.48,85.14c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M465.6,533.35v43.11c0,14.34,15.52,23.3,27.94,16.13l37.26-21.51c7.69-4.44,12.42-12.64,12.42-21.51v-43.11c0-14.34-15.52-23.3-27.94-16.13l-37.26,21.51c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-1" d="M295.96,406.39l37.86,21.86c7.69,4.44,17.15,4.44,24.84,0l37.86-21.86c12.42-7.17,12.42-25.1,0-32.27l-37.86-21.86c-7.69-4.44-17.15-4.44-24.84,0l-37.86,21.86c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M391.41,461.5l47.18,27.24c7.69,4.44,17.15,4.44,24.84,0l47.18-27.24c8.28-4.78,8.28-16.73,0-21.51l-47.18-27.24c-7.69-4.44-17.15-4.44-24.84,0l-47.18,27.24c-8.28,4.78-8.28,16.73,0,21.51Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-1" d="M372.46,692.09l37.26,21.5c12.42,7.17,27.94-1.8,27.94-16.13v-43.12c0-8.88-4.74-17.08-12.42-21.51l-37.26-21.5c-12.42-7.17-27.94,1.8-27.94,16.13v43.12c0,8.88,4.74,17.08,12.42,21.51Z"/>
<path class="cls-1" d="M58.87,752.64l142.82,82.45c12.42,7.17,27.94-1.79,27.94-16.13v-163.65c0-8.87-4.73-17.07-12.42-21.51l-142.82-82.45c-12.42-7.17-27.94,1.79-27.94,16.13v163.65c0,8.87,4.73,17.07,12.42,21.51Z"/>
<path class="cls-1" d="M270,874.54l139.72,80.65c12.42,7.17,27.94-1.79,27.94-16.13v-163.65c0-8.87-4.73-17.07-12.42-21.51l-139.72-80.67c-12.42-7.17-27.94,1.79-27.94,16.13v163.68c0,8.87,4.74,17.08,12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M372.45,571.06l37.26,21.52c12.42,7.17,27.95-1.79,27.95-16.13v-43.11c0-8.88-4.74-17.08-12.42-21.51l-37.26-21.5c-12.42-7.17-27.94,1.8-27.94,16.13v43.09c0,8.87,4.73,17.07,12.41,21.51Z"/>
<path class="cls-1" d="M270,632.95l37.26,21.5c12.42,7.17,27.94-1.8,27.94-16.13v-164.12c0-8.87-4.73-17.07-12.42-21.51l-37.26-21.52c-12.42-7.17-27.95,1.79-27.95,16.13v164.14c0,8.88,4.74,17.08,12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-1" d="M568.06,474.2v43.1c0,14.34,15.52,23.3,27.94,16.13l37.26-21.51c7.68-4.43,12.42-12.63,12.42-21.5l.02-43.11c0-14.34-15.52-23.31-27.94-16.14l-37.28,21.52c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-1" d="M401.36,345.54l142.62,82.34c7.69,4.44,17.15,4.44,24.84,0l37.23-21.49c12.42-7.17,12.42-25.1,0-32.27l-142.62-82.34c-7.69-4.44-17.15-4.44-24.84,0l-37.23,21.49c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path class="cls-1" d="M296.58,164.09l142.01,81.95c7.68,4.43,17.15,4.43,24.84,0l141.99-81.98c12.42-7.17,12.42-25.1,0-32.27l-141.99-81.98c-7.69-4.44-17.16-4.44-24.84,0l-142.01,82.01c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path class="cls-1" d="M506.18,285.03l142.58,82.35c7.69,4.44,17.16,4.44,24.84,0l141.98-81.98c12.42-7.17,12.42-25.09,0-32.27l-142.61-82.35c-7.69-4.44-17.16-4.44-24.84,0l-141.96,81.98c-12.42,7.17-12.42,25.09,0,32.26Z"/>
<path class="cls-1" d="M673.63,413.25v164.12c0,14.34,15.52,23.3,27.94,16.14l142.82-82.42c7.69-4.44,12.42-12.64,12.42-21.51v-164.15c0-14.34-15.52-23.3-27.94-16.13l-142.82,82.45c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path class="cls-1" d="M465.6,774.67v164.78c0,14.33,15.5,23.29,27.92,16.15l139.74-80.44c7.7-4.43,12.45-12.64,12.45-21.53v-164.78c0-14.33-15.5-23.29-27.92-16.15l-139.74,80.44c-7.7,4.43-12.45,12.64-12.45,21.53Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-1" d="M465.6,654.34v43.12c0,14.34,15.52,23.3,27.94,16.13l139.72-80.65c7.69-4.44,12.42-12.64,12.42-21.51v-43.12c0-14.34-15.52-23.3-27.94-16.13l-139.72,80.65c-7.69,4.44-12.42,12.64-12.42,21.51Z"/>
<path class="cls-1" d="M86.44,285.4l141.98,81.98c7.69,4.44,17.16,4.44,24.84,0l142.58-82.35c12.42-7.17,12.42-25.1,0-32.27l-141.96-81.95c-7.68-4.44-17.15-4.44-24.84,0l-142.61,82.32c-12.42,7.17-12.42,25.1,0,32.27Z"/>
<path class="cls-1" d="M58.87,511.05l142.82,82.45c12.42,7.17,27.94-1.79,27.94-16.13v-163.65c0-8.87-4.73-17.07-12.42-21.51l-142.82-82.45c-12.42-7.17-27.94,1.79-27.94,16.13v163.65c0,8.87,4.73,17.07,12.42,21.51Z"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.5 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 22 KiB

@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2975.95 1023">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #e8c58e;
}
.cls-3 {
fill: #3083d6;
}
.cls-4 {
fill: #3eaf3e;
}
</style>
</defs>
<g id="Layer_16">
<g>
<path id="Outline" d="M488.21,1012.7l382.54-220.96c17.82-10.29,28.8-29.31,28.8-49.9v-446.69c0-27.45-14.64-52.81-38.41-66.53L478.59,7.72c-17.83-10.3-39.8-10.3-57.63,0L38.41,228.62C14.64,242.35,0,267.71,0,295.15v446.64c0,20.58,10.98,39.6,28.8,49.89l382.55,221.01c23.78,13.74,53.08,13.74,76.86,0Z"/>
<g>
<path class="cls-4" d="M678.66,659.16v175.44c0,12.32,13.34,20.02,24.01,13.86l152.06-87.75c7.93-4.57,12.81-13.03,12.81-22.18v-175.46c0-12.32-13.34-20.02-24.01-13.86l-152.06,87.78c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path id="_x3C_Path_x3E_" class="cls-1" d="M464.18,534.03v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.03,12.8-22.18v-44.44c0-14.79-16.01-24.03-28.81-16.63l-38.41,22.18c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-2" data-name="_x3C_Path_x3E_" class="cls-3" d="M289.27,403.13l39.04,22.54c7.92,4.57,17.69,4.57,25.61,0l39.04-22.54c12.8-7.39,12.8-25.88,0-33.27l-39.04-22.54c-7.92-4.57-17.69-4.57-25.61,0l-39.04,22.54c-12.8,7.39-12.8,25.88,0,33.27Z"/>
<path id="_x3C_Path_x3E_-3" data-name="_x3C_Path_x3E_" class="cls-1" d="M387.68,459.95l48.64,28.08c7.92,4.57,17.69,4.57,25.61,0l48.64-28.08c8.54-4.93,8.54-17.25,0-22.18l-48.64-28.08c-7.92-4.57-17.69-4.57-25.61,0l-48.64,28.08c-8.54,4.93-8.54,17.25,0,22.18Z"/>
</g>
<path id="Left__x3C_Path_x3E_" class="cls-2" d="M368.15,697.7l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-44.46c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.46c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path class="cls-2" d="M44.82,760.13l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
<path class="cls-2" d="M262.5,885.81l144.06,83.15c12.8,7.39,28.81-1.85,28.81-16.64v-168.73c0-9.15-4.88-17.6-12.8-22.18l-144.06-83.18c-12.8-7.39-28.81,1.85-28.81,16.63v168.76c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-4" data-name="_x3C_Path_x3E_" class="cls-1" d="M368.14,572.91l38.42,22.19c12.8,7.4,28.81-1.84,28.81-16.63v-44.45c0-9.15-4.88-17.61-12.81-22.18l-38.41-22.17c-12.8-7.39-28.81,1.85-28.81,16.64v44.43c0,9.15,4.88,17.6,12.8,22.18Z"/>
<path class="cls-3" d="M262.5,636.72l38.41,22.17c12.8,7.39,28.81-1.85,28.81-16.64v-169.22c0-9.15-4.88-17.6-12.8-22.18l-38.42-22.19c-12.8-7.4-28.81,1.84-28.81,16.63v169.23c0,9.15,4.88,17.61,12.81,22.18Z"/>
<path id="_x3C_Path_x3E_-5" data-name="_x3C_Path_x3E_" class="cls-3" d="M569.82,473.04v44.44c0,14.79,16.01,24.03,28.81,16.63l38.41-22.18c7.92-4.57,12.8-13.02,12.8-22.17l.02-44.45c0-14.79-16-24.04-28.81-16.64l-38.43,22.19c-7.92,4.57-12.8,13.03-12.8,22.18Z"/>
<path id="_x3C_Path_x3E_-6" data-name="_x3C_Path_x3E_" class="cls-3" d="M397.94,340.39l147.05,84.9c7.92,4.57,17.69,4.57,25.61,0l38.38-22.16c12.8-7.39,12.8-25.88,0-33.27l-147.05-84.9c-7.92-4.57-17.69-4.57-25.61,0l-38.38,22.16c-12.8,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M289.91,153.31l146.42,84.5c7.92,4.57,17.68,4.57,25.61,0l146.4-84.53c12.8-7.39,12.8-25.87,0-33.27l-146.39-84.52c-7.92-4.58-17.69-4.58-25.61,0l-146.42,84.55c-12.81,7.39-12.8,25.88,0,33.27Z"/>
<path class="cls-3" d="M506.01,278l147.01,84.91c7.92,4.58,17.69,4.58,25.61,0l146.39-84.52c12.8-7.39,12.8-25.87,0-33.27l-147.03-84.91c-7.92-4.58-17.69-4.58-25.61,0l-146.37,84.52c-12.8,7.39-12.8,25.87,0,33.27Z"/>
<path class="cls-4" d="M678.66,410.2v169.21c0,14.78,16,24.03,28.81,16.64l147.26-84.98c7.93-4.57,12.81-13.03,12.81-22.18v-169.24c0-14.79-16.01-24.03-28.81-16.63l-147.26,85.01c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-4" d="M464.18,782.84v169.9c0,14.77,15.98,24.02,28.79,16.65l144.08-82.94c7.94-4.57,12.83-13.03,12.83-22.2v-169.9c0-14.77-15.98-24.02-28.79-16.65l-144.08,82.94c-7.94,4.57-12.83,13.03-12.83,22.2Z"/>
<path id="Right__x3C_Path_x3E_" class="cls-4" d="M464.18,658.77v44.46c0,14.79,16,24.03,28.81,16.64l144.06-83.15c7.92-4.57,12.81-13.03,12.81-22.18v-44.46c0-14.79-16-24.03-28.81-16.64l-144.06,83.15c-7.92,4.57-12.81,13.03-12.81,22.18Z"/>
<path class="cls-3" d="M73.24,278.38l146.39,84.52c7.93,4.58,17.69,4.58,25.61,0l147.01-84.91c12.8-7.39,12.8-25.88,0-33.27l-146.36-84.5c-7.92-4.57-17.68-4.57-25.61,0l-147.03,84.88c-12.81,7.39-12.81,25.88,0,33.27Z"/>
<path class="cls-3" d="M44.82,511.04l147.26,85.01c12.8,7.39,28.81-1.85,28.81-16.63v-168.73c0-9.15-4.88-17.6-12.81-22.18l-147.26-85.01c-12.8-7.39-28.81,1.85-28.81,16.63v168.73c0,9.15,4.88,17.6,12.81,22.18Z"/>
</g>
<g>
<path d="M1077.23,753.61h-7.51c-5.26,0-9.53-4.27-9.53-9.53v-225.93c0-5.26,4.27-9.53,9.53-9.53h2.86c5.26,0,9.53-4.27,9.53-9.53v-3.81c0-5.26-4.27-9.53-9.53-9.53h-2.86c-5.26,0-9.53-4.27-9.53-9.53v-225.77c0-5.26,4.27-9.53,9.53-9.53h172.35c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h9.24c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-40.62c0-5.26,4.27-9.53,9.53-9.53h84.48c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-12.35c0-5.26,4.27-9.53,9.53-9.53h593.33c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-12.35c0-5.26,4.27-9.53,9.53-9.53h84.47c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-12.35c0-5.26,4.27-9.53,9.53-9.53h282.39c5.26,0,9.53,4.27,9.53,9.53v12.35c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v59.36c0,5.26-4.27,9.53-9.53,9.53h-37.51c-5.26,0-9.53,4.27-9.53,9.53v131.82c0,5.26,4.27,9.53,9.53,9.53h9.24c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h84.47c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h18.74c5.26,0,9.53-4.27,9.53-9.53v-9.21c0-5.26,4.27-9.53,9.53-9.53h169.3c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v9.21c0,5.26,4.27,9.53,9.53,9.53h9.21c5.26,0,9.53,4.27,9.53,9.53v181.04c0,5.26-4.27,9.53-9.53,9.53h-9.21c-5.26,0-9.53,4.27-9.53,9.53v8.86c0,5.26-4.27,9.53-9.53,9.53h-149.18c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-168.32c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-454.14c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-168.32c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.53c0,5.26-4.27,9.53-9.53,9.53h-82.57c-5.26,0-9.53-4.27-9.53-9.53v-9.53c0-5.26-4.27-9.53-9.53-9.53h-22.23c-5.26,0-9.53,4.27-9.53,9.53v9.55c0,5.25-4.25,9.52-9.51,9.53l-88.93.2c-5.27.01-9.55-4.26-9.55-9.53v-13.74c0-5.26-4.27-9.53-9.53-9.53Z"/>
<path id="Horizons" class="cls-4" d="M2867.64,572.31v-9.53c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37ZM2660.4,525.15h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2396.46,553.41h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM2283.38,694.75h66.07c5.17,0,9.37-4.19,9.37-9.37v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37ZM2151.58,525.15h-179.14c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h179.14c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37ZM1906.53,713.65v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1784.09,609.95h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37ZM1736.92,600.58v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1520.15,553.41h9.53c5.17,0,9.37,4.19,9.37,9.37v122.6c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-122.6c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1482.51,685.39v-122.6c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1275.27,525.15h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37Z"/>
<g id="Distant">
<path class="cls-1" d="M2528.43,280.1v9.53c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v150.87c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-150.87c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h150.87c5.17,0,9.37,4.19,9.37,9.37ZM2321.18,270.73h-37.8c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-94.34c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-179.14c0-5.17-4.19-9.37-9.37-9.37ZM2057.24,308.42h9.53c5.17,0,9.37,4.19,9.37,9.37v141.45c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-37.8c-5.17,0-9.37-4.19-9.37-9.37v-141.45c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-18.95c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v18.95c0,5.17,4.19,9.37,9.37,9.37ZM2019.6,374.44v-66.07c0-5.17-4.19-9.37-9.37-9.37h-66.07c-5.17,0-9.37,4.19-9.37,9.37v66.07c0,5.17,4.19,9.37,9.37,9.37h66.07c5.17,0,9.37-4.19,9.37-9.37ZM1840.63,270.73h-150.87c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37,4.19,9.37,9.37v150.87c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-150.87c0-5.17,4.19-9.37,9.37-9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37ZM1604.95,327.27h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-122.6c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v37.8c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h94.34c5.17,0,9.37,4.19,9.37,9.37v37.8c0,5.17-4.19,9.37-9.37,9.37h-66.07c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h122.6c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37h9.53c5.17,0,9.37-4.19,9.37-9.37v-37.8c0-5.17-4.19-9.37-9.37-9.37h-9.53c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-94.34c-5.17,0-9.37-4.19-9.37-9.37v-37.8c0-5.17,4.19-9.37,9.37-9.37h66.07c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1397.71,459.24v-179.14c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v179.14c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37ZM1265.74,327.27h9.53c5.17,0,9.37,4.19,9.37,9.37v66.07c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-9.53c-5.17,0-9.37,4.19-9.37,9.37v9.53c0,5.17-4.19,9.37-9.37,9.37h-122.6c-5.17,0-9.37-4.19-9.37-9.37v-179.14c0-5.17,4.19-9.37,9.37-9.37h122.6c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37h9.53c5.17,0,9.37,4.19,9.37,9.37v9.53c0,5.17,4.19,9.37,9.37,9.37ZM1209.2,412.07h15.81c5.17,0,9.37-4.19,9.37-9.37v-66.07c0-5.17-4.19-9.37-9.37-9.37h-15.81c-5.17,0-9.37-4.19-9.37-9.37v-9.53c0-5.17-4.19-9.37-9.37-9.37h-37.8c-5.17,0-9.37,4.19-9.37,9.37v122.6c0,5.17,4.19,9.37,9.37,9.37h37.8c5.17,0,9.37-4.19,9.37-9.37v-9.53c0-5.17,4.19-9.37,9.37-9.37Z"/>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

-125
View File
@@ -1,125 +0,0 @@
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
plugins {
id "java"
id "com.gradleup.shadow"
}
repositories {
mavenCentral()
}
tasks.withType(JavaCompile).configureEach {
options.release = 8
options.encoding = "UTF-8"
}
configurations {
testImplementation.extendsFrom compileOnly
}
dependencies {
compileOnly "org.apache.logging.log4j:log4j-api:${rootProject.log4j_version}"
testImplementation "junit:junit:4.13"
}
java {
withSourcesJar()
}
task createReleaseApiJar(type: ShadowJar) {
mustRunAfter sourcesJar
dependsOn shadowJar
// the compiled "-all" jar is used since it's available at the time this task is run
def compiledJarPath = "build/libs/DistantHorizonsApi-${rootProject.api_version}-all.jar"
def compiledJarFile = file(compiledJarPath)
// doFirst is so these only run when the task is actually executed
doFirst {
System.out.println("Adding class files from: \n" +
"[" + compiledJarPath + "] to source API jar: \n" +
"[" + shadowJar.archiveFile.get().asFile + "]")
// Validate the input JAR file
if (!compiledJarFile.exists()) {
throw new GradleException("Compiled JAR file not found: [${compiledJarFile}]")
}
}
archiveFileName.set("DistantHorizonsApi-${rootProject.api_version}-combined.jar") // jar name
destinationDirectory = file('build/libs/') // jar location
// Set the input JAR files to be combined
from sourceSets.main.allJava
from {
project.configurations.shadow.collect { it.isDirectory() ? it : zipTree(it) }
}
// add the class files
from zipTree(compiledJarFile)
// alternative method to Include the source files in the combined JAR
// and/or see which files are being included
eachFile { file ->
// can be set to true for debugging
def useAlternateEmbedMethod = false
def showFileEmbedding = false
if (showFileEmbedding || useAlternateEmbedMethod) {
System.out.println("attempting to add file: " + file)
def relativePath = file.relativePath.pathString
if (relativePath.endsWith('.class')) {
System.out.println("class file: " + relativePath)
def sourceFile = file.file.parentFile.resolveSibling('src/main/java/' + relativePath.replace('.class', '.java'))
if (sourceFile.exists()) {
System.out.println("adding source file: " + sourceFile)
if (useAlternateEmbedMethod) {
file.withInputStream { inputStream ->
copy {
from(inputStream)
into(relativePath.replace('.class', '.java'))
}
}
}
} else {
System.out.println('missing source file: ' + sourceFile)
}
}
}
}
}
// always create a combined jar for easy deployment
assemble.dependsOn(createReleaseApiJar)
shadowJar {
// required for basic shadowJar setup
configurations = [project.configurations.shadow]
}
javadoc {
options {
// Don't log warnings.
// There are a lot of warnings related to missing @param and @return javadocs
// that aren't necessary and would clutter up said javadocs.
// For more info see: https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javadoc.html
addStringOption('Xdoclint:all,-missing', '-quiet')
}
}
// set the jar name
def configureJar = { task ->
// outputs in the format:
// "DistantHorizonsApi-6.0.0.jar"
// "DistantHorizonsApi-6.0.0-sources.jar"
task.archiveBaseName = rootProject.api_name
task.archiveVersion = rootProject.api_version
}
configureJar(tasks.named("jar").get())
configureJar(tasks.named("sourcesJar").get())
configureJar(tasks.named("shadowJar").get())
@@ -1,213 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api;
import com.seibel.distanthorizons.api.interfaces.events.IDhApiEventInjector;
import com.seibel.distanthorizons.api.interfaces.factories.IDhApiWrapperFactory;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGeneratorOverrideRegister;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiCustomRenderObjectFactory;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiRenderProxy;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
import com.seibel.distanthorizons.api.methods.events.abstractEvents.DhApiAfterDhInitEvent;
import com.seibel.distanthorizons.api.methods.override.DhApiWorldGeneratorOverrideRegister;
import com.seibel.distanthorizons.coreapi.ModInfo;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfig;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiWorldProxy;
import com.seibel.distanthorizons.coreapi.DependencyInjection.ApiEventInjector;
import com.seibel.distanthorizons.coreapi.DependencyInjection.OverrideInjector;
import com.seibel.distanthorizons.api.interfaces.data.IDhApiTerrainDataRepo;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IOverrideInjector;
/**
* This is the masthead of the API, almost everything you could want to do
* can be achieved from here. <br>
* For example: you can access singletons which handle the config or event binding. <br><br>
*
* <strong>Q:</strong> Why should I use this class instead of just getting the API singleton I need? <br>
* <strong>A:</strong> This way there is a lower chance of your code breaking if we change something on our end.
* For example, if we realized there is a much better way of handling dependency injection we would keep the
* interface the same so your code doesn't have to change. Whereas if you were directly referencing
* the concrete object we replaced, there would be issues.
*
* @author James Seibel
* @version 2023-12-16
* @since API 1.0.0
*/
public class DhApi
{
/**
* If you can see this Java Doc, this can be ignored. <br>
* This is just to let you know that Javadocs are available and that you should use the API jar
* instead of the full mod jar. <br><br>
*
* Note: Don't use this string in your code. It may change and is only for reference.
*/
public static final String READ_ME =
"If you don't see Javadocs something is wrong. \n" +
"If you are only using the full DH Mod in your build script, you won't have access to our javadocs and could potentially call into unsafe code. \n" +
"\n" +
"Please use the API jar in your build script as a compile time dependency " +
"and the full DH jar as a runtime dependency. \n" +
"\n" +
"Please refer to the example API project or the DH Developer Wiki for additional information " +
"and suggested setup. \n" + // DH Dev note: no links were included to prevent link rot.
"";
public static String readMe() { return READ_ME; }
/**
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
* vs the relatively boring "readMe".
*/
public static final String HEY_YOU_YOURE_FINALLY_AWAKE = READ_ME;
/**
* This is just a humorous way to reference the {@link DhApi#READ_ME} constant string and hopefully peak a few people's attention
* vs the relatively boring "readMe".
*/
public static String heyYou_YoureFinallyAwake() { return READ_ME; }
/**
* <strong>WARNING:</strong>
* All objects in this class will be null until after DH initializes for the first time. <br><br>
*
* Bind a custom {@link DhApiAfterDhInitEvent DhApiAfterDhInitEvent}
* to {@link DhApi#events ApiCoreInjectors.events} in order to be notified when this class can
* be safely used.
*
* @since API 1.0.0
*/
public static class Delayed
{
/**
* Used to interact with Distant Horizons' Configs.
* @since API 1.0.0
*/
public static IDhApiConfig configs = null;
/**
* Used to interact with Distant Horizons' terrain data.
* Designed to be used in conjunction with {@link DhApi.Delayed#worldProxy}.
* @since API 1.0.0
*/
public static IDhApiTerrainDataRepo terrainRepo = null;
/**
* Used to interact with Distant Horizons' currently loaded world.
* Designed to be used in conjunction with {@link DhApi.Delayed#terrainRepo}.
* @since API 1.0.0
*/
public static IDhApiWorldProxy worldProxy = null;
/**
* Used to interact with Distant Horizons' rendering system.
* @since API 1.0.0
*/
public static IDhApiRenderProxy renderProxy = null;
/**
* Used to create wrappers for Minecraft objects needed by other Distant Horizons API methods.
* @since API 2.0.0
*/
public static IDhApiWrapperFactory wrapperFactory = null;
/**
* Used to create custom renderable objects. <br>
* These objects can be added to the renderer in {@link IDhApiLevelWrapper}
* @since API 3.0.0
*/
public static IDhApiCustomRenderObjectFactory customRenderObjectFactory = null;
}
//==================//
// always available //
//==================//
// interfaces //
/**
* Used to bind/unbind Distant Horizons Api events.
* @since API 1.0.0
*/
public static final IDhApiEventInjector events = ApiEventInjector.INSTANCE;
/**
* Used to bind/unbind Distant Horizons Api events.
* @since API 1.0.0
*/
public static final IDhApiWorldGeneratorOverrideRegister worldGenOverrides = DhApiWorldGeneratorOverrideRegister.INSTANCE;
/**
* Used to bind overrides to change Distant Horizons' core behavior.
* @since API 1.0.0
*/
public static final IOverrideInjector<IDhApiOverrideable> overrides = OverrideInjector.INSTANCE;
// getters //
/**
* This version should only be updated when breaking changes are introduced to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiMajorVersion() { return ModInfo.API_MAJOR_VERSION; }
/**
* This version should be updated whenever new methods are added to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiMinorVersion() { return ModInfo.API_MINOR_VERSION; }
/**
* This version should be updated whenever non-breaking fixes are added to the Distant Horizons API.
* @since API 1.0.0
*/
public static int getApiPatchVersion() { return ModInfo.API_PATCH_VERSION; }
/**
* Returns the mod's semantic version number in the format: Major.Minor.Patch
* with optional extensions "-a" for alpha, "-b" for beta, and -dev for unstable development builds. <br>
* Examples: "1.6.9-a", "1.7.0-a-dev", "2.1.0-b", "3.0.0", "3.1.4-dev"
* @since API 1.0.0
*/
public static String getModVersion() { return ModInfo.VERSION; }
/**
* Returns true if the mod is a development version, false if it is a release version.
* @since API 1.0.0
*/
public static boolean getIsDevVersion() { return ModInfo.IS_DEV_BUILD; }
/**
* Returns the network protocol version.
* @since API 1.0.0
*/
public static int getNetworkProtocolVersion() { return ModInfo.PROTOCOL_VERSION; }
// methods //
/**
* Returns true if the thread this method was called from is owned by Distant Horizons.
* @since API 2.0.0
*/
public static boolean isDhThread() { return Thread.currentThread().getName().startsWith(ModInfo.THREAD_NAME_PREFIX); }
}
@@ -1,36 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
/**
* Add this annotation to enum values that
* are valid config options, but shouldn't be selectable
* when toggling through the options. <br><br>
*
* Example: A preset's "custom" option shouldn't be selectable
*/
@Retention(RetentionPolicy.RUNTIME)
public @interface DisallowSelectingViaConfigGui
{
}
@@ -1,113 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* UNCOMPRESSED <br>
* LZ4 <br>
* Z_STD <br>
* Z_STD_STREAM <br>
* LZMA2 <br><br>
*
* Note: speed and compression ratios are examples
* and should only be used for estimated comparisons.
*
* @version 2024-3-16
* @since API 2.0.0
*/
public enum EDhApiDataCompressionMode
{
/**
* Should only be used internally and for unit testing. <br><br>
*
* Read Speed: 6.09 MS / DTO <br>
* Write Speed: 6.01 MS / DTO <br>
* Compression ratio: 1.0 <br>
*/
@DisallowSelectingViaConfigGui
UNCOMPRESSED(0),
/**
* Extremely fast (often faster than uncompressed), but generally poor compression. <br><br>
*
* Read Speed: 3.25 MS / DTO <br>
* Write Speed: 5.99 MS / DTO <br>
* Compression ratio: 0.4513 <br>
*/
LZ4(1),
/**
* Great speed and good compression. <br><br>
*
* Read Speed: 2.1 MS / DTO <br>
* Write Speed: 4.9 MS / DTO <br>
* Compression ratio: 0.2606 <br>
*/
Z_STD_BLOCK(4),
/**
* Similar to {@link EDhApiDataCompressionMode#Z_STD_BLOCK}
* except slower. <br><br>
*
* This option is only provided for legacy support when processing old databases. <br><br>
*
* Read Speed: 9.31 MS / DTO <br>
* Write Speed: 15.13 MS / DTO <br>
* Compression ratio: 0.2606 <br>
*/
@Deprecated
@DisallowSelectingViaConfigGui
Z_STD_STREAM(2),
/**
* Extremely slow, but very good compression. <br>
* Often causes whole computer stuttering due to memory bandwidth saturation. <br><br>
*
* Read Speed: 13.29 MS / DTO <br>
* Write Speed: 70.95 MS / DTO <br>
* Compression ratio: 0.2068 <br>
*/
LZMA2(3);
/** More stable than using the ordinal of the enum */
public final byte value;
EDhApiDataCompressionMode(int value) { this.value = (byte) value; }
/** @throws IllegalArgumentException if the value doesn't map to a value */
public static EDhApiDataCompressionMode getFromValue(byte value) throws IllegalArgumentException
{
EDhApiDataCompressionMode[] enumList = EDhApiDataCompressionMode.values();
for (int i = 0; i < enumList.length; i++)
{
if (enumList[i].value == value)
{
return enumList[i];
}
}
throw new IllegalArgumentException("No compression mode with the value ["+value+"]");
}
}
@@ -1,31 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiGLErrorHandlingMode
{
IGNORE,
LOG,
LOG_THROW;
}
@@ -1,32 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiGlProfileMode
{
CORE,
COMPAT,
ANY;
}
@@ -1,36 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* AS_GRASS <br>
* FADE_TO_DIRT <br>
* AS_DIRT <br>
*
* @since API 2.0.0
* @version 2024-4-7
*/
public enum EDhApiGrassSideRendering
{
AS_GRASS,
FADE_TO_DIRT,
AS_DIRT;
}
@@ -1,56 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* LOWEST <br>
* LOW <br>
* MEDIUM <br>
* HIGH <br>
* EXTREME <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiHorizontalQuality
{
// Note: any quadraticBase less than 2.0f has issues with DetailDistanceUtil, and will always return the lowest detail level.
// So for now we are limiting the lowest value to 2.0
// LOWEST was originally 1.0f and LOW was 1.5f
LOWEST(2.0f, 4),
LOW(2.0f, 8),
MEDIUM(2.0f, 12),
HIGH(2.2f, 16),
EXTREME(2.4f, 32),
;
public final double quadraticBase;
public final int distanceUnitInBlocks;
EDhApiHorizontalQuality(double quadraticBase, int distanceUnitInBlocks)
{
this.quadraticBase = quadraticBase;
this.distanceUnitInBlocks = distanceUnitInBlocks;
}
}
@@ -1,54 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* Handles how Minecraft's rendering
* is faded out to smooth the transition
* between MC and DH rendering. <br><br>
*
* NONE, <br>
* SINGLE_PASS, <br>
* DOUBLE_PASS, <br>
*
* @since API 4.0.0
* @version 2024-10-3
*/
public enum EDhApiMcRenderingFadeMode
{
/**
* No fading is done, there will be a pronounced border between
* Minecraft and Distant Horizons. <br>
* Fastest.
*/
NONE,
/**
* Fading only runs after the translucent render pass. <br>
* Looks good for the tops of oceans and rivers, but
* doesn't fade the opaque blocks underwater.
*/
SINGLE_PASS,
/**
* Fading runs after both opaque and translucent render passes.
* Slowest, but oceans and rivers look better.
*/
DOUBLE_PASS;
}
@@ -1,19 +0,0 @@
package com.seibel.distanthorizons.api.enums.config;
import com.seibel.distanthorizons.coreapi.ModInfo;
/**
* AUTO, <br>
* OPEN_GL, <br>
* BLAZE_3D, <br><br>
*
* @since API 6.0.0
* @version 2026-3-10
*/
public enum EDhApiRenderApi
{
AUTO,
OPEN_GL,
BLAZE_3D;
}
@@ -1,41 +0,0 @@
package com.seibel.distanthorizons.api.enums.config;
import com.seibel.distanthorizons.coreapi.ModInfo;
/**
* AUTO, <br>
* STABLE, <br>
* NIGHTLY, <br><br>
*
* @since API 2.1.0
* @version 2024-6-8
*/
public enum EDhApiUpdateBranch
{
AUTO,
STABLE,
NIGHTLY;
/**
* If the updateBranch value is {@link EDhApiUpdateBranch#AUTO}
* this method will convert it either to {@link EDhApiUpdateBranch#STABLE} or {@link EDhApiUpdateBranch#NIGHTLY}
* based on this jar's state. <Br><br>
*
* If updateBranch is {@link EDhApiUpdateBranch#STABLE} or {@link EDhApiUpdateBranch#NIGHTLY}
* it just returns.
*/
public static EDhApiUpdateBranch convertAutoToStableOrNightly(EDhApiUpdateBranch updateBranch)
{
if (updateBranch != EDhApiUpdateBranch.AUTO)
{
return updateBranch;
}
else
{
return ModInfo.IS_DEV_BUILD ? EDhApiUpdateBranch.NIGHTLY : EDhApiUpdateBranch.STABLE;
}
}
}
@@ -1,63 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
import com.seibel.distanthorizons.coreapi.util.MathUtil;
/**
* HEIGHT_MAP <br>
* LOW <br>
* MEDIUM <br>
* HIGH <br>
* VERY_HIGH <br>
* EXTREME <br>
* PIXEL_ART <br>
*
* @author Leonardo Amato
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiVerticalQuality
{
HEIGHT_MAP( new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}),
LOW( new int[]{4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 1}),
MEDIUM( new int[]{6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 1}),
HIGH( new int[]{16, 16, 12, 12, 8, 8, 8, 8, 8, 8, 1}),
VERY_HIGH( new int[]{32, 16, 12, 12, 12, 12, 12, 12, 12, 12, 1}),
EXTREME( new int[]{64, 32, 32, 32, 16, 16, 16, 16, 16, 16, 1}),
PIXEL_ART( new int[]{512, 256, 128, 64, 32, 32, 16, 16, 16, 16, 1});
/** represents how many LODs can be rendered in a single vertical slice */
public final int[] maxVerticalData;
EDhApiVerticalQuality(int[] maxVerticalData) { this.maxVerticalData = maxVerticalData; }
public int calculateMaxNumberOfVerticalSlicesAtDetailLevel(byte dataDetail)
{
// for detail levels lower than what the enum defines, use the lowest quality item
int index = MathUtil.clamp(0, dataDetail, this.maxVerticalData.length - 1);
return this.maxVerticalData[index];
}
}
@@ -1,66 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config;
/**
* MERGE_SAME_BLOCKS <br>
* VISUALLY_EQUAL <br><br>
*
* @version 2024-3-27
* @since API 2.0.0
*/
public enum EDhApiWorldCompressionMode
{
/**
* Every block/biome change is recorded in the database. <br>
* This is what DH 2.0 and 2.0.1 all used by default and will store a lot of data.
*/
MERGE_SAME_BLOCKS(0),
/**
* Only visible block/biome changes are recorded in the database. <Br>
* Hidden blocks (IE ores) are ignored.
*/
VISUALLY_EQUAL(1);
/** More stable than using the ordinal of the enum */
public final byte value;
EDhApiWorldCompressionMode(int value) { this.value = (byte) value; }
public static EDhApiWorldCompressionMode getFromValue(byte value)
{
EDhApiWorldCompressionMode[] enumList = EDhApiWorldCompressionMode.values();
for (int i = 0; i < enumList.length; i++)
{
if (enumList[i].value == value)
{
return enumList[i];
}
}
throw new IllegalArgumentException("No lossy compression mode with the value ["+value+"]");
}
}
@@ -1,47 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config.quickOptions;
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
/**
* CUSTOM, <br><br>
*
* MINIMUM, <br>
* LOW, <br>
* MEDIUM, <br>
* HIGH, <br>
* EXTREME, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiQualityPreset
{
@DisallowSelectingViaConfigGui
CUSTOM,
MINIMUM,
LOW,
MEDIUM,
HIGH,
EXTREME;
}
@@ -1,46 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.config.quickOptions;
import com.seibel.distanthorizons.api.enums.config.DisallowSelectingViaConfigGui;
/**
* CUSTOM, <br><br>
*
* MINIMAL_IMPACT, <br>
* LOW_IMPACT, <br>
* BALANCED, <br>
* AGGRESSIVE, <br>
*
* @since API 2.0.0
* @version 2024-4-6
*/
public enum EDhApiThreadPreset
{
@DisallowSelectingViaConfigGui
CUSTOM,
MINIMAL_IMPACT,
LOW_IMPACT,
BALANCED,
AGGRESSIVE,
I_PAID_FOR_THE_WHOLE_CPU,
}
@@ -1,68 +0,0 @@
package com.seibel.distanthorizons.api.enums.rendering;
/**
* contains the indices used by shaders to determine
* how different block types should be rendered. <br><br>
*
* UNKNOWN, <br>
* LEAVES, <br>
* STONE, <br>
* WOOD, <br>
* METAL, <br>
* DIRT, <br>
* LAVA, <br>
* DEEPSLATE, <br>
* SNOW, <br>
* SAND, <br>
* TERRACOTTA, <br>
* NETHER_STONE, <br>
* WATER, <br>
* GRASS, <br>
* AIR, <br>
* ILLUMINATED, <br>
*
* @author IMS
* @author James Seibel
* @since API 3.0.0
* @version 2024-7-11
*/
public enum EDhApiBlockMaterial
{
UNKNOWN(0),
LEAVES(1),
STONE(2),
WOOD(3),
METAL(4),
DIRT(5),
LAVA(6),
DEEPSLATE(7),
SNOW(8),
SAND(9),
TERRACOTTA(10),
NETHER_STONE(11),
WATER(12),
GRASS(13),
/** shouldn't normally be needed, but just in case */
AIR(14),
ILLUMINATED(15); // Max value
public final byte index;
EDhApiBlockMaterial(int index) { this.index = (byte)index;}
public static EDhApiBlockMaterial getFromIndex(int index)
{
for(EDhApiBlockMaterial material : EDhApiBlockMaterial.values())
{
if (material.index == index)
{
return material;
}
}
return EDhApiBlockMaterial.UNKNOWN;
}
}
@@ -1,78 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.rendering;
/**
* OFF, <br>
* SHOW_DETAIL, <br>
* SHOW_GENMODE, <br>
* SHOW_OVERLAPPING_QUADS, <br>
* SHOW_RENDER_SOURCE_FLAG, <br>
*
* @author Leetom
* @author James Seibel
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiDebugRendering
{
/** LODs are rendered normally */
OFF,
/** LOD colors are based on their detail */
SHOW_DETAIL,
/** Block Materials are often used by Iris shaders to determine how LODs should be rendered */
SHOW_BLOCK_MATERIAL,
/** Only draw overlapping LOD quads. */
SHOW_OVERLAPPING_QUADS;
public static EDhApiDebugRendering next(EDhApiDebugRendering type)
{
switch (type)
{
case OFF:
return SHOW_DETAIL;
case SHOW_DETAIL:
return SHOW_BLOCK_MATERIAL;
case SHOW_BLOCK_MATERIAL:
return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS:
return OFF;
default:
return OFF;
}
}
public static EDhApiDebugRendering previous(EDhApiDebugRendering type)
{
switch (type)
{
case OFF:
return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS:
return SHOW_DETAIL;
default:
return OFF;
}
}
}
@@ -1,73 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.rendering;
/**
* SPHERICAL <br>
* CYLINDRICAL <br>
* <br>
* MAX <br>
* ADDITION <br>
* MULTIPLY <br>
* INVERSE_MULTIPLY <br>
* LIMITED_ADDITION <br>
* MULTIPLY_ADDITION <br>
* INVERSE_MULTIPLY_ADDITION <br>
* AVERAGE <br>
*
* @author Leetom
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiHeightFogMixMode
{
/**
* Basic just means the fog will be based on the fragment depth
* not on any special height calculation IE spherical fog. <br><br>
*
* Not to be confused with {@link EDhApiHeightFogMixMode#CYLINDRICAL}
* which causes fog to only apply based on horizontal distance.
*/
SPHERICAL(0),
/**
* Fog is applied based on horizontal distance from the camera,
* IE cylindrical fog.
*/
CYLINDRICAL(1),
MAX(2),
ADDITION(3),
MULTIPLY(4),
INVERSE_MULTIPLY(5),
LIMITED_ADDITION(6),
MULTIPLY_ADDITION(7),
INVERSE_MULTIPLY_ADDITION(8),
AVERAGE(9);
/**
* Stable version of {@link EDhApiFogFalloff#ordinal()}
* @since API 4.0.0
*/
public final int value;
EDhApiHeightFogMixMode(int value) { this.value = value; }
}
@@ -1,17 +0,0 @@
package com.seibel.distanthorizons.api.enums.rendering;
/**
* OPAQUE_AND_TRANSPARENT, <br>
* OPAQUE, <br>
* TRANSPARENT, <br>
*
* @author James Seibel
* @version 2024-1-30
* @since API 2.0.0
*/
public enum EDhApiRenderPass
{
OPAQUE_AND_TRANSPARENT,
OPAQUE,
TRANSPARENT,
}
@@ -1,65 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.rendering;
/**
* DEFAULT <br>
* DEBUG_TRIANGLE <br>
* DISABLED <br>
*
* @since API 2.0.0
* @version 2026-03-23
*/
public enum EDhApiRendererMode
{
DEFAULT,
DEBUG_TRIANGLE,
DISABLED;
/** Used by the config GUI to cycle through the available rendering options */
public static EDhApiRendererMode next(EDhApiRendererMode type)
{
switch (type)
{
case DEFAULT:
return DEBUG_TRIANGLE;
case DEBUG_TRIANGLE:
return DISABLED;
default:
return DEFAULT;
}
}
/** Used by the config GUI to cycle through the available rendering options */
public static EDhApiRendererMode previous(EDhApiRendererMode type)
{
switch (type)
{
case DEFAULT:
return DISABLED;
case DEBUG_TRIANGLE:
return DEFAULT;
default:
return DEBUG_TRIANGLE;
}
}
}
@@ -1,92 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* PRE_EXISTING_ONLY <br>
* SURFACE <br>
* FEATURES <br>
* FULL <br><br>
*
* In order of fastest to slowest.
*
* @author James Seibel
* @author Leonardo Amato
* @version 2024-12-13
* @since API 1.0.0
*/
public enum EDhApiDistantGeneratorMode
{
/** Don't generate any new terrain, just generate LODs for already generated chunks. */
PRE_EXISTING_ONLY((byte) 1),
/*
* Not currently implemented <br><br>
*
* Only generate the biomes and use biome
* grass/foliage color, water color, or ice color
* to generate the color. <br>
* Doesn't generate height, everything is shown at sea level.
*/
//BIOME_ONLY((byte) 2),
/*
* Not currently implemented <br><br>
*
* Same as BIOME_ONLY, except instead
* of always using sea level as the LOD height
* different biome types (mountain, ocean, forest, etc.)
* use predetermined heights to simulate having height data.
*/
//BIOME_ONLY_SIMULATE_HEIGHT((byte) 3),
/**
* Generate the world surface,
* this does NOT include caves, trees,
* or structures.
*/
SURFACE((byte) 4),
/**
* Generate including structures.
* NOTE: This may cause world generation bugs or instability,
* since some features can cause concurrentModification exceptions.
*/
FEATURES((byte) 5),
/**
* Ask the server to generate/load each chunk.
* This is the most compatible and will generate structures correctly,
* but may cause server/simulation lag. <br><br>
*
* Unlike other modes this option DOES save generated chunks to
* Minecraft's region files.
*/
INTERNAL_SERVER((byte) 6);
/** The higher the number the more complete the generation is. */
public final byte complexity;
EDhApiDistantGeneratorMode(byte complexity) { this.complexity = complexity; }
}
@@ -1,36 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* SERVER_LEVEL, <br>
* CLIENT_LEVEL, <br>
* UNKNOWN <br>
*
* @author James Seibel
* @version 2022-7-13
* @since API 1.0.0
*/
public enum EDhApiLevelType
{
SERVER_LEVEL,
CLIENT_LEVEL,
UNKNOWN
}
@@ -1,107 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* DOWN_SAMPLED, <br>
*
* EMPTY, <br>
* STRUCTURE_START, <br>
* STRUCTURE_REFERENCE, <br>
* BIOMES, <br>
* NOISE, <br>
* SURFACE, <br>
* CARVERS, <br>
* LIQUID_CARVERS, <br>
* FEATURES, <br>
* LIGHT, <br>
*
* @author James Seibel
* @version 2023-4-20
* @since API 1.0.0
*/
public enum EDhApiWorldGenerationStep
{
/**
* Only used when using N-sized world generators or server-side retrieval.
* This denotes that the given datasource was created using lower quality LOD data from above it in the quad tree. <br>
*
* This isn't a valid option for queuing world generation.
*/
DOWN_SAMPLED(-1, "down_sampled"),
EMPTY(0, "empty"),
STRUCTURE_START(1, "structure_start"),
STRUCTURE_REFERENCE(2, "structure_reference"),
BIOMES(3, "biomes"),
NOISE(4, "noise"),
SURFACE(5, "surface"),
CARVERS(6, "carvers"),
LIQUID_CARVERS(7, "liquid_carvers"),
FEATURES(8, "features"),
LIGHT(9, "light");
/** used when serializing this enum. */
public final String name;
public final byte value;
EDhApiWorldGenerationStep(int value, String name)
{
this.value = (byte) value;
this.name = name;
}
//=========//
// parsing //
//=========//
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
public static EDhApiWorldGenerationStep fromValue(int value)
{
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
{
if (genStep.value == value)
{
return genStep;
}
}
return null;
}
/** @return null if the value doesn't correspond to a {@link EDhApiWorldGenerationStep}. */
public static EDhApiWorldGenerationStep fromName(String name)
{
for (EDhApiWorldGenerationStep genStep : EDhApiWorldGenerationStep.values())
{
if (genStep.name.equals(name))
{
return genStep;
}
}
return null;
}
}
@@ -1,66 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.enums.worldGeneration;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.distanthorizons.api.objects.data.IDhApiFullDataSource;
import java.util.concurrent.ExecutorService;
import java.util.function.Consumer;
/**
* VANILLA_CHUNKS, <br>
* API_CHUNKS <br>
* API_DATA_SOURCES <br>
*
* @author Builderb0y, James Seibel
* @version 2024-10-5
* @since API 2.0.0
*/
public enum EDhApiWorldGeneratorReturnType
{
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 2.0.0
*/
VANILLA_CHUNKS,
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateApiChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 2.0.0
*/
API_CHUNKS,
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateLod(int, int, int, int, byte, IDhApiFullDataSource, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 4.0.0
*/
API_DATA_SOURCES;
}
@@ -1,51 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces;
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBlockStateWrapper;
/**
* Implemented by wrappers so developers can
* access the underlying Minecraft object(s).
*
* @author James Seibel
* @version 2023-6-17
* @since API 1.0.0
*/
public interface IDhApiUnsafeWrapper
{
/**
* Returns the Minecraft object this wrapper contains. <br>
* <strong>Warning</strong>: This object will be Minecraft
* version dependent and may change without notice. <br> <br>
*
* In order to cast this object to something usable, you may want
* to use <code>obj.getClass()</code> when in your IDE
* in order to determine what object this method returns for
* the specific version of Minecraft you are developing for. <br><br>
*
* Note:<br>
* This method may return null in some cases, IE {@link IDhApiBlockStateWrapper}
* when it is wrapping air.
*/
Object getWrappedMcObject();
}
@@ -1,58 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.block;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiBlockMaterial;
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
/**
* A Minecraft version independent way of handling Blocks. <br><br>
*
* Note: the wrapped object (IE the object returned by {@link IDhApiUnsafeWrapper#getWrappedMcObject})
* will be null if this object is wrapping air.
*
* @author James Seibel
* @version 2023-6-11
* @since API 1.0.0
*/
public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper
{
/** @since API 1.0.0 */
boolean isAir();
/** @since API 1.0.0 */
boolean isSolid();
/** @since API 1.0.0 */
boolean isLiquid();
/**
* Returns the full serialized form of the given block
* as defined by DH's serialization methods.
* @since API 3.0.0
*/
String getSerialString();
/**
* Returns the byte value representing the {@link EDhApiBlockMaterial} enum.
* @see EDhApiBlockMaterial
* @since API 3.0.0
*/
byte getMaterialId();
}
@@ -1,43 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config;
import com.seibel.distanthorizons.api.interfaces.config.both.IDhApiWorldGenerationConfig;
import com.seibel.distanthorizons.api.interfaces.config.client.*;
/**
* This interfaces holds all config groups
* the API has access to for easy access.
*
* @author James Seibel
* @version 2023-6-14
* @since API 1.0.0
*/
public interface IDhApiConfig
{
IDhApiGraphicsConfig graphics();
IDhApiWorldGenerationConfig worldGenerator();
IDhApiMultiplayerConfig multiplayer();
IDhApiMultiThreadingConfig multiThreading();
// note: DON'T add the Auto Updater to this API. We only want the user's to have the ability to control when things are downloaded to their machines.
//IDhApiLoggingConfig logging(); // TODO implement
IDhApiDebuggingConfig debugging();
}
@@ -1,89 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config;
import java.util.function.Consumer;
/**
* An interface for Distant Horizon's Config.
*
* @param <T> The data type of this config.
* @author James Seibel
* @version 2023-12-7
* @since API 1.0.0
*/
public interface IDhApiConfigValue<T>
{
/**
* Returns the active value for this config. <br>
* Returns the True value if either the config cannot be overridden by
* the API or if it hasn't been set by the API.
*/
T getValue();
/**
* Returns the value held by this config. <br>
* This is the value stored in the config file.
*/
T getTrueValue();
/**
* Returns the value of the config if it was set by the API.
* Returns null if the config hasn't been set by the API.
*
* @since API 2.0.0
*/
T getApiValue();
/**
* Sets the config's value. <br>
* If the newValue is set to null then the config
* will revert to using the True Value
* (IE the value visible in the config menu).<br>
* If the config cannot be set via the API this method will return false. <br><br>
*
* @return true if the value was set, false otherwise.
*/
boolean setValue(T newValue);
/**
* Un-sets the config's API value. <br>
* After this method is called this config will
* use the value set in the config menu.
*
* @return true if the value was set, false otherwise.
* @since API 2.0.0
*/
boolean clearValue();
/** @return true if this config can be set via the API, false otherwise. */
boolean getCanBeOverrodeByApi();
/** Returns the default value for this config. */
T getDefaultValue();
/** Returns the max value for this config, null if there is no max. */
T getMaxValue();
/** Returns the min value for this config, null if there is no min. */
T getMinValue();
/** Adds a {@link Consumer} that will be called whenever the config changes to a new value. */
void addChangeListener(Consumer<T> onValueChangeFunc);
//void removeListener(Consumer<T> onValueChangeFunc); // not currently implemented
}
@@ -1,47 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.both;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' world generation configuration. <br><br>
*
* Note: Chunks generated via DH's world generator are NOT saved in Minecraft's vanilla save system.
*
* @author James Seibel
* @version 2022-9-15
* @since API 1.0.0
*/
public interface IDhApiWorldGenerationConfig extends IDhApiConfigGroup
{
/**
* Defines whether LOD chunks will be generated
* outside Minecraft's vanilla render distance.
*/
IDhApiConfigValue<Boolean> enableDistantWorldGeneration();
/** Defines to what level LOD chunks will be generated. */
IDhApiConfigValue<EDhApiDistantGeneratorMode> distantGeneratorMode();
}
@@ -1,37 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' SSAO configuration. <br><br>
*
* @author James Seibel
* @version 2026-02-05
* @since API 1.0.0
*/
public interface IDhApiAmbientOcclusionConfig extends IDhApiConfigGroup
{
/** Determines if Ambient Occlusion is rendered */
IDhApiConfigValue<Boolean> enabled();
}
@@ -1,71 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' fog configuration. <br><br>
*
* Note: unless an option explicitly states that it modifies
* Minecraft's vanilla rendering (like DisableVanillaFog)
* these settings will only affect Distant horizons' fog.
*
* @author James Seibel
* @version 2022-6-14
* @since API 1.0.0
*/
public interface IDhApiFarFogConfig extends IDhApiConfigGroup
{
/**
* Defines where the fog starts as a percent of the
* fake chunks render distance radius. <br>
* Can be greater than the fog end distance to invert the fog direction. <br> <br>
*
* 0.0 = fog starts at the camera <br>
* 1.0 = fog starts at the edge of the fake chunk render distance <br>
*/
IDhApiConfigValue<Float> farFogStartDistance();
/**
* Defines where the fog ends as a percent of the radius
* of the fake chunks render distance. <br>
* Can be less than the fog start distance to invert the fog direction. <br> <br>
*
* 0.0 = fog ends at the camera <br>
* 1.0 = fog ends at the edge of the fake chunk render distance <br>
*/
IDhApiConfigValue<Float> farFogEndDistance();
/** Defines how opaque the fog is at its thinnest point. */
IDhApiConfigValue<Float> farFogMinThickness();
/** Defines how opaque the fog is at its thickest point. */
IDhApiConfigValue<Float> farFogMaxThickness();
/** Defines how the fog changes in thickness. */
IDhApiConfigValue<EDhApiFogFalloff> farFogFalloff();
/** Defines the fog density. */
IDhApiConfigValue<Float> farFogDensity();
}
@@ -1,89 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogColorMode;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogDrawMode;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' fog configuration. <br><br>
*
* Note: unless an option explicitly states that it modifies
* Minecraft's vanilla rendering (like DisableVanillaFog)
* these settings will only affect Distant horizons' fog.
*
* @author James Seibel
* @version 2022-6-14
* @since API 1.0.0
*/
public interface IDhApiFogConfig extends IDhApiConfigGroup
{
//===============//
// inner configs //
//===============//
/** The advanced fog config. */
IDhApiFarFogConfig farFog();
/** The height fog config. */
IDhApiHeightFogConfig heightFog();
//====================//
// basic fog settings //
//====================//
/**
* Used to enable/disable DH fog rendering.
* @deprecated since API 4.0.0 use {@link IDhApiFogConfig#enableDhFog}
*/
@Deprecated
IDhApiConfigValue<EDhApiFogDrawMode> drawMode();
/**
* Used to enable/disable DH fog rendering.
*
* @since API 4.0.0
*/
IDhApiConfigValue<Boolean> enableDhFog();
/** Can be used to enable support with mods that change vanilla MC's fog color. */
IDhApiConfigValue<EDhApiFogColorMode> color();
/**
* If enabled attempts to disable vanilla MC's fog on real chunks. <br>
* May not play nice with other fog editing mods.
*
* @deprecated since API 4.0.0 use {@link IDhApiFogConfig#enableVanillaFog()}
*/
@Deprecated
IDhApiConfigValue<Boolean> disableVanillaFog();
/**
* If set to false DH will attempt to disable vanilla MC's fog on real chunks. <br>
* May not play nice with other fog editing mods.
*
* @since API 4.0.0
*/
IDhApiConfigValue<Boolean> enableVanillaFog();
}
@@ -1,46 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' generic rendering configuration. <br><br>
*
* @author James Seibel
* @version 2024-7-11
* @since API 3.0.0
*/
public interface IDhApiGenericRenderingConfig extends IDhApiConfigGroup
{
/**
* If enabled DH will render generic objects into its terrain pass. <br>
* This includes: clouds, beacons, and API added objects.
*/
IDhApiConfigValue<Boolean> renderingEnabled();
/** If enabled DH will render beacon beams. */
IDhApiConfigValue<Boolean> beaconRenderingEnabled();
/** If enabled DH will render clouds. */
IDhApiConfigValue<Boolean> cloudRenderingEnabled();
}
@@ -1,186 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.config.*;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiRendererMode;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiTransparency;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' graphics/rendering configuration.
*
* @author James Seibel
* @version 2023-6-14
* @since API 1.0.0
*/
public interface IDhApiGraphicsConfig extends IDhApiConfigGroup
{
//===============//
// inner configs //
//===============//
IDhApiFogConfig fog();
IDhApiAmbientOcclusionConfig ambientOcclusion();
IDhApiNoiseTextureConfig noiseTexture();
IDhApiGenericRenderingConfig genericRendering();
//========================//
// basic graphic settings //
//========================//
/** The distance is the radius measured in chunks. */
IDhApiConfigValue<Integer> chunkRenderDistance();
/**
* Simplified version of {@link IDhApiGraphicsConfig#renderingMode()}
* that only enables/disables the fake chunk rendering. <br><br>
*
* Changing this config also changes {@link IDhApiGraphicsConfig#renderingMode()}'s value.
*/
IDhApiConfigValue<Boolean> renderingEnabled();
/**
* Can be used to enable/disable fake chunk rendering or enable the debug renderer. <br><br>
*
* The debug renderer is used to confirm rendering is working at and will draw
* a single multicolor rhombus on the screen in skybox space (AKA behind MC's rendering). <br><br>
*
* Changing this config also changes {@link IDhApiGraphicsConfig#renderingEnabled()}'s value.
*/
IDhApiConfigValue<EDhApiRendererMode> renderingMode();
//==================//
// graphic settings //
//==================//
/** Defines how detailed fake chunks are in the horizontal direction */
IDhApiConfigValue<EDhApiMaxHorizontalResolution> maxHorizontalResolution();
/** Defines how detailed fake chunks are in the vertical direction */
IDhApiConfigValue<EDhApiVerticalQuality> verticalQuality();
/** Modifies the quadratic function fake chunks use for horizontal quality drop-off. */
IDhApiConfigValue<EDhApiHorizontalQuality> horizontalQuality();
IDhApiConfigValue<EDhApiTransparency> transparency();
/** Defines what blocks won't be rendered as LODs. */
IDhApiConfigValue<EDhApiBlocksToAvoid> blocksToAvoid();
/**
* Defines if the color of avoided blocks will color the block below them. <Br>
* (IE: if flowers are avoided, should they color the grass below them?)
*/
IDhApiConfigValue<Boolean> tintWithAvoidedBlocks();
/*
* The same as vanilla Minecraft's biome blending. <br><br>
*
* 0 = blending of 1x1 aka off <br>
* 1 = blending of 3x3 <br>
* 2 = blending of 5x5 <br>
* ... <br>
*/
IDhApiConfigValue<Integer> getBiomeBlending();
//===========================//
// advanced graphic settings //
//===========================//
/**
* Sets the radius used by the near clip shader to reduce
* overdraw. <br>
* Measured in percentages of the render distance, IE: <br>
* 0.5 = 50% vanilla render distance <br>
* 0.1 = 10% vanilla render distance <br>
* <br>
* Setting this to 0 will reduce/prevent holes in the world due to clipping to close to the camera
* but may cause overdraw issues with transparent or non-full blocks.
*
* @since API 2.0.0
*/
IDhApiConfigValue<Float> overdrawPreventionRadius();
/**
* Modifies how bright fake chunks are. <br>
* This is done when generating the vertex data and is applied before any shaders.
*/
IDhApiConfigValue<Float> brightnessMultiplier();
/**
* Modifies how saturated fake chunks are. <br>
* This is done when generating the vertex data and is applied before any shaders.
*/
IDhApiConfigValue<Float> saturationMultiplier();
/** Defines if Distant Horizons should attempt to cull fake chunk cave geometry. */
IDhApiConfigValue<Boolean> caveCullingEnabled();
/** Defines what height cave culling should be used below if enabled. */
IDhApiConfigValue<Integer> caveCullingHeight();
/** This ratio is relative to Earth's real world curvature. */
IDhApiConfigValue<Integer> earthCurvatureRatio();
/** If enabled vanilla chunk rendering is disabled and only fake chunks are rendered. */
IDhApiConfigValue<Boolean> lodOnlyMode();
/**
* Determines how LODs should be shaded.
*
* @since API 2.0.0
*/
IDhApiConfigValue<EDhApiLodShading> lodShading();
/**
* Sets whether LODs outside the view frustum culling will
* be culled. <br><br>
*
* Disabling this will prevent LODs not rendering on the corner
* of the users vision and may fix issues if LODs appear to
* start/stop rendering incorrectly based on the camera direction,
* but will also reduce FPS.
*
* @since API 2.0.0
* @see IDhApiGraphicsConfig#disableShadowFrustumCulling()
*/
IDhApiConfigValue<Boolean> disableFrustumCulling();
/**
* Identical to the other frustum culling option, except that it is
* only used when a shader mod is present using the DH API
* and the shadow pass is being rendered. <br><br>
*
* Disable this if shadows render incorrectly.
*
* @since API 2.0.0
* @see IDhApiGraphicsConfig#disableFrustumCulling()
*/
IDhApiConfigValue<Boolean> disableShadowFrustumCulling();
}
@@ -1,75 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogFalloff;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogMixMode;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiHeightFogDirection;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' fog configuration. <br><br>
*
* Note: unless an option explicitly states that it modifies
* Minecraft's vanilla rendering (like DisableVanillaFog)
* these settings will only affect Distant horizons' fog.
*
* @author James Seibel
* @version 2022-6-14
* @since API 1.0.0
*/
public interface IDhApiHeightFogConfig extends IDhApiConfigGroup
{
/** Defines how the height fog mixes. */
IDhApiConfigValue<EDhApiHeightFogMixMode> heightFogMixMode();
/**
* Defines which direction height fog is drawn relative to the world.
* @since API 4.0.0
*/
IDhApiConfigValue<EDhApiHeightFogDirection> heightFogDirection();
/**
* Defines the height fog's base height if {@link IDhApiHeightFogConfig#heightFogDirection()}
* is set to use a specific height.
*/
IDhApiConfigValue<Float> heightFogBaseHeight();
/** Defines the height fog's starting height as a percent of the world height. */
IDhApiConfigValue<Float> heightFogStartingHeightPercent();
/** Defines the height fog's ending height as a percent of the world height. */
IDhApiConfigValue<Float> heightFogEndingHeightPercent();
/** Defines how opaque the height fog is at its thinnest point. */
IDhApiConfigValue<Float> heightFogMinThickness();
/** Defines how opaque the height fog is at its thickest point. */
IDhApiConfigValue<Float> heightFogMaxThickness();
/** Defines how the height fog changes in thickness. */
IDhApiConfigValue<EDhApiFogFalloff> heightFogFalloff();
/** Defines the height fog's density. */
IDhApiConfigValue<Float> heightFogDensity();
}
@@ -1,34 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' logging configuration. <br><br>
*
* @author James Seibel
* @version 2022-6-14
* @since API 1.0.0
*/
public interface IDhApiLoggingConfig extends IDhApiConfigGroup
{
// TODO implement
}
@@ -1,56 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
/**
* Distant Horizons' threading configuration.
*
* @author James Seibel
* @version 2024-12-26
* @since API 1.0.0
*/
public interface IDhApiMultiThreadingConfig extends IDhApiConfigGroup
{
/**
* Defines how many threads Distant Horizons
* uses.
*
* @since API 4.0.0
*/
IDhApiConfigValue<Integer> threadCount();
/**
* Defines how many long Distant Horizons
* threads will spend running vs sleeping.
* This is helpful when reducing the CPU
* load on low end CPUs.
* 1.0 = 100% uptime
* 0.5 = 50% uptime
* 0.1 = 10% uptime
*
* @since API 4.0.0
*/
IDhApiConfigValue<Double> threadRuntimeRatio();
}
@@ -1,49 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' noise texture configuration. <br><br>
*
* @author James Seibel
* @version 2022-6-14
* @since API 1.0.0
*/
public interface IDhApiNoiseTextureConfig extends IDhApiConfigGroup
{
/** If enabled a noise texture will be rendered on the LODs. */
IDhApiConfigValue<Boolean> noiseEnabled();
/** Defines how many steps of noise should be applied. */
IDhApiConfigValue<Integer> noiseSteps();
/** Defines how intense the noise will be, between 0.0 and 1.0. */
IDhApiConfigValue<Float> noiseIntensity();
/**
* Defines how far should the noise texture render before it fades away. (in blocks) <br>
* Set to 0 to disable noise from fading away
*/
IDhApiConfigValue<Integer> noiseDropoff();
}
@@ -1,33 +0,0 @@
package com.seibel.distanthorizons.api.interfaces.data;
/**
* Can be used to drastically speed up repeat read operations in {@link IDhApiTerrainDataRepo}. <br><br>
*
* Once you are done with this cache, closing it will free up any objects
* the cache is holding. This can reduce Garbage Collector overhead and reduce stuttering.
*
* @see IDhApiTerrainDataRepo
*
* @author James Seibel
* @version 2026-1-29
* @since API 3.0.0
*/
public interface IDhApiTerrainDataCache extends AutoCloseable
{
/**
* Removes any data that's currently stored in this cache.
* This cane be done to free up memory or invalidate
* the cache so fresh data can be pulled in.
* <br><br>
* This should be called before de-referencing this object
* so DH can handle any necessary cleanup for internal objects.
*/
void clear();
// override without an exception
@Override
void close();
}
@@ -1,150 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.data;
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
import com.seibel.distanthorizons.api.objects.DhApiResult;
import com.seibel.distanthorizons.api.objects.data.DhApiRaycastResult;
import com.seibel.distanthorizons.api.objects.data.DhApiTerrainDataPoint;
/**
* Used to interface with Distant Horizons' terrain data.
*
* @see IDhApiTerrainDataCache
*
* @author James Seibel
* @version 2026-02-03
* @since API 1.0.0
*/
public interface IDhApiTerrainDataRepo
{
//=========//
// getters //
//=========//
/**
* Returns the terrain datapoint at the given block position, at/or containing the given Y position.
* @since API 3.0.0
*/
DhApiResult<DhApiTerrainDataPoint> getSingleDataPointAtBlockPos(IDhApiLevelWrapper levelWrapper, int blockPosX, int blockPosY, int blockPosZ, IDhApiTerrainDataCache dataCache);
/**
* Returns every datapoint in the column located at the given block X and Z position top to bottom.
* @since API 3.0.0
*/
DhApiResult<DhApiTerrainDataPoint[]> getColumnDataAtBlockPos(IDhApiLevelWrapper levelWrapper, int blockPosX, int blockPosZ, IDhApiTerrainDataCache dataCache);
/**
* Returns every datapoint in the given chunk's X and Z position. <br><br>
*
* The returned array is ordered: [relativeBlockX][relativeBlockZ][columnIndex] <br>
* RelativeBlockX/Z are relative to the block position closest to negative infinity in the chunk's position. <br>
* The column data is ordered from top to bottom. Note: each column may have a different number of values. <br>
*
* @since API 3.0.0
*/
DhApiResult<DhApiTerrainDataPoint[][][]> getAllTerrainDataAtChunkPos(IDhApiLevelWrapper levelWrapper, int chunkPosX, int chunkPosZ, IDhApiTerrainDataCache dataCache);
/**
* Returns every datapoint in the given region's X and Z position. <br><br>
*
* The returned array is ordered: [relativeBlockX][relativeBlockZ][columnIndex] <br>
* RelativeBlockX/Z are relative to the block position closest to negative infinity in the region's position. <br>
* The column data is ordered from top to bottom. Note: each column may have a different number of values. <br>
*
* @since API 3.0.0
*/
DhApiResult<DhApiTerrainDataPoint[][][]> getAllTerrainDataAtRegionPos(IDhApiLevelWrapper levelWrapper, int regionPosX, int regionPosZ, IDhApiTerrainDataCache dataCache);
/**
* Returns every datapoint in the column located at the given detail level and X/Z position. <br>
* This can be used to return terrain data for non-standard sizes (IE 2x2 blocks or 2x2 chunks).
*
* @param detailLevel a positive byte defining the detail level of the returned data. <br>
* Every increase doubles the width of the returned area. <br>
* Example values: 0 = block, 1 = 2x2 blocks, 2 = 4x4 blocks, ... 4 = chunk (16x16 blocks), ... 9 = region (512x512 blocks) <br>
* See {@link EDhApiDetailLevel} for more information.
*
* @since API 3.0.0
*/
DhApiResult<DhApiTerrainDataPoint[][][]> getAllTerrainDataAtDetailLevelAndPos(IDhApiLevelWrapper levelWrapper, byte detailLevel, int posX, int posZ, IDhApiTerrainDataCache dataCache);
/**
* Returns the datapoint and position of the LOD
* at the end of the given ray. <br><br>
*
* Will return "success" with a null datapoint if the ray reaches the max length without finding any data.
*
* @since API 3.0.0
*/
DhApiResult<DhApiRaycastResult> raycast(
IDhApiLevelWrapper levelWrapper,
double rayOriginX, double rayOriginY, double rayOriginZ,
float rayDirectionX, float rayDirectionY, float rayDirectionZ,
int maxRayBlockLength,
IDhApiTerrainDataCache dataCache);
//=========//
// setters //
//=========//
/**
* Sets the LOD data for the given chunk at the chunk's position. <br><br>
*
* Notes: <br>
* - Only works if the given {@link IDhApiLevelWrapper} points to a loaded level. <br>
* - If the player travels to this chunk, or the chunk is updated in some other way; your data will be replaced
* by whatever the current chunk is. <br>
* - This method may not update the LOD data immediately. Any other chunks that have
* been queued to update will be handled first.
*
* @param levelWrapper the level wrapper that the chunk should be saved to.
* @param chunkObjectArray see {@link IDhApiWorldGenerator#generateChunks} for what objects are expected.
* @throws ClassCastException if chunkObjectArray doesn't contain the right objects.
* The exception will contain the expected object(s).
*/
DhApiResult<Void> overwriteChunkDataAsync(IDhApiLevelWrapper levelWrapper, Object[] chunkObjectArray) throws ClassCastException;
//=========//
// helpers //
//=========//
/**
* Creates a new cache you manage that can be used to speed up repeat
* read operations. <br>
* Without a cache each operation must: hit the backing database file,
* decompress it, and parse it; which is a fairly slow process. <br>
*
* @return a {@link IDhApiTerrainDataCache} backed by {@link java.lang.ref.SoftReference}'s.
* @since API 5.0.0
*/
IDhApiTerrainDataCache createSoftCache();
}
@@ -1,112 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.factories;
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBiomeWrapper;
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBlockStateWrapper;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
import com.seibel.distanthorizons.api.DhApi;
import java.io.IOException;
/**
* This handles creating abstract wrapper objects.
*
* @author James Seibel
* @version 2023-12-16
* @since API 2.0.0
*/
public interface IDhApiWrapperFactory
{
/**
* Constructs a {@link IDhApiBiomeWrapper} for use by other DhApi methods.
*
* @param objectArray Expects the following Minecraft objects (in order) for each MC version: <br>
* <b>1.16</b> and <b>1.17</b><br>
* - [net.minecraft.world.level.biome.Biome] <br>
* <b>1.18</b> and <b>newer</b> <br>
* - {@literal [net.minecraft.core.Holder<net.minecraft.world.level.biome.Biome>] }<br>
*
* @param levelWrapper Expects a {@link IDhApiLevelWrapper} returned by one of DH's {@link DhApi.Delayed#worldProxy} methods. <br>
* A custom implementation of {@link IDhApiLevelWrapper} will not be accepted.
*
* @throws ClassCastException if any of the given parameters is of the wrong type.
* If thrown the error message will contain the list of expected object types in order.
*
* @since API 2.0.0
*/
IDhApiBiomeWrapper getBiomeWrapper(Object[] objectArray, IDhApiLevelWrapper levelWrapper) throws ClassCastException;
/**
* Constructs a {@link IDhApiBlockStateWrapper} for use by other DhApi methods.
*
* @param objectArray Expects the following Minecraft objects (in order) for each MC version: <br>
* <b>1.16</b> and <b>newer</b> <br>
* - [net.minecraft.world.level.block.state.BlockState]<br>
*
* @param levelWrapper Expects a {@link IDhApiBlockStateWrapper} returned by one of DH's {@link DhApi.Delayed#worldProxy} methods. <br>
* A custom implementation of {@link IDhApiBlockStateWrapper} will not be accepted.
*
* @throws ClassCastException if any of the given parameters is of the wrong type.
* If thrown the error message will contain the list of expected object types in order.
*
* @since API 2.0.0
*/
IDhApiBlockStateWrapper getBlockStateWrapper(Object[] objectArray, IDhApiLevelWrapper levelWrapper) throws ClassCastException;
/**
* Returns the {@link IDhApiBlockStateWrapper} representing air.
* @since API 2.0.0
*/
IDhApiBlockStateWrapper getAirBlockStateWrapper();
/**
* Constructs a {@link IDhApiBiomeWrapper} for use by other DhApi methods.
*
* @param resourceLocationString example: "minecraft:plains"
*
* @param levelWrapper Expects a {@link IDhApiLevelWrapper} returned by one of DH's {@link DhApi.Delayed#worldProxy} methods. <br>
* A custom implementation of {@link IDhApiLevelWrapper} will not be accepted.
*
* @throws IOException if the resourceLocationString wasn't able to be parsed or converted into a valid {@link IDhApiBiomeWrapper}
* @throws ClassCastException if the wrong levelWrapper type was given
*
* @since API 3.0.0
*/
IDhApiBiomeWrapper getBiomeWrapper(String resourceLocationString, IDhApiLevelWrapper levelWrapper) throws IOException, ClassCastException;
/**
* Constructs a {@link IDhApiBlockStateWrapper} for use by other DhApi methods.
* This returns the default blockstate for the given resource location.
*
* @param resourceLocationString examples: "minecraft:bedrock", "minecraft:stone", "minecraft:grass_block"
* @param levelWrapper Expects a {@link IDhApiBlockStateWrapper} returned by one of DH's {@link DhApi.Delayed#worldProxy} methods. <br>
* A custom implementation of {@link IDhApiBlockStateWrapper} will not be accepted.
*
* @throws IOException if the resourceLocationString wasn't able to be parsed or converted into a valid {@link IDhApiBlockStateWrapper}
* @throws ClassCastException if the wrong levelWrapper type was given
*
* @since API 3.0.0
*/
IDhApiBlockStateWrapper getDefaultBlockStateWrapper(String resourceLocationString, IDhApiLevelWrapper levelWrapper) throws IOException, ClassCastException;
}
@@ -1,42 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.override;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IBindable;
import com.seibel.distanthorizons.coreapi.interfaces.dependencyInjection.IOverrideInjector;
/**
* Implemented by all DhApi objects that can be overridden.
*
* @author James Seibel
* @version 2022-9-5
* @since API 1.0.0
*/
public interface IDhApiOverrideable extends IBindable
{
/**
* Higher (larger numerical) priorities override lower (smaller numerical) priorities. <br>
* For most developers this can be left at the default.
*
* @return The priority of this interface, the lowest legal value is {@link IOverrideInjector#MIN_NON_CORE_OVERRIDE_PRIORITY}.
*/
default int getPriority() { return IOverrideInjector.DEFAULT_NON_CORE_OVERRIDE_PRIORITY; }
}
@@ -1,51 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.override.levelHandling;
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiLevelWrapper;
import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
import java.io.File;
/**
* Used to override which folder DH uses when loading a level.
* Can be used to redirect LOD data saving into a more manageable location
* or for replays/local-servers that are running out of a different folder
* than where the DH data is normally saved.
*
* @author James Seibel
* @version 2024-9-28
* @since API 4.0.0
*/
public interface IDhApiSaveStructure extends IDhApiOverrideable
{
/**
* Called when DH first loads a level to determine which folder it should use
* for file handling.
*
* @param currentFilePath the file path DH is planning to use. If this method returns null this is the file path that will be used.
* @param levelWrapper the level this file path is used for.
* @return null if you don't want to override the file path. Non-null if you want to change the file path.
*/
File overrideFilePath(File currentFilePath, IDhApiLevelWrapper levelWrapper);
}
@@ -1,58 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.override.rendering;
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.objects.math.DhApiMat4f;
/**
* Used to determine if a LOD should be rendered or is outside the
* user's field of view.
*
* @author James Seibel
* @version 2024-2-6
* @since API 2.0.0
*/
public interface IDhApiCullingFrustum extends IDhApiOverrideable
{
/**
* Called before a render pass is done.
*
* @param worldMinBlockY the lowest block position this level allows.
* @param worldMaxBlockY the highest block position this level allows.
* @param worldViewProjection the projection matrix used in this render pass.
*/
void update(int worldMinBlockY, int worldMaxBlockY, DhApiMat4f worldViewProjection);
/**
* returns true if the LOD bounds intersect this frustum
*
* @param lodBlockPosMinX this LOD's starting block X position closest to negative infinity
* @param lodBlockPosMinZ this LOD's starting block Z position closest to negative infinity
* @param lodBlockWidth this LOD's width in blocks
* @param lodDetailLevel this LOD's detail level
*
* @see EDhApiDetailLevel
*/
boolean intersects(int lodBlockPosMinX, int lodBlockPosMinZ, int lodBlockWidth, int lodDetailLevel);
}
@@ -1,59 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.distanthorizons.api.interfaces.override.rendering;
import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
/**
* @author James Seibel
* @version 2024-1-24
* @since API 2.0.0
*/
public interface IDhApiFramebuffer extends IDhApiOverrideable
{
/**
* If this method is called that means this program has the highest priority as defined by {@link IDhApiOverrideable#getPriority()}
* and gets to decide if it wants to be used to render this frame or not. <br><br>
*
* If this method returns true then this program will be used for this frame. <br>
* If this returns false then the default DH {@link IDhApiShaderProgram} will be used instead.
*/
boolean overrideThisFrame();
/** Runs any necessary binding this program needs so rendering can be done. */
void bind();
/** Binds the given OpenGL depth texture ID. */
void addDepthAttachment(int textureId, boolean isCombinedStencil);
/** @return the OpenGL ID for this shader program */
int getId();
/** @return the OpenGL framebuffer status as defined by <code>glCheckFramebufferStatus</code> */
int getStatus();
/** Binds the given OpenGL texture ID to the given texture index relative to OpenGL's <code>GL_COLOR_ATTACHMENT0</code> */
void addColorAttachment(int textureIndex, int textureId);
/** Destroys this framebuffer's OpenGL object(s). */
void destroy();
}

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