Compare commits

..

4 Commits

Author SHA1 Message Date
Ran f767215ff0 Merge remote-tracking branch 'origin/java_omega' into java_omega
# Conflicts:
#	core/build.gradle
2024-07-26 00:20:42 +10:00
Ran ef87a4e595 Attempt to migrate most of the codebase to newer versions of Java 2024-07-26 00:17:15 +10:00
Cutiepie 1e4fb66e9a Java Ω & cleanup core's code 2024-07-25 23:32:34 +10:00
Cutiepie fef87df09b Java Ω & cleanup core's code 2024-05-22 21:03:38 +10:00
397 changed files with 13195 additions and 19809 deletions
+1 -1
View File
@@ -537,7 +537,7 @@ ij_groovy_wrap_chain_calls_after_dot = false
ij_groovy_wrap_long_lines = false
[{*.har,*.json,*.png.mcmeta,mcmod.info,pack.mcmeta}]
indent_size = 2
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
-1
View File
@@ -1 +0,0 @@
Distant Horizons logos © 2024 by Pankakes are licensed under CC BY-SA 4.0
+3 -3
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.
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:
https://gitlab.com/distant-horizons-team/distant-horizons
https://gitlab.com/jeseibel/distant-horizons
## source code installation

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

@@ -60,16 +60,15 @@ public class DhApi
*
* 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 final String READ_ME =
"""
If you don't see Javadocs something is wrong.
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.
Please use the API jar in your build script as a compile time dependency and the full DH jar as a runtime dependency.
Please refer to the example API project or the DH Developer Wiki for additional information and suggested setup.
"""; // DH Dev note: no links were included to prevent link rot.
public static String readMe() { return READ_ME; }
/**
@@ -180,7 +179,7 @@ public class DhApi
* 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; }
public static int getApiPatchVersion() { return ModInfo.API_PATH_VERSION; }
/**
* Returns the mod's semantic version number in the format: Major.Minor.Patch
@@ -24,7 +24,7 @@ package com.seibel.distanthorizons.api.enums;
* CHUNK - Detail Level: 4, width 16 block, <br>
* REGION - Detail Level: 9, width 512 block <br> <br>
*
* Detail levels in Distant Horizons represent how large a LOD
* Detail levels in Distant Horizons represent how large a section (of either LODs or MC chunks)
* is, with the smallest being 0 (1 block wide). <br>
* The width of a detail level can be calculated by putting the detail level to the power of 2. <br>
* Example for the chunk detail level (4): 2^4 = 16 blocks wide <Br><br>
@@ -23,12 +23,13 @@ package com.seibel.distanthorizons.api.enums.config;
* AUTO, <br>
* BUFFER_STORAGE, <br>
* SUB_DATA, <br>
* BUFFER_MAPPING, <br>
* DATA <br>
*
* @author Leetom
* @author James Seibel
* @version 2024-4-6
* @since API 3.0.0
* @since API 2.0.0
*/
public enum EDhApiGpuUploadMethod
{
@@ -48,10 +49,7 @@ public enum EDhApiGpuUploadMethod
* May end up storing buffers in System memory. <br>
* Fast rending if in GPU memory, slow if in system memory, <br>
* but won't stutter when uploading.
*
* @deprecated not currently supported
*/
@Deprecated
BUFFER_MAPPING(true, false),
/** Fast rendering but may stutter when uploading. */
@@ -24,7 +24,7 @@ package com.seibel.distanthorizons.api.enums.config;
* LOW <br>
* MEDIUM <br>
* HIGH <br>
* EXTREME <br>
* UNLIMITED <br>
*
* @since API 2.0.0
* @version 2024-4-6
@@ -36,7 +36,7 @@ public enum EDhApiHorizontalQuality
// when removing items up the API major version
// Note: any quadraticBase less than 2.0f has issues with DetailDistanceUtil, and will always return the lowest detail level.
// FIXME 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
@@ -1,58 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
/**
* 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;
}
@@ -26,9 +26,7 @@ import com.seibel.distanthorizons.coreapi.util.MathUtil;
* LOW <br>
* MEDIUM <br>
* HIGH <br>
* VERY_HIGH <br>
* EXTREME <br>
* PIXEL_ART <br>
*
* @author Leonardo Amato
* @version 2024-4-6
@@ -36,13 +34,13 @@ import com.seibel.distanthorizons.coreapi.util.MathUtil;
*/
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});
HEIGHT_MAP( new int[]{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}),
LOW( new int[]{4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1}),
MEDIUM( new int[]{6, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1}),
HIGH( new int[]{16, 8, 4, 3, 3, 3, 3, 3, 3, 3, 1}),
VERY_HIGH( new int[]{32, 16, 8, 4, 4, 3, 3, 3, 3, 3, 1}),
EXTREME( new int[]{64, 32, 8, 4, 4, 3, 3, 3, 3, 3, 1}),
PIXEL_ART( new int[]{512, 64, 16, 8, 4, 3, 3, 3, 3, 3, 1});
/** represents how many LODs can be rendered in a single vertical slice */
public final int[] maxVerticalData;
@@ -21,7 +21,6 @@ package com.seibel.distanthorizons.api.enums.rendering;
* AIR, <br>
* ILLUMINATED, <br>
*
* @author IMS
* @author James Seibel
* @since API 3.0.0
* @version 2024-7-11
@@ -56,34 +56,23 @@ public enum EDhApiDebugRendering
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 SHOW_RENDER_SOURCE_FLAG;
default:
return OFF;
}
return switch (type) {
case OFF -> SHOW_DETAIL;
case SHOW_DETAIL -> SHOW_BLOCK_MATERIAL;
case SHOW_BLOCK_MATERIAL -> SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS -> SHOW_RENDER_SOURCE_FLAG;
default -> OFF;
};
}
public static EDhApiDebugRendering previous(EDhApiDebugRendering type)
{
switch (type)
{
case OFF:
return SHOW_RENDER_SOURCE_FLAG;
case SHOW_RENDER_SOURCE_FLAG:
return SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS:
return SHOW_DETAIL;
default:
return OFF;
}
return switch (type) {
case OFF -> SHOW_RENDER_SOURCE_FLAG;
case SHOW_RENDER_SOURCE_FLAG -> SHOW_OVERLAPPING_QUADS;
case SHOW_OVERLAPPING_QUADS -> SHOW_DETAIL;
default -> OFF;
};
}
}
@@ -24,13 +24,10 @@ package com.seibel.distanthorizons.api.enums.rendering;
* FOG_ENABLED, <br>
* FOG_DISABLED <br>
*
* @deprecated since API 4.0.0 since {@link EDhApiFogDrawMode#USE_OPTIFINE_SETTING} is no longer supported.
*
* @author James Seibel
* @since API 2.0.0
* @version 2022-6-2
*/
@Deprecated
public enum EDhApiFogDrawMode
{
// Reminder:
@@ -38,12 +35,9 @@ public enum EDhApiFogDrawMode
// when removing items up the API major version
/**
* Use whatever Fog setting Optifine is using.
* If Optifine isn't installed this defaults to {@link EDhApiFogDrawMode#FOG_ENABLED}.
*
* @deprecated Since API 4.0.0 is equivalent to {@link EDhApiFogDrawMode#FOG_ENABLED}
* Use whatever Fog setting optifine is using.
* If optifine isn't installed this defaults to FOG_ENABLED.
*/
@Deprecated
USE_OPTIFINE_SETTING,
FOG_ENABLED,
@@ -25,7 +25,7 @@ package com.seibel.distanthorizons.api.enums.rendering;
* EXPONENTIAL_SQUARED <br>
*
* @author Leetom
* @version 2024-11-09
* @version 2022-6-30
* @since API 2.0.0
*/
public enum EDhApiFogFalloff
@@ -35,17 +35,8 @@ public enum EDhApiFogFalloff
// when removing items up the API major version
LINEAR(0),
EXPONENTIAL(1),
EXPONENTIAL_SQUARED(2);
/**
* Stable version of {@link EDhApiFogFalloff#ordinal()}
* @since API 4.0.0
*/
public final int value;
EDhApiFogFalloff(int value) { this.value = value; }
LINEAR,
EXPONENTIAL,
EXPONENTIAL_SQUARED,
}
@@ -20,11 +20,10 @@
package com.seibel.distanthorizons.api.enums.rendering;
/**
* SPHERICAL <br>
* CYLINDRICAL <br>
* <br>
* MAX <br>
* BASIC <br>
* IGNORE_HEIGHT <br>
* ADDITION <br>
* MAX <br>
* MULTIPLY <br>
* INVERSE_MULTIPLY <br>
* LIMITED_ADDITION <br>
@@ -38,36 +37,14 @@ package com.seibel.distanthorizons.api.enums.rendering;
*/
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; }
BASIC,
IGNORE_HEIGHT,
ADDITION,
MAX,
MULTIPLY,
INVERSE_MULTIPLY,
LIMITED_ADDITION,
MULTIPLY_ADDITION,
INVERSE_MULTIPLY_ADDITION,
AVERAGE,
}
@@ -31,28 +31,28 @@ package com.seibel.distanthorizons.api.enums.rendering;
* @version 2024-4-6
* @since API 2.0.0
*/
public enum EDhApiHeightFogDirection
public enum EDhApiHeightFogMode
{
// Reminder:
// when adding items up the API minor version
// when removing items up the API major version
ABOVE_CAMERA (true, true, false),
BELOW_CAMERA (true, false, true),
ABOVE_AND_BELOW_CAMERA (true, true, true),
ABOVE_SET_HEIGHT (false, true, false),
BELOW_SET_HEIGHT (false, false, true),
ABOVE_AND_BELOW_SET_HEIGHT (false, true, true);
ABOVE_CAMERA(true, true, false),
BELOW_CAMERA(true, false, true),
ABOVE_AND_BELOW_CAMERA(true, true, true),
ABOVE_SET_HEIGHT(false, true, false),
BELOW_SET_HEIGHT(false, false, true),
ABOVE_AND_BELOW_SET_HEIGHT(false, true, true);
public final boolean basedOnCamera;
public final boolean fogAppliesUp;
public final boolean fogAppliesDown;
public final boolean above;
public final boolean below;
EDhApiHeightFogDirection(boolean basedOnCamera, boolean fogAppliesUp, boolean fogAppliesDown)
EDhApiHeightFogMode(boolean basedOnCamera, boolean above, boolean below)
{
this.basedOnCamera = basedOnCamera;
this.fogAppliesUp = fogAppliesUp;
this.fogAppliesDown = fogAppliesDown;
this.above = above;
this.below = below;
}
}
@@ -42,29 +42,21 @@ public enum EDhApiRendererMode
/** Used by the config GUI to cycle through the available rendering options */
public static EDhApiRendererMode next(EDhApiRendererMode type)
{
switch (type)
{
case DEFAULT:
return DEBUG;
case DEBUG:
return DISABLED;
default:
return DEFAULT;
}
return switch (type) {
case DEFAULT -> DEBUG;
case DEBUG -> DISABLED;
default -> 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:
return DEFAULT;
default:
return DEBUG;
}
return switch (type) {
case DEFAULT -> DISABLED;
case DEBUG -> DEFAULT;
default -> DEBUG;
};
}
}
@@ -22,14 +22,13 @@ package com.seibel.distanthorizons.api.enums.worldGeneration;
/**
* PRE_EXISTING_ONLY <br>
* SURFACE <br>
* FEATURES <br>
* FULL <br><br>
* FEATURES <br><br>
*
* In order of fastest to slowest.
*
* @author James Seibel
* @author Leonardo Amato
* @version 2024-12-13
* @version 2022-12-10
* @since API 1.0.0
*/
public enum EDhApiDistantGeneratorMode
@@ -74,17 +73,7 @@ public enum EDhApiDistantGeneratorMode
* 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);
FEATURES((byte) 5);
@@ -19,8 +19,8 @@
package com.seibel.distanthorizons.api.enums.worldGeneration;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
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;
@@ -28,17 +28,16 @@ import java.util.function.Consumer;
/**
* VANILLA_CHUNKS, <br>
* API_CHUNKS <br>
* API_DATA_SOURCES <br>
*
* @author Builderb0y, James Seibel
* @version 2024-10-5
* @version 2023-12-21
* @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)}
* {@link IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be used when generating terrain.
*
* @since API 2.0.0
@@ -47,20 +46,11 @@ public enum EDhApiWorldGeneratorReturnType
/**
* when this constant is returned by {@link IDhApiWorldGenerator#getReturnType()},
* {@link IDhApiWorldGenerator#generateApiChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* {@link IDhApiWorldGenerator#generateApiChunks(int, int, byte, 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;
API_CHUNKS;
}
@@ -19,7 +19,6 @@
package com.seibel.distanthorizons.api.interfaces.block;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiBlockMaterial;
import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
/**
@@ -45,11 +44,7 @@ public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper
* @since API 3.0.0
*/
String getSerialString();
/**
* Returns the byte value representing the {@link EDhApiBlockMaterial} enum.
* @see EDhApiBlockMaterial
* @since API 3.0.0
*/
/** @since API 3.0.0 */
byte getMaterialId();
}
@@ -36,6 +36,7 @@ public interface IDhApiConfig
IDhApiWorldGenerationConfig worldGenerator();
IDhApiMultiplayerConfig multiplayer();
IDhApiMultiThreadingConfig multiThreading();
IDhApiGpuBuffersConfig gpuBuffers();
// 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();
@@ -42,28 +42,22 @@ public interface IDhApiFogConfig extends IDhApiConfigGroup
// inner configs //
//===============//
/** The advanced fog config. */
/**
* The advanced fog config.
*/
IDhApiFarFogConfig farFog();
/** The height fog config. */
/**
* 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
/** Should be used to enable/disable fog rendering. */
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();
@@ -71,19 +65,7 @@ public interface IDhApiFogConfig extends IDhApiConfigGroup
/**
* 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();
}
@@ -0,0 +1,48 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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.EDhApiGpuUploadMethod;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
/**
* Distant Horizons' OpenGL buffer configuration.
*
* @author James Seibel
* @version 2023-6-14
* @since API 1.0.0
*/
public interface IDhApiGpuBuffersConfig extends IDhApiConfigGroup
{
/** Defines how geometry data is uploaded to the GPU. */
IDhApiConfigValue<EDhApiGpuUploadMethod> gpuUploadMethod();
/**
* Defines how long we should wait after uploading one
* Megabyte of geometry data to the GPU before uploading
* the next Megabyte of data. <br>
* This can be set to a non-zero number to reduce stuttering caused by
* uploading buffers to the GPU.
*/
IDhApiConfigValue<Integer> gpuUploadPerMegabyteInMilliseconds();
}
@@ -21,7 +21,7 @@ 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.enums.rendering.EDhApiHeightFogMode;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
@@ -42,14 +42,11 @@ 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 how the height fog is drawn relative to the camera or world. */
IDhApiConfigValue<EDhApiHeightFogMode> heightFogMode();
/**
* Defines the height fog's base height if {@link IDhApiHeightFogConfig#heightFogDirection()}
* Defines the height fog's base height if {@link IDhApiHeightFogConfig#heightFogMode()}
* is set to use a specific height.
*/
IDhApiConfigValue<Double> heightFogBaseHeight();
@@ -26,31 +26,33 @@ import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigGroup;
* Distant Horizons' threading configuration.
*
* @author James Seibel
* @version 2024-12-26
* @version 2023-10-29
* @since API 1.0.0
*/
public interface IDhApiMultiThreadingConfig extends IDhApiConfigGroup
{
/**
* Defines how many threads Distant Horizons
* uses.
*
* @since API 4.0.0
* Defines how many world generator threads are used to generate
* terrain outside Minecraft's vanilla render distance. <br>
* <br>
* If the number of threads is less than 1 it will be treated as a percentage
* representing how often the single thread will actively generate terrain.
*/
IDhApiConfigValue<Integer> threadCount();
IDhApiConfigValue<Integer> worldGeneratorThreads();
/** Defines how many file handler threads are used. */
IDhApiConfigValue<Integer> fileHandlerThreads();
/**
* 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
* Defines how many threads are used
* to build LODs. <br><br>
*
* This includes: <br>
* - lighting <br>
* - Chunk -> LOD conversion <br>
* - Buffer generation <br>
*/
IDhApiConfigValue<Double> threadRuntimeRatio();
IDhApiConfigValue<Integer> lodBuilderThreads();
}
@@ -39,4 +39,15 @@ public interface IDhApiMultiplayerConfig extends IDhApiConfigGroup
*/
IDhApiConfigValue<EDhApiServerFolderNameMode> folderSavingMode();
/**
* Defines the necessary similarity (as a percent) that two potential levels
* need in order to be considered the same. <br> <br>
*
* Setting this to zero causes every level of a specific dimension type to be considered
* the same level. <br>
* Setting this to a non-zero value allows for usage in servers that user Multiverse
* or similar mods.
*/
IDhApiConfigValue<Double> multiverseSimilarityRequirement();
}
@@ -1,51 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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);
}
@@ -46,6 +46,10 @@ public abstract class AbstractDhApiChunkWorldGenerator implements Closeable, IDh
public final byte getSmallestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
@Override
public final byte getLargestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
@Override
public final byte getMinGenerationGranularity() { return EDhApiDetailLevel.CHUNK.detailLevel; }
@Override
public final byte getMaxGenerationGranularity() { return (byte) (EDhApiDetailLevel.CHUNK.detailLevel + 2); }
@@ -56,14 +60,17 @@ public abstract class AbstractDhApiChunkWorldGenerator implements Closeable, IDh
@Override
public final CompletableFuture<Void> generateChunks(
int chunkPosMinX, int chunkPosMinZ,
int generationRequestChunkWidthCount, byte targetDataDetail, EDhApiDistantGeneratorMode generatorMode,
byte granularity, byte targetDataDetail, EDhApiDistantGeneratorMode generatorMode,
ExecutorService worldGeneratorThreadPool, Consumer<Object[]> resultConsumer) throws ClassCastException
{
return CompletableFuture.runAsync(() ->
{
for (int chunkX = chunkPosMinX; chunkX < chunkPosMinX + generationRequestChunkWidthCount; chunkX++)
// TODO what does this mean?
int genChunkWidth = BitShiftUtil.powerOfTwo(granularity - 4);
for (int chunkX = chunkPosMinX; chunkX < chunkPosMinX + genChunkWidth; chunkX++)
{
for (int chunkZ = chunkPosMinZ; chunkZ < chunkPosMinZ + generationRequestChunkWidthCount; chunkZ++)
for (int chunkZ = chunkPosMinZ; chunkZ < chunkPosMinZ + genChunkWidth; chunkZ++)
{
Object[] rawMcObjectArray = this.generateChunk(chunkX, chunkZ, generatorMode);
resultConsumer.accept(rawMcObjectArray);
@@ -76,7 +83,7 @@ public abstract class AbstractDhApiChunkWorldGenerator implements Closeable, IDh
public final CompletableFuture<Void> generateApiChunks(
int chunkPosMinX,
int chunkPosMinZ,
int generationRequestChunkWidthCount,
byte granularity,
byte targetDataDetail,
EDhApiDistantGeneratorMode generatorMode,
ExecutorService worldGeneratorThreadPool,
@@ -85,9 +92,12 @@ public abstract class AbstractDhApiChunkWorldGenerator implements Closeable, IDh
{
return CompletableFuture.runAsync(() ->
{
for (int chunkX = chunkPosMinX; chunkX < chunkPosMinX + generationRequestChunkWidthCount; chunkX++)
// TODO what does this mean?
int genChunkWidth = BitShiftUtil.powerOfTwo(granularity - 4);
for (int chunkX = chunkPosMinX; chunkX < chunkPosMinX + genChunkWidth; chunkX++)
{
for (int chunkZ = chunkPosMinZ; chunkZ < chunkPosMinZ + generationRequestChunkWidthCount; chunkZ++)
for (int chunkZ = chunkPosMinZ; chunkZ < chunkPosMinZ + genChunkWidth; chunkZ++)
{
DhApiChunk apiChunk = this.generateApiChunk(chunkX, chunkZ, generatorMode);
resultConsumer.accept(apiChunk);
@@ -105,10 +115,10 @@ public abstract class AbstractDhApiChunkWorldGenerator implements Closeable, IDh
* @param chunkPosZ the chunk Z position in the level (not to be confused with the chunk's BlockPos in the level)
* @param generatorMode how far into the world gen pipeline this method should run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
*
* @return See {@link IDhApiWorldGenerator#generateChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer) IDhApiWorldGenerator.generateChunks}
* @return See {@link IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer) IDhApiWorldGenerator.generateChunks}
* for the list of Object's this method should return along with additional documentation.
*
* @see IDhApiWorldGenerator#generateChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer) IDhApiWorldGenerator#generateChunks
* @see IDhApiWorldGenerator#generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer) IDhApiWorldGenerator#generateChunks
*/
public abstract Object[] generateChunk(int chunkPosX, int chunkPosZ, EDhApiDistantGeneratorMode generatorMode);
@@ -123,7 +133,7 @@ public abstract class AbstractDhApiChunkWorldGenerator implements Closeable, IDh
* @return A {@link DhApiChunk} with the generated {@link DhApiTerrainDataPoint} including air blocks.
* Note: if air blocks aren't included with the proper lighting, lower detail levels will appear as black/unlit.
*
* @see IDhApiWorldGenerator#generateApiChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)
* @see IDhApiWorldGenerator#generateApiChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)
*
* @since API 3.0.0
*/
@@ -24,7 +24,6 @@ import com.seibel.distanthorizons.api.interfaces.override.IDhApiOverrideable;
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiDistantGeneratorMode;
import com.seibel.distanthorizons.api.objects.data.DhApiChunk;
import com.seibel.distanthorizons.api.objects.data.IDhApiFullDataSource;
import java.io.Closeable;
import java.util.concurrent.CompletableFuture;
@@ -33,7 +32,7 @@ import java.util.function.Consumer;
/**
* @author James Seibel
* @version 2024-10-07
* @version 2023-6-22
* @since API 1.0.0
*/
public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
@@ -44,17 +43,19 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
/**
* Defines the smallest datapoint size that can be generated at a time. <br>
* Maximum detail level (smallest numerical value) is 0 (1 block) <br>
* Minimum detail level is 0 (1 block) <br>
* Default detail level is 0 <br>
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}. <br><br>
*
*
* TODO: System currently only supports 1x1 block per data.
*
* @see EDhApiDetailLevel
* @since API 1.0.0
*/
default byte getSmallestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
/**
* Defines the largest datapoint size that can be generated at a time. <br>
* Maximum detail level (smallest numerical value) is 0 (1 block) <br>
* Minimum detail level is 0 (1 block) <br>
* Default detail level is 0 <br>
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}.
*
@@ -63,18 +64,38 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
*/
default byte getLargestDataDetailLevel() { return EDhApiDetailLevel.BLOCK.detailLevel; }
/**
* Used if {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#API_CHUNKS} or {@link EDhApiWorldGeneratorReturnType#API_DATA_SOURCES}. <Br>
* If true DH will run additional validation on the {@link DhApiChunk} or {@link IDhApiFullDataSource}'s returned. <Br>
* This should be disabled during release but should be enabled during development to help spot issues with your data format.
*
* @see #getReturnType()
* @see DhApiChunk
* @see IDhApiFullDataSource
* @see EDhApiWorldGeneratorReturnType#API_CHUNKS
* @since API 4.0.0
/**
* When creating generation requests the system will attempt to group nearby tasks together. <br><br>
* What is the minimum size a single generation call can batch together? <br>
*
* Minimum detail level is 4 (the size of a MC chunk) <br>
* Default detail level is 4 <br>
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}.
*
* @see EDhApiDetailLevel
* @since API 1.0.0
*/
default boolean runApiValidation() { return true; }
default byte getMinGenerationGranularity() { return EDhApiDetailLevel.CHUNK.detailLevel; }
/**
* When creating generation requests the system will attempt to group nearby tasks together. <br><br>
* What is the maximum size a single generation call can batch together? <br>
*
* Minimum detail level is 4 (the size of a MC chunk) <br>
* Default detail level is 6 (4x4 chunks) <br>
* For more information on what detail levels represent see: {@link EDhApiDetailLevel}.
*
* @see EDhApiDetailLevel
* @since API 1.0.0
*/
default byte getMaxGenerationGranularity() { return (byte) (EDhApiDetailLevel.CHUNK.detailLevel + 2); }
/**
* @return true if the generator is unable to accept new generation requests.
* @since API 1.0.0
*/
boolean isBusy();
@@ -104,9 +125,9 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
*
* @param chunkPosMinX the chunk X position closest to negative infinity
* @param chunkPosMinZ the chunk Z position closest to negative infinity
* @param generationRequestChunkWidthCount how many chunks wide you should generate
* @param granularity TODO find a central location to store the definition of granularity. For now it is stored in the Core method: WorldGenerationQueue#startGenerationEvent
* @param targetDataDetail the LOD Detail level requested to generate. See {@link EDhApiDetailLevel} for additional information.
* @param generatorMode how far into the world gen pipeline this method should run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
* @param generatorMode how far into the world gen pipeline this method run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
* @param worldGeneratorThreadPool the thread pool that should be used when generating the returned {@link CompletableFuture}.
* @param resultConsumer the consumer that should be fired whenever a chunk finishes generating.
*
@@ -117,7 +138,7 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
default CompletableFuture<Void> generateChunks(
int chunkPosMinX,
int chunkPosMinZ,
int generationRequestChunkWidthCount,
byte granularity,
byte targetDataDetail,
EDhApiDistantGeneratorMode generatorMode,
ExecutorService worldGeneratorThreadPool,
@@ -126,7 +147,7 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
{
throw new UnsupportedOperationException();
}
/**
* This method is called by Distant Horizons to generate terrain over a given area when
* {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#API_CHUNKS}. <br><br>
@@ -140,9 +161,9 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
*
* @param chunkPosMinX the chunk X position closest to negative infinity
* @param chunkPosMinZ the chunk Z position closest to negative infinity
* @param generationRequestChunkWidthCount how many chunks wide you should generate
* @param granularity TODO find a central location to store the definition of granularity. For now it is stored in the Core method: WorldGenerationQueue#startGenerationEvent
* @param targetDataDetail the LOD Detail level requested to generate. See {@link EDhApiDetailLevel} for additional information.
* @param generatorMode how far into the world gen pipeline this method should run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
* @param generatorMode how far into the world gen pipeline this method run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
* @param worldGeneratorThreadPool the thread pool that should be used when generating the returned {@link CompletableFuture}.
* @param resultConsumer the consumer that should be fired whenever a chunk finishes generating.
*
@@ -153,7 +174,7 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
default CompletableFuture<Void> generateApiChunks(
int chunkPosMinX,
int chunkPosMinZ,
int generationRequestChunkWidthCount,
byte granularity,
byte targetDataDetail,
EDhApiDistantGeneratorMode generatorMode,
ExecutorService worldGeneratorThreadPool,
@@ -162,51 +183,11 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
{
throw new UnsupportedOperationException();
}
/**
* This method is called by Distant Horizons to generate terrain over a given area when
* {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#API_DATA_SOURCES}. <br><br>
*
* After the {@link IDhApiWorldGenerator} has been generated, it should be passed into the
* resultConsumer's {@link Consumer#accept(Object)} method.
* Note: if air blocks aren't included in the with the {@link DhApiChunk} with proper lighting, lower detail levels will appear as black/unlit.
*
* @implNote the default implementation of this method throws an {@link UnsupportedOperationException},
* and must be overridden when {@link #getReturnType()} returns {@link EDhApiWorldGeneratorReturnType#API_CHUNKS}.
*
* @param chunkPosMinX the chunk X position closest to negative infinity
* @param chunkPosMinZ the chunk Z position closest to negative infinity
* @param lodPosX the LOD's X position, relative to the given {@link EDhApiDetailLevel}
* @param lodPosZ the LOD's Z position, relative to the given {@link EDhApiDetailLevel}
* @param detailLevel the LOD Detail level requested to generate. See {@link EDhApiDetailLevel} for additional information.
* @param pooledFullDataSource The data source you should populate during your world generation.
* This data source is pooled by DH and may be reused multiple times by different internal DH systems. <br>
* This data source should <strong>not</strong> be referenced or stored outside of this method nor the executor provided by worldGeneratorThreadPool.
* <strong>Attempting to do so will corrupt DH's data.</strong>
* @param generatorMode how far into the world gen pipeline this method should run. See {@link EDhApiDistantGeneratorMode} for additional documentation.
* @param worldGeneratorThreadPool the thread pool that should be used when generating the returned {@link CompletableFuture}.
* @param resultConsumer the consumer that should be fired whenever a chunk finishes generating.
*
* @return a future that should run on the worldGeneratorThreadPool and complete once the given generation task has completed.
*
* @since API 4.0.0
*/
default CompletableFuture<Void> generateLod(
int chunkPosMinX, int chunkPosMinZ,
int lodPosX, int lodPosZ, byte detailLevel,
IDhApiFullDataSource pooledFullDataSource,
EDhApiDistantGeneratorMode generatorMode,
ExecutorService worldGeneratorThreadPool,
Consumer<IDhApiFullDataSource> resultConsumer
)
{
throw new UnsupportedOperationException();
}
/**
* This method controls how Distant Horizons requests generated chunks.
* By default, the return value is {@link EDhApiWorldGeneratorReturnType#VANILLA_CHUNKS},
* which means that {@link #generateChunks(int, int, int, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* which means that {@link #generateChunks(int, int, byte, byte, EDhApiDistantGeneratorMode, ExecutorService, Consumer)}
* will be invoked whenever Distant Horizons wants to generate terrain with this world generator.
*
* @since API 2.0.0
@@ -239,5 +220,4 @@ public interface IDhApiWorldGenerator extends Closeable, IDhApiOverrideable
void close();
}
@@ -26,7 +26,7 @@ import com.seibel.distanthorizons.api.objects.DhApiResult;
* Used to interact with Distant Horizons' rendering system.
*
* @author James Seibel
* @version 2024-7-27
* @version 2023-10-13
* @since API 1.0.0
*/
public interface IDhApiRenderProxy
@@ -39,8 +39,10 @@ public interface IDhApiRenderProxy
* If this is called on a dedicated server it won't do anything and will return {@link DhApiResult#success} = false <Br><Br>
*
* Background: <Br>
* When rendering Distant Horizons bakes each block's color into the geometry that's rendered. <Br>
* This improves rendering speed and VRAM size, but prevents dynamically changing LOD colors. <Br>
* Distant Horizons has two different file formats: Full data and Render data. <Br>
* - Full data files store the block, biome, etc. information and is the result of loading or generating new chunks. <Br>
* - Render data files store LOD colors and are created using the Full data and currently loaded resource packs. <Br>
* This is the data cleared by this method.
*/
DhApiResult<Boolean> clearRenderDataCache();
@@ -28,6 +28,8 @@ import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
*/
public interface IDhApiDimensionTypeWrapper extends IDhApiUnsafeWrapper
{
String getDimensionName();
boolean hasCeiling();
boolean hasSkyLight();
@@ -23,48 +23,25 @@ import com.seibel.distanthorizons.api.interfaces.IDhApiUnsafeWrapper;
import com.seibel.distanthorizons.api.enums.worldGeneration.EDhApiLevelType;
import com.seibel.distanthorizons.api.interfaces.render.IDhApiCustomRenderRegister;
import java.io.File;
/**
* Can be either a Server or Client level.<br>
* A level is equivalent to a dimension in vanilla Minecraft.
*
* @author James Seibel
* @version 2024-7-28
* @version 2022-7-14
* @since API 1.0.0
*/
public interface IDhApiLevelWrapper extends IDhApiUnsafeWrapper
{
IDhApiDimensionTypeWrapper getDimensionType();
/** @since API 4.0.0 */
String getDimensionName();
/**
* Returns a string intended to uniquely identify this level.
*
* @since API 4.0.0
*/
String getDhIdentifier();
EDhApiLevelType getLevelType();
boolean hasCeiling();
boolean hasSkyLight();
/**
* Deprecated, use {@link IDhApiLevelWrapper#getMaxHeight} instead. <br>
* Returns the max block height of the level.
*
* @see IDhApiLevelWrapper#getMaxHeight
*/
@Deprecated
default int getHeight() { return this.getMaxHeight(); }
/**
* Returns the max block height of the level
* @since API 3.0.0
*/
/** Returns the max block height of the level(?) */
int getMaxHeight();
/**
@@ -76,20 +53,7 @@ public interface IDhApiLevelWrapper extends IDhApiUnsafeWrapper
/**
* Will return null if called on the server,
* or if called before the renderer has been set up.
*
* @since API 3.0.0
*/
IDhApiCustomRenderRegister getRenderRegister();
/**
* Returns the folder Distant Horizons uses to save
* data associated with this level.
* Will return null if the level is not loaded.
*
* @since API 4.0.0
*/
File getDhSaveFolder();
}
@@ -24,39 +24,14 @@ package com.seibel.distanthorizons.api.interfaces.world;
* A world is equivalent to a single server connection or a singleplayer world.
*
* @author James Seibel
* @version 2024-9-27
* @version 2022-11-20
* @since API 1.0.0
*/
public interface IDhApiWorldProxy
{
//===================//
// getters / setters //
//===================//
/** Returns true if a world is loaded. */
boolean worldLoaded();
/**
* Defaults to false. <br>
* Setting this to true will prevent DH from updating or creating new LODs.
*
* @since API 4.0.0
* @see IDhApiWorldProxy#getReadOnly()
* @throws IllegalStateException if no world is loaded
*/
void setReadOnly(boolean readOnly) throws IllegalStateException;
/**
* @since API 4.0.0
* @see IDhApiWorldProxy#setReadOnly(boolean)
* @throws IllegalStateException if no world is loaded
*/
boolean getReadOnly() throws IllegalStateException;
//================//
// level handlers //
//================//
/**
* In singleplayer this will return the level the player is currently in. <br>
@@ -1,64 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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.methods.events.abstractEvents;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiWorldProxy;
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEventParam;
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiEventParam;
/**
* Called after Distant Horizons finishes loading a new world. <br>
* Note: this may be fired before Minecraft has loaded in the player.
*
* @see IDhApiWorldProxy
*
* @author James Seibel
* @version 2024-12-7
* @since API 4.0.0
*/
public abstract class DhApiWorldLoadEvent implements IDhApiEvent<DhApiWorldLoadEvent.EventParam>
{
/** Fired after Distant Horizons loads a new world. */
public abstract void onWorldLoad(DhApiEventParam<EventParam> input);
//=========================//
// internal DH API methods //
//=========================//
@Override
public final void fireEvent(DhApiEventParam<EventParam> input) { this.onWorldLoad(input); }
//==================//
// parameter object //
//==================//
public static class EventParam implements IDhApiEventParam
{
public EventParam() { }
@Override
public EventParam copy() { return new EventParam(); }
}
}
@@ -1,63 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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.methods.events.abstractEvents;
import com.seibel.distanthorizons.api.interfaces.world.IDhApiWorldProxy;
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEvent;
import com.seibel.distanthorizons.api.methods.events.interfaces.IDhApiEventParam;
import com.seibel.distanthorizons.api.methods.events.sharedParameterObjects.DhApiEventParam;
/**
* Called after Distant Horizons has finished unloading a world.
*
* @see IDhApiWorldProxy
*
* @author James Seibel
* @version 2024-12-7
* @since API 4.0.0
*/
public abstract class DhApiWorldUnloadEvent implements IDhApiEvent<DhApiWorldUnloadEvent.EventParam>
{
/** Fired before Distant Horizons unloads a world. */
public abstract void onWorldUnload(DhApiEventParam<EventParam> input);
//=========================//
// internal DH API methods //
//=========================//
@Override
public final void fireEvent(DhApiEventParam<EventParam> input) { this.onWorldUnload(input); }
//==================//
// parameter object //
//==================//
public static class EventParam implements IDhApiEventParam
{
public EventParam() { }
@Override
public DhApiWorldLoadEvent.EventParam copy() { return new DhApiWorldLoadEvent.EventParam(); }
}
}
@@ -59,12 +59,12 @@ public class DhApiResult<T>
public static <Pt> DhApiResult<Pt> createSuccess() { return new DhApiResult<>(true, ""); }
public static <Pt> DhApiResult<Pt> createSuccess(Pt payload) { return new DhApiResult<Pt>(true, "", payload); }
public static <Pt> DhApiResult<Pt> createSuccess(Pt payload) { return new DhApiResult<>(true, "", payload); }
// There is no createSuccess(String message) method because it would be too easy to confuse with createSuccess(Pt payload) when returning null
public static <Pt> DhApiResult<Pt> createSuccess(String message, Pt payload) { return new DhApiResult<Pt>(true, message, payload); }
public static <Pt> DhApiResult<Pt> createSuccess(String message, Pt payload) { return new DhApiResult<>(true, message, payload); }
// there is no createFail() since all fail results should give a reason for their failure
public static <Pt> DhApiResult<Pt> createFail(String message) { return new DhApiResult<>(false, message); }
public static <Pt> DhApiResult<Pt> createFail(String message, Pt payload) { return new DhApiResult<Pt>(false, message, payload); }
public static <Pt> DhApiResult<Pt> createFail(String message, Pt payload) { return new DhApiResult<>(false, message, payload); }
}
@@ -21,10 +21,8 @@ package com.seibel.distanthorizons.api.objects.data;
import com.seibel.distanthorizons.api.interfaces.factories.IDhApiWrapperFactory;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import org.apache.logging.log4j.LogManager;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
@@ -54,27 +52,7 @@ public class DhApiChunk
// constructors //
//==============//
/**
* Deprecated due to the topYBlockPos and bottomYBlockPos variables being put in the wrong order.
* They should have been in bottom -> top order.
*
* @see DhApiChunk#create(int, int, int, int)
*/
@Deprecated
public DhApiChunk(int chunkPosX, int chunkPosZ, int topYBlockPos, int bottomYBlockPos)
{ this(chunkPosX, chunkPosZ, bottomYBlockPos, topYBlockPos, false); }
/**
* @since API 3.0.0
*/
public static DhApiChunk create(int chunkPosX, int chunkPosZ, int bottomYBlockPos, int topYBlockPos)
{ return new DhApiChunk(chunkPosX, chunkPosZ, bottomYBlockPos, topYBlockPos, false); }
/**
* Only visible to internal DH methods
* @param ignoredParameter is only present to differentiate the two constructors and isn't actually used
*/
private DhApiChunk(int chunkPosX, int chunkPosZ, int bottomYBlockPos, int topYBlockPos, boolean ignoredParameter)
public DhApiChunk(int chunkPosX, int chunkPosZ, int bottomYBlockPos, int topYBlockPos)
{
this.chunkPosX = chunkPosX;
this.chunkPosZ = chunkPosZ;
@@ -116,34 +94,27 @@ public class DhApiChunk
*/
public void setDataPoints(int relX, int relZ, List<DhApiTerrainDataPoint> dataPoints) throws IndexOutOfBoundsException, IllegalArgumentException
{
//==================//
// basic validation //
//==================//
// heavier validation is done in the world generator if requested
int internalArrayIndex = (relZ << 4) | relX;
throwIfRelativePosOutOfBounds(relX, relZ);
if (dataPoints == null)
// validate the incoming datapoints
if (dataPoints != null)
{
// we don't allow null columns
throw new IllegalArgumentException("Null columns aren't allowed. If you want to remove all data from a column please clear the list or pass in an empty list.");
for (int i = 0; i < dataPoints.size(); i++) // standard for-loop used instead of an enhanced for-loop to slightly reduce GC overhead due to iterator allocation
{
DhApiTerrainDataPoint dataPoint = dataPoints.get(i);
if (dataPoint == null)
{
throw new IllegalArgumentException("Null DhApiTerrainDataPoints are not allowed. If you want to represent empty terrain, please use AIR.");
}
if (dataPoint.detailLevel != 0)
{
throw new IllegalArgumentException("DhApiTerrainDataPoints has the wrong detail level ["+dataPoint.detailLevel+"], all data points must be block sized; IE their detail level must be [0].");
}
}
}
//================//
// set datapoints //
//================//
List<DhApiTerrainDataPoint> column = this.dataPoints.get(internalArrayIndex);
if (column == null)
{
column = new ArrayList<>();
this.dataPoints.set(internalArrayIndex, column);
}
column.addAll(dataPoints);
this.dataPoints.set((relZ << 4) | relX, dataPoints);
}
@@ -19,12 +19,9 @@
package com.seibel.distanthorizons.api.objects.data;
import com.seibel.distanthorizons.api.enums.EDhApiDetailLevel;
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBiomeWrapper;
import com.seibel.distanthorizons.api.interfaces.block.IDhApiBlockStateWrapper;
import java.util.ArrayList;
/**
* Holds a single datapoint of terrain data.
*
@@ -40,8 +37,6 @@ public class DhApiTerrainDataPoint
* 2 = 4x4 blocks <br>
* 4 = chunk (16x16 blocks) <br>
* 9 = region (512x512 blocks) <br>
*
* @see EDhApiDetailLevel
*/
public final byte detailLevel;
@@ -55,57 +50,7 @@ public class DhApiTerrainDataPoint
//==============//
// constructors //
//==============//
/**
* Deprecated due to the topYBlockPos and bottomYBlockPos variables being put in the wrong order.
* They should have been in bottom -> top order.
*
* @see DhApiTerrainDataPoint#create(byte, int, int, int, int, IDhApiBlockStateWrapper, IDhApiBiomeWrapper)
*/
@Deprecated
public DhApiTerrainDataPoint(
byte detailLevel,
int blockLightLevel, int skyLightLevel,
int topYBlockPos, int bottomYBlockPos,
IDhApiBlockStateWrapper blockStateWrapper, IDhApiBiomeWrapper biomeWrapper)
{
this(detailLevel, blockLightLevel, skyLightLevel,
bottomYBlockPos, topYBlockPos,
blockStateWrapper, biomeWrapper,
false);
}
/**
* @since API 3.0.0
*/
public static DhApiTerrainDataPoint create(
byte detailLevel,
int blockLightLevel, int skyLightLevel,
int bottomYBlockPos, int topYBlockPos,
IDhApiBlockStateWrapper blockStateWrapper, IDhApiBiomeWrapper biomeWrapper
)
{
return new DhApiTerrainDataPoint(
detailLevel, blockLightLevel, skyLightLevel,
bottomYBlockPos, topYBlockPos,
blockStateWrapper, biomeWrapper,
false);
}
/**
* Only visible to internal DH methods
* @param ignoredParameter is only present to differentiate the two constructors and isn't actually used
*/
private DhApiTerrainDataPoint(
byte detailLevel,
int blockLightLevel, int skyLightLevel,
int bottomYBlockPos, int topYBlockPos,
IDhApiBlockStateWrapper blockStateWrapper, IDhApiBiomeWrapper biomeWrapper,
boolean ignoredParameter
)
public DhApiTerrainDataPoint(byte detailLevel, int blockLightLevel, int skyLightLevel, int bottomYBlockPos, int topYBlockPos, IDhApiBlockStateWrapper blockStateWrapper, IDhApiBiomeWrapper biomeWrapper)
{
this.detailLevel = detailLevel;
@@ -1,45 +0,0 @@
package com.seibel.distanthorizons.api.objects.data;
import com.seibel.distanthorizons.api.interfaces.override.worldGenerator.IDhApiWorldGenerator;
import java.util.List;
/**
* Represents a single full LOD backed by Distant Horizons' ID system.
*
* @see IDhApiWorldGenerator
* @since API 4.0.0
*/
public interface IDhApiFullDataSource
{
/** @return how many data columns wide this data source is */
int getWidthInDataColumns();
/**
* Sets the data column at the relative X and Z position to the list given.
* The given list may be resorted based on the internal format DH requires.
*
* @param relX can be in the range 0 to {@link IDhApiFullDataSource#getWidthInDataColumns()}-1 (both inclusive)
* @param relZ can be in the range 0 to {@link IDhApiFullDataSource#getWidthInDataColumns()}-1 (both inclusive)
*
* @return the same columnDataPoints list after it has been imported into the data source.
* The returned list and contained objects can then be re-used.
*
* @throws IndexOutOfBoundsException if the relative positions are negative or outside the bounds of this data source.
*/
List<DhApiTerrainDataPoint> setApiDataPointColumn(int relX, int relZ, List<DhApiTerrainDataPoint> columnDataPoints)
throws IndexOutOfBoundsException, IllegalArgumentException;
/**
* @param relX can be in the range 0 to {@link IDhApiFullDataSource#getWidthInDataColumns()}-1 (both inclusive)
* @param relZ can be in the range 0 to {@link IDhApiFullDataSource#getWidthInDataColumns()}-1 (both inclusive)
*
* @return a {@link List} of {@link DhApiTerrainDataPoint} representing the data for the given relative position.
*
* @throws IndexOutOfBoundsException if the relative positions are negative or outside the bounds of this data source.
*/
List<DhApiTerrainDataPoint> getApiDataPointColumn(int relX, int relZ) throws IndexOutOfBoundsException;
}
@@ -88,25 +88,25 @@ public class DhApiMat4f implements IDhApiCopyable
/** Expects the values of the input array to be in row major order (AKA rows then columns) */
public DhApiMat4f(float[] values)
{
this.m00 = values[0];
this.m01 = values[1];
this.m02 = values[2];
this.m03 = values[3];
m00 = values[0];
m01 = values[1];
m02 = values[2];
m03 = values[3];
this.m10 = values[4];
this.m11 = values[5];
this.m12 = values[6];
this.m13 = values[7];
m10 = values[4];
m11 = values[5];
m12 = values[6];
m13 = values[7];
this.m20 = values[8];
this.m21 = values[9];
this.m22 = values[10];
this.m23 = values[11];
m20 = values[8];
m21 = values[9];
m22 = values[10];
m23 = values[11];
this.m30 = values[12];
this.m31 = values[13];
this.m32 = values[14];
this.m33 = values[15];
m30 = values[12];
m31 = values[13];
m32 = values[14];
m33 = values[15];
}
@@ -163,9 +163,8 @@ public class ApiEventInjector extends DependencyInjector<IDhApiEvent> implements
DhApiEventParam<T> eventParam = createEventParamWrapper(event, input);
event.fireEvent(eventParam);
if (eventParam instanceof DhApiCancelableEventParam)
if (eventParam instanceof DhApiCancelableEventParam<T> cancelableEventParam)
{
DhApiCancelableEventParam<T> cancelableEventParam = (DhApiCancelableEventParam<T>) eventParam;
cancelEvent |= cancelableEventParam.isEventCanceled();
}
@@ -87,7 +87,7 @@ public class DependencyInjector<BindableType extends IBindable> implements IDepe
// make sure the hashSet has an array to hold the dependency
if (!this.dependencies.containsKey(dependencyInterface))
{
this.dependencies.put(dependencyInterface, new ArrayList<BindableType>());
this.dependencies.put(dependencyInterface, new ArrayList<>());
}
// add the dependency
@@ -134,7 +134,7 @@ public class DependencyInjector<BindableType extends IBindable> implements IDepe
@Override
public <T extends BindableType> T get(Class<T> interfaceClass) throws ClassCastException
{
return (T) this.getInternalLogic(interfaceClass, false).get(0);
return (T) this.getInternalLogic(interfaceClass, false).getFirst();
}
@Override
@@ -146,7 +146,7 @@ public class DependencyInjector<BindableType extends IBindable> implements IDepe
@Override
public <T extends BindableType> T get(Class<T> interfaceClass, boolean allowIncompleteDependencies) throws ClassCastException
{
return (T) this.getInternalLogic(interfaceClass, allowIncompleteDependencies).get(0);
return (T) this.getInternalLogic(interfaceClass, allowIncompleteDependencies).getFirst();
}
/**
@@ -175,7 +175,7 @@ public class DependencyInjector<BindableType extends IBindable> implements IDepe
// return an empty list to prevent null pointers
ArrayList<T> emptyList = new ArrayList<T>();
ArrayList<T> emptyList = new ArrayList<>();
emptyList.add(null);
return emptyList;
}
@@ -64,14 +64,14 @@ public class OverridePriorityListContainer implements IBindable
else
{
// last item should have the highest priority
return this.overridePairList.get(this.overridePairList.size() - 1).override;
return this.overridePairList.getLast().override;
}
}
public IDhApiOverrideable getOverrideWithHighestPriority()
{
if (this.overridePairList.size() != 0)
{
return this.overridePairList.get(0).override;
return this.overridePairList.getFirst().override;
}
else
{
@@ -26,35 +26,29 @@ package com.seibel.distanthorizons.coreapi;
public final class ModInfo
{
public static final String ID = "distanthorizons";
public static final String RESOURCE_NAMESPACE = "distant_horizons";
public static final String DEDICATED_SERVER_INITIAL_PATH = "dedicated_server_initial";
/** Incremented every time any packets are added, changed or removed, with a few exceptions. */
public static final int PROTOCOL_VERSION = 8;
public static final String WRAPPER_PACKET_PATH = "message";
/** The internal protocol version used for networking */
public static final int PROTOCOL_VERSION = 1;
/** The protocol version used for multiverse networking */
public static final int MULTIVERSE_PLUGIN_PROTOCOL_VERSION = 1;
/** The internal mod name */
public static final String NAME = "DistantHorizons";
/** Human-readable version of NAME */
public static final String READABLE_NAME = "Distant Horizons";
public static final String VERSION = "2.3.0-b-dev";
public static final String VERSION = "2.1.3-a-dev";
/** Returns true if the current build is an unstable developer build, false otherwise. */
public static final boolean IS_DEV_BUILD = VERSION.toLowerCase().contains("dev");
public static boolean IS_DEV_BUILD = VERSION.toLowerCase().contains("dev");
/** This version should only be updated when breaking changes are introduced to the DH API */
public static final int API_MAJOR_VERSION = 4;
public static final int API_MAJOR_VERSION = 3;
/** This version should be updated whenever new methods are added to the DH API */
public static final int API_MINOR_VERSION = 0;
/** This version should be updated whenever non-breaking fixes are added to the DH API */
public static final int API_PATCH_VERSION = 0;
public static final int API_PATH_VERSION = 0;
/** If the config file has an older version it'll be re-created from scratch. */
public static final int CONFIG_FILE_VERSION = 3;
public static final String NETWORKING_RESOURCE_NAMESPACE = "distant_horizons";
public static final String MULTIVERSE_PLUGIN_NAMESPACE = "world_control";
/** All DH owned threads should start with this string to allow for easier debugging and profiling. */
public static final String THREAD_NAME_PREFIX = "DH-";
}
@@ -19,18 +19,17 @@
package com.seibel.distanthorizons.coreapi.util;
import java.text.CharacterIterator;
import java.text.StringCharacterIterator;
import java.util.ArrayList;
import java.util.Arrays;
/**
* Miscellaneous string helper functions.
*
* @author James Seibel
* @version 2022-7-19
*/
public class StringUtil
{
private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
/**
* Returns the n-th index of the given string. <br> <br>
*
@@ -68,6 +67,8 @@ public class StringUtil
return stringBuilder.toString();
}
private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
/**
* Converts the given byte array into a hex string representation. <br>
* source: https://stackoverflow.com/a/9855338
@@ -84,41 +85,4 @@ public class StringUtil
return new String(hexChars);
}
/**
* Returns a shortened version of the given string that is no longer than maxLength. <br>
* If null returns the empty string.
*/
public static String shortenString(String str, int maxLength)
{
if (str == null)
{
return "";
}
else
{
return str.substring(0, Math.min(str.length(), maxLength));
}
}
/**
* Source:
* https://stackoverflow.com/questions/3758606/how-can-i-convert-byte-size-into-a-human-readable-format-in-java#3758880
*/
public static String convertBytesToHumanReadable(long bytes)
{
if (-1000 < bytes && bytes < 1000)
{
return bytes + " B";
}
CharacterIterator ci = new StringCharacterIterator("kMGTPE");
while (bytes <= -999_950 || bytes >= 999_950)
{
bytes /= 1000;
ci.next();
}
return String.format("%.1f %cB", bytes / 1000.0, ci.current());
}
}
@@ -1,52 +0,0 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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.coreapi.util.converters;
import com.seibel.distanthorizons.api.enums.rendering.EDhApiFogDrawMode;
import com.seibel.distanthorizons.coreapi.interfaces.config.IConverter;
/**
* Used for supporting the deprecated {@link EDhApiFogDrawMode}.
*
* @author James Seibel
* @version 2024-10-12
*/
@Deprecated
public class ApiFogDrawModeConverter implements IConverter<Boolean, EDhApiFogDrawMode>
{
@Override
public Boolean convertToCoreType(EDhApiFogDrawMode renderingMode)
{
if (renderingMode == EDhApiFogDrawMode.USE_OPTIFINE_SETTING)
{
return true;
}
else
{
return renderingMode == EDhApiFogDrawMode.FOG_ENABLED;
}
}
@Override
public EDhApiFogDrawMode convertToApiType(Boolean renderingEnabled)
{ return renderingEnabled ? EDhApiFogDrawMode.FOG_ENABLED : EDhApiFogDrawMode.FOG_DISABLED; }
}
+3 -12
View File
@@ -10,7 +10,7 @@ application {
}
configurations {
shadowedArtifact // Used by DH to specify that we want to implement the shadowed core JAR file instead of the regular JAR file
downgradedArtifact // Used by DH to specify that we want to implement the shadowed core JAR file instead of the regular JAR file
shade
implementation.extendsFrom shade
}
@@ -39,9 +39,7 @@ dependencies { // All of these dependencies are in Vanilla Minecraft, but we nee
runtimeOnly "org.lwjgl:lwjgl-opengl::$lwjglNatives"
runtimeOnly "org.lwjgl:lwjgl-stb::$lwjglNatives"
runtimeOnly "org.lwjgl:lwjgl-tinyfd::$lwjglNatives"
// FIXME for some reason this line doesn't actually shade in the library
// shade "it.unimi.dsi:fastutil:${rootProject.fastutil_version}" // Add our own fastutil version
implementation "org.joml:joml:${rootProject.joml_version}"
// Some other dependencies
@@ -49,15 +47,8 @@ dependencies { // All of these dependencies are in Vanilla Minecraft, but we nee
implementation("com.google.code.findbugs:jsr305:3.0.2")
implementation("com.google.common:google-collect:0.5")
implementation("com.google.guava:guava:31.1-jre")
}
artifacts {
shadowedArtifact shadowJar // Setup the configuration shadowedArtifact to be the shadowJar
}
shadowJar {
def librariesLocation = "DistantHorizons.libraries"
// relocate "it.unimi.dsi.fastutil", "${librariesLocation}.unimi.dsi.fastutil"
mergeServiceFiles()
downgradedArtifact shadeDowngradedApi // Setup the configuration downgradedArtifact to be the `shadeDowngradedApi` which downgrades the core to a specified Java version
}
@@ -23,7 +23,6 @@ import com.seibel.distanthorizons.core.dependencyInjection.SingletonInjector;
import com.seibel.distanthorizons.core.render.renderer.generic.GenericRenderObjectFactory;
import com.seibel.distanthorizons.core.sql.DatabaseUpdater;
import com.seibel.distanthorizons.core.wrapperInterfaces.IWrapperFactory;
import com.seibel.distanthorizons.core.wrapperInterfaces.minecraft.IMinecraftClientWrapper;
import com.seibel.distanthorizons.coreapi.ModInfo;
import com.seibel.distanthorizons.core.world.DhApiWorldProxy;
import com.seibel.distanthorizons.core.api.external.methods.config.DhApiConfig;
@@ -33,19 +32,14 @@ import com.seibel.distanthorizons.core.render.DhApiRenderProxy;
import net.jpountz.lz4.LZ4FrameOutputStream;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.sqlite.SQLiteJDBCLoader;
import org.sqlite.util.OSInfo;
import org.tukaani.xz.XZOutputStream;
import java.awt.*;
import java.io.File;
/** Handles first time Core setup. */
public class Initializer
{
private static final Logger LOGGER = LogManager.getLogger(ModInfo.NAME + "-" + Initializer.class.getSimpleName());
private static final IMinecraftClientWrapper MC_CLIENT = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class);
public static void init()
{
@@ -60,44 +54,12 @@ public class Initializer
Class<?> config = com.electronwill.nightconfig.core.Config.class;
Class<?> oldFastUtil = it.unimi.dsi.fastutil.longs.LongArrayList.class; // available in 8.2.1
//Class<?> newFastUtil = it.unimi.dsi.fastutil.ints.IntUnaryOperator.class; // available in 8.5.13
Class<?> sqliteJava = org.sqlite.SQLiteConnection.class;
Class<?> sqliteNative = org.sqlite.core.NativeDB.class;
//// maybe these lines are needed to shade SQLite, James isn't sure.
//// Although they never seemed to fail, which is a bit odd.
//try
//{
// // needed by Forge to load the Java database connection
// Class.forName("org.sqlite.JDBC");
// LOGGER.info("loaded normal SQLITE");
//}
//catch (ClassNotFoundException e)
//{
// LOGGER.warn("normal: " + e.getMessage(), e);
//}
//
//try
//{
// // needed by Forge to load the Java database connection
// Class.forName("DistantHorizons.libraries.sqlite.JDBC");
// LOGGER.info("loaded shaded SQLITE");
//}
//catch (ClassNotFoundException e)
//{
// LOGGER.warn("shaded: " + e.getMessage(), e);
//}
boolean sqliteLoaded = SQLiteJDBCLoader.initialize();
if (!sqliteLoaded)
{
throw new RuntimeException("Failed to load SQLite native library. Hopefully SQLite logged a reason for this failure.");
}
}
catch (Throwable e)
{
LOGGER.fatal("Critical programmer error: One or more libraries aren't present. Error: [" + e.getMessage() + "].", e);
LOGGER.fatal("Critical programmer error: One or more libraries aren't present. Error: [" + e.getMessage() + "].");
// throwing here should crash the game, notifying the developer that something is wrong
throw new RuntimeException(e);
throw e;
}
// confirm the resource directory is present
@@ -115,21 +77,17 @@ public class Initializer
throw new RuntimeException(e);
}
// This code has been disabled since it can cause Mac
// to lock up and refuse the load (there's a bug with Java.awt texture loading)
//if (MC_CLIENT != null)
//{
// // attempt to set up Swing so we can display dialogs (popup windows)
// System.setProperty("java.awt.headless", "false");
// if (GraphicsEnvironment.isHeadless())
// {
// LOGGER.warn("Java.awt.headless is false. This means Distant Horizons can't display error and info dialog windows.");
// }
// else
// {
// LOGGER.info("Java.awt.headless set to true. Distant Horizons can correctly display error and info dialog windows.");
// }
//}
// attempt to setup Swing so we can display dialogs (popup windows)
System.setProperty("java.awt.headless", "false");
if (GraphicsEnvironment.isHeadless())
{
LOGGER.warn("Java.awt.headless is false. This means Distant Horizons can't display error and info dialog windows.");
}
else
{
LOGGER.info("Java.awt.headless set to true. Distant Horizons can correctly display error and info dialog windows.");
}
// link Core's config to the API
DhApi.Delayed.configs = DhApiConfig.INSTANCE;
@@ -42,6 +42,8 @@ public class DhApiConfig implements IDhApiConfig
@Override
public IDhApiMultiThreadingConfig multiThreading() { return DhApiMultiThreadingConfig.INSTANCE; }
@Override
public IDhApiGpuBuffersConfig gpuBuffers() { return DhApiGpuBuffersConfig.INSTANCE; }
@Override
public IDhApiDebuggingConfig debugging() { return DhApiDebuggingConfig.INSTANCE; }
}
@@ -35,30 +35,30 @@ public class DhApiAmbientOcclusionConfig implements IDhApiAmbientOcclusionConfig
@Override
public IDhApiConfigValue<Boolean> enabled()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.Ssao.enableSsao); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Ssao.enabled); }
@Override
public IDhApiConfigValue<Integer> sampleCount()
{ return new DhApiConfigValue<Integer, Integer>(Config.Client.Advanced.Graphics.Ssao.sampleCount); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Ssao.sampleCount); }
@Override
public IDhApiConfigValue<Double> radius()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Ssao.radius); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Ssao.radius); }
@Override
public IDhApiConfigValue<Double> strength()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Ssao.strength); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Ssao.strength); }
@Override
public IDhApiConfigValue<Double> bias()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Ssao.bias); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Ssao.bias); }
@Override
public IDhApiConfigValue<Double> minLight()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Ssao.minLight); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Ssao.minLight); }
@Override
public IDhApiConfigValue<Integer> blurRadius()
{ return new DhApiConfigValue<Integer, Integer>(Config.Client.Advanced.Graphics.Ssao.blurRadius); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Ssao.blurRadius); }
}
@@ -34,18 +34,18 @@ public class DhApiDebuggingConfig implements IDhApiDebuggingConfig
public IDhApiConfigValue<EDhApiDebugRendering> debugRendering()
{ return new DhApiConfigValue<EDhApiDebugRendering, EDhApiDebugRendering>(Config.Client.Advanced.Debugging.debugRendering); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Debugging.debugRendering); }
public IDhApiConfigValue<Boolean> debugKeybindings()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Debugging.enableDebugKeybindings); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Debugging.enableDebugKeybindings); }
public IDhApiConfigValue<Boolean> renderWireframe()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Debugging.renderWireframe); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Debugging.renderWireframe); }
public IDhApiConfigValue<Boolean> lodOnlyMode()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Debugging.lodOnlyMode); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Debugging.lodOnlyMode); }
public IDhApiConfigValue<Boolean> debugWireframeRendering()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Debugging.DebugWireframe.enableRendering); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Debugging.DebugWireframe.enableRendering); }
}
@@ -35,26 +35,26 @@ public class DhApiFarFogConfig implements IDhApiFarFogConfig
@Override
public IDhApiConfigValue<Double> farFogStartDistance()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Fog.farFogStart); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.AdvancedFog.farFogStart); }
@Override
public IDhApiConfigValue<Double> farFogEndDistance()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Fog.farFogEnd); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.AdvancedFog.farFogEnd); }
@Override
public IDhApiConfigValue<Double> farFogMinThickness()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Fog.farFogMin); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.AdvancedFog.farFogMin); }
@Override
public IDhApiConfigValue<Double> farFogMaxThickness()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Fog.farFogMax); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.AdvancedFog.farFogMax); }
@Override
public IDhApiConfigValue<EDhApiFogFalloff> farFogFalloff()
{ return new DhApiConfigValue<EDhApiFogFalloff, EDhApiFogFalloff>(Config.Client.Advanced.Graphics.Fog.farFogFalloff); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.AdvancedFog.farFogFalloff); }
@Override
public IDhApiConfigValue<Double> farFogDensity()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Fog.farFogDensity); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.AdvancedFog.farFogDensity); }
}
@@ -27,7 +27,6 @@ import com.seibel.distanthorizons.api.interfaces.config.client.IDhApiFogConfig;
import com.seibel.distanthorizons.api.interfaces.config.client.IDhApiHeightFogConfig;
import com.seibel.distanthorizons.api.objects.config.DhApiConfigValue;
import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.coreapi.util.converters.ApiFogDrawModeConverter;
public class DhApiFogConfig implements IDhApiFogConfig
{
@@ -52,26 +51,16 @@ public class DhApiFogConfig implements IDhApiFogConfig
// basic fog settings //
//====================//
@Deprecated
@Override
public IDhApiConfigValue<EDhApiFogDrawMode> drawMode()
{ return new DhApiConfigValue<Boolean, EDhApiFogDrawMode>(Config.Client.Advanced.Graphics.Fog.enableDhFog, new ApiFogDrawModeConverter()); }
@Override
public IDhApiConfigValue<Boolean> enableDhFog()
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.enableDhFog); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.drawMode); }
@Override
public IDhApiConfigValue<EDhApiFogColorMode> color()
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.colorMode); }
@Override
@Deprecated
public IDhApiConfigValue<Boolean> disableVanillaFog()
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.disableVanillaFog); }
@Override
public IDhApiConfigValue<Boolean> enableVanillaFog()
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Fog.enableVanillaFog); }
}
@@ -21,6 +21,7 @@ package com.seibel.distanthorizons.core.api.external.methods.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.client.IDhApiGenericRenderingConfig;
import com.seibel.distanthorizons.api.interfaces.config.client.IDhApiNoiseTextureConfig;
import com.seibel.distanthorizons.api.objects.config.DhApiConfigValue;
import com.seibel.distanthorizons.core.config.Config;
@@ -34,12 +35,12 @@ public class DhApiGenericRenderingConfig implements IDhApiGenericRenderingConfig
@Override
public IDhApiConfigValue<Boolean> renderingEnabled()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.GenericRendering.enableGenericRendering); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.GenericRendering.enableRendering); }
@Override
public IDhApiConfigValue<Boolean> beaconRenderingEnabled()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.GenericRendering.enableBeaconRendering); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.GenericRendering.enableBeaconRendering); }
@Override
public IDhApiConfigValue<Boolean> cloudRenderingEnabled()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.GenericRendering.enableCloudRendering); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.GenericRendering.enableCloudRendering); }
}
@@ -0,0 +1,42 @@
/*
* This file is part of the Distant Horizons mod
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2023 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.core.api.external.methods.config.client;
import com.seibel.distanthorizons.api.interfaces.config.IDhApiConfigValue;
import com.seibel.distanthorizons.api.interfaces.config.client.IDhApiGpuBuffersConfig;
import com.seibel.distanthorizons.api.objects.config.DhApiConfigValue;
import com.seibel.distanthorizons.core.config.Config;
import com.seibel.distanthorizons.api.enums.config.EDhApiGpuUploadMethod;
public class DhApiGpuBuffersConfig implements IDhApiGpuBuffersConfig
{
public static DhApiGpuBuffersConfig INSTANCE = new DhApiGpuBuffersConfig();
private DhApiGpuBuffersConfig() { }
public IDhApiConfigValue<EDhApiGpuUploadMethod> gpuUploadMethod()
{ return new DhApiConfigValue<>(Config.Client.Advanced.GpuBuffers.gpuUploadMethod); }
public IDhApiConfigValue<Integer> gpuUploadPerMegabyteInMilliseconds()
{ return new DhApiConfigValue<>(Config.Client.Advanced.GpuBuffers.gpuUploadPerMegabyteInMilliseconds); }
}
@@ -56,15 +56,15 @@ public class DhApiGraphicsConfig implements IDhApiGraphicsConfig
@Override
public IDhApiConfigValue<Integer> chunkRenderDistance()
{ return new DhApiConfigValue<Integer, Integer>(Config.Client.Advanced.Graphics.Quality.lodChunkRenderDistanceRadius); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Quality.lodChunkRenderDistanceRadius); }
@Override
public IDhApiConfigValue<Boolean> renderingEnabled()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.quickEnableRendering); }
{ return new DhApiConfigValue<>(Config.Client.quickEnableRendering); }
@Override
public IDhApiConfigValue<EDhApiRendererMode> renderingMode()
{ return new DhApiConfigValue<EDhApiRendererMode, EDhApiRendererMode>(Config.Client.Advanced.Debugging.rendererMode); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Debugging.rendererMode); }
@@ -74,27 +74,27 @@ public class DhApiGraphicsConfig implements IDhApiGraphicsConfig
@Override
public IDhApiConfigValue<EDhApiMaxHorizontalResolution> maxHorizontalResolution()
{ return new DhApiConfigValue<EDhApiMaxHorizontalResolution, EDhApiMaxHorizontalResolution>(Config.Client.Advanced.Graphics.Quality.maxHorizontalResolution); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Quality.maxHorizontalResolution); }
@Override
public IDhApiConfigValue<EDhApiVerticalQuality> verticalQuality()
{ return new DhApiConfigValue<EDhApiVerticalQuality, EDhApiVerticalQuality>(Config.Client.Advanced.Graphics.Quality.verticalQuality); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Quality.verticalQuality); }
@Override
public IDhApiConfigValue<EDhApiHorizontalQuality> horizontalQuality()
{ return new DhApiConfigValue<EDhApiHorizontalQuality, EDhApiHorizontalQuality>(Config.Client.Advanced.Graphics.Quality.horizontalQuality); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Quality.horizontalQuality); }
@Override
public IDhApiConfigValue<EDhApiTransparency> transparency()
{ return new DhApiConfigValue<EDhApiTransparency, EDhApiTransparency>(Config.Client.Advanced.Graphics.Quality.transparency); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Quality.transparency); }
@Override
public IDhApiConfigValue<EDhApiBlocksToAvoid> blocksToAvoid()
{ return new DhApiConfigValue<EDhApiBlocksToAvoid, EDhApiBlocksToAvoid>(Config.Client.Advanced.Graphics.Quality.blocksToIgnore); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Quality.blocksToIgnore); }
@Override
public IDhApiConfigValue<Boolean> tintWithAvoidedBlocks()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.Quality.tintWithAvoidedBlocks); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.Quality.tintWithAvoidedBlocks); }
// TODO re-implement
// @Override
@@ -109,47 +109,47 @@ public class DhApiGraphicsConfig implements IDhApiGraphicsConfig
@Override
public IDhApiConfigValue<Double> overdrawPreventionRadius()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Culling.overdrawPrevention); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.overdrawPrevention); }
@Override
public IDhApiConfigValue<Double> brightnessMultiplier()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Quality.brightnessMultiplier); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.brightnessMultiplier); }
@Override
public IDhApiConfigValue<Double> saturationMultiplier()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Quality.saturationMultiplier); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.saturationMultiplier); }
@Override
public IDhApiConfigValue<Boolean> caveCullingEnabled()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.Culling.enableCaveCulling); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.enableCaveCulling); }
@Override
public IDhApiConfigValue<Integer> caveCullingHeight()
{ return new DhApiConfigValue<Integer, Integer>(Config.Client.Advanced.Graphics.Culling.caveCullingHeight); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.caveCullingHeight); }
@Override
public IDhApiConfigValue<Integer> earthCurvatureRatio()
{ return new DhApiConfigValue<Integer, Integer>(Config.Client.Advanced.Graphics.Experimental.earthCurveRatio); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.earthCurveRatio); }
@Override
public IDhApiConfigValue<Boolean> lodOnlyMode()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Debugging.lodOnlyMode); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Debugging.lodOnlyMode); }
@Override
public IDhApiConfigValue<Double> lodBias()
{ return new DhApiConfigValue<Double, Double>(Config.Client.Advanced.Graphics.Quality.lodBias); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.lodBias); }
@Override
public IDhApiConfigValue<EDhApiLodShading> lodShading()
{ return new DhApiConfigValue<EDhApiLodShading, EDhApiLodShading>(Config.Client.Advanced.Graphics.Quality.lodShading); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.lodShading); }
@Override
public IDhApiConfigValue<Boolean> disableFrustumCulling()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.Culling.disableFrustumCulling); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.disableFrustumCulling); }
@Override
public IDhApiConfigValue<Boolean> disableShadowFrustumCulling()
{ return new DhApiConfigValue<Boolean, Boolean>(Config.Client.Advanced.Graphics.Culling.disableShadowPassFrustumCulling); }
{ return new DhApiConfigValue<>(Config.Client.Advanced.Graphics.AdvancedGraphics.disableShadowPassFrustumCulling); }

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