mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-02 16:05:29 +00:00
fix imports
This commit is contained in:
parent
c0b55c3e4e
commit
4bac67b8d7
@ -105,7 +105,7 @@ ij_java_for_statement_wrap = off
|
|||||||
ij_java_generate_final_locals = false
|
ij_java_generate_final_locals = false
|
||||||
ij_java_generate_final_parameters = false
|
ij_java_generate_final_parameters = false
|
||||||
ij_java_if_brace_force = never
|
ij_java_if_brace_force = never
|
||||||
ij_java_imports_layout = *,|,javax.**,java.**,|,$*
|
ij_java_imports_layout = *, |, javax.**, java.**, |, $*
|
||||||
ij_java_indent_case_from_switch = true
|
ij_java_indent_case_from_switch = true
|
||||||
ij_java_insert_inner_class_imports = false
|
ij_java_insert_inner_class_imports = false
|
||||||
ij_java_insert_override_annotation = true
|
ij_java_insert_override_annotation = true
|
||||||
@ -137,7 +137,7 @@ ij_java_method_parameters_wrap = off
|
|||||||
ij_java_modifier_list_wrap = false
|
ij_java_modifier_list_wrap = false
|
||||||
ij_java_names_count_to_use_import_on_demand = 3
|
ij_java_names_count_to_use_import_on_demand = 3
|
||||||
ij_java_new_line_after_lparen_in_record_header = false
|
ij_java_new_line_after_lparen_in_record_header = false
|
||||||
ij_java_packages_to_use_import_on_demand = java.awt.*,javax.swing.*
|
ij_java_packages_to_use_import_on_demand = java.awt.*, javax.swing.*
|
||||||
ij_java_parameter_annotation_wrap = off
|
ij_java_parameter_annotation_wrap = off
|
||||||
ij_java_parentheses_expression_new_line_after_left_paren = false
|
ij_java_parentheses_expression_new_line_after_left_paren = false
|
||||||
ij_java_parentheses_expression_right_paren_on_new_line = false
|
ij_java_parentheses_expression_right_paren_on_new_line = false
|
||||||
@ -246,7 +246,7 @@ ij_java_wrap_comments = false
|
|||||||
ij_java_wrap_first_method_in_call_chain = false
|
ij_java_wrap_first_method_in_call_chain = false
|
||||||
ij_java_wrap_long_lines = false
|
ij_java_wrap_long_lines = false
|
||||||
|
|
||||||
[{*.gradle.kts,*.kt,*.kts,*.main.kts}]
|
[{*.gradle.kts, *.kt, *.kts, *.main.kts}]
|
||||||
ij_kotlin_align_in_columns_case_branch = false
|
ij_kotlin_align_in_columns_case_branch = false
|
||||||
ij_kotlin_align_multiline_binary_operation = false
|
ij_kotlin_align_multiline_binary_operation = false
|
||||||
ij_kotlin_align_multiline_extends_list = false
|
ij_kotlin_align_multiline_extends_list = false
|
||||||
@ -325,7 +325,7 @@ ij_kotlin_wrap_elvis_expressions = 1
|
|||||||
ij_kotlin_wrap_expression_body_functions = 0
|
ij_kotlin_wrap_expression_body_functions = 0
|
||||||
ij_kotlin_wrap_first_method_in_call_chain = false
|
ij_kotlin_wrap_first_method_in_call_chain = false
|
||||||
|
|
||||||
[{*.har,*.jsb2,*.jsb3,*.json,.babelrc,.eslintrc,.stylelintrc,bowerrc,jest.config}]
|
[{*.har, *.jsb2, *.jsb3, *.json, .babelrc, .eslintrc, .stylelintrc, bowerrc, jest.config}]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
ij_json_keep_blank_lines_in_code = 0
|
ij_json_keep_blank_lines_in_code = 0
|
||||||
ij_json_keep_indents_on_empty_lines = false
|
ij_json_keep_indents_on_empty_lines = false
|
||||||
@ -338,7 +338,7 @@ ij_json_spaces_within_braces = false
|
|||||||
ij_json_spaces_within_brackets = false
|
ij_json_spaces_within_brackets = false
|
||||||
ij_json_wrap_long_lines = false
|
ij_json_wrap_long_lines = false
|
||||||
|
|
||||||
[{*.yaml,*.yml}]
|
[{*.yaml, *.yml}]
|
||||||
indent_size = 2
|
indent_size = 2
|
||||||
ij_yaml_keep_indents_on_empty_lines = true
|
ij_yaml_keep_indents_on_empty_lines = true
|
||||||
ij_yaml_keep_line_breaks = true
|
ij_yaml_keep_line_breaks = true
|
||||||
|
1
.github/ISSUE_TEMPLATE/OTHER_ISSUES.md
vendored
1
.github/ISSUE_TEMPLATE/OTHER_ISSUES.md
vendored
@ -8,4 +8,5 @@ assignees: ""
|
|||||||
---
|
---
|
||||||
|
|
||||||
## Describe the issue
|
## Describe the issue
|
||||||
|
|
||||||
<!-- Please describe the issue as clearly and as concisely as possible, without missing any details. -->
|
<!-- Please describe the issue as clearly and as concisely as possible, without missing any details. -->
|
12
.github/ISSUE_TEMPLATE/config.yml
vendored
12
.github/ISSUE_TEMPLATE/config.yml
vendored
@ -1,11 +1,11 @@
|
|||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: Which Issue Template do I Choose?
|
- name: Which Issue Template do I Choose?
|
||||||
url: https://github.com/PolyhedralDev/Terra/wiki/How-To-Choose-An-Issue-Template
|
url: https://github.com/PolyhedralDev/Terra/wiki/How-To-Choose-An-Issue-Template
|
||||||
about: Click this if you don't know which issue template to select. This will help you make sure you choose the right one and provide enough information for us to help you.
|
about: Click this if you don't know which issue template to select. This will help you make sure you choose the right one and provide enough information for us to help you.
|
||||||
- name: Terra Wiki
|
- name: Terra Wiki
|
||||||
url: https://github.com/PolyhedralDev/Terra/wiki
|
url: https://github.com/PolyhedralDev/Terra/wiki
|
||||||
about: Documentation for all things Terra.
|
about: Documentation for all things Terra.
|
||||||
- name: Join the Support Discord
|
- name: Join the Support Discord
|
||||||
url: https://discord.dfsek.com
|
url: https://discord.dfsek.com
|
||||||
about: If you have a basic support question, join the Discord instead.
|
about: If you have a basic support question, join the Discord instead.
|
8
.github/workflows/build.yml
vendored
8
.github/workflows/build.yml
vendored
@ -21,7 +21,7 @@ jobs:
|
|||||||
java-version: 1.8
|
java-version: 1.8
|
||||||
|
|
||||||
- name: Build Terra
|
- name: Build Terra
|
||||||
run: gradle shadowJar
|
run: gradle shadowJar
|
||||||
|
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
@ -34,7 +34,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: |
|
files: |
|
||||||
build/libs/Terra-*.jar
|
build/libs/Terra-*.jar
|
||||||
LICENSE
|
LICENSE
|
||||||
|
|
33
README.md
33
README.md
@ -7,40 +7,47 @@ to your specifications, with no knowledge of Java required.
|
|||||||
|
|
||||||
* Paper+ servers (Paper, Tuinity, Purpur, etc): [SpigotMC](https://www.spigotmc.org/resources/85151/)
|
* Paper+ servers (Paper, Tuinity, Purpur, etc): [SpigotMC](https://www.spigotmc.org/resources/85151/)
|
||||||
* Fabric: [Modrinth](https://modrinth.com/mod/terra) / [CurseForge](https://www.curseforge.com/minecraft/mc-mods/terra-world-generator)
|
* Fabric: [Modrinth](https://modrinth.com/mod/terra) / [CurseForge](https://www.curseforge.com/minecraft/mc-mods/terra-world-generator)
|
||||||
* Forge **(ALPHA - NOT PRODUCTION-READY)**: [Modrinth](https://modrinth.com/mod/terra) / [CurseForge](https://www.curseforge.com/minecraft/mc-mods/terra-world-generator)
|
* Forge **(ALPHA - NOT PRODUCTION-READY)**: [Modrinth](https://modrinth.com/mod/terra)
|
||||||
|
/ [CurseForge](https://www.curseforge.com/minecraft/mc-mods/terra-world-generator)
|
||||||
|
|
||||||
## Building and Running Terra
|
## Building and Running Terra
|
||||||
|
|
||||||
To build, simply run `./gradlew build` (`gradlew.bat build` on Windows). This will build all platforms, and
|
To build, simply run `./gradlew build` (`gradlew.bat build` on Windows). This will build all platforms, and produce JARs
|
||||||
produce JARs in `platforms/<platform>/build/libs`
|
in `platforms/<platform>/build/libs`
|
||||||
|
|
||||||
### Production JARs:
|
### Production JARs:
|
||||||
|
|
||||||
* Bukkit: `Terra-<version>-shaded.jar`
|
* Bukkit: `Terra-<version>-shaded.jar`
|
||||||
* Fabric: `Terra-<version>-shaded-mapped.jar`
|
* Fabric: `Terra-<version>-shaded-mapped.jar`
|
||||||
* Forge: `Terra-<version>-shaded.jar`
|
* Forge: `Terra-<version>-shaded.jar`
|
||||||
|
|
||||||
### Building a Specific Platform
|
### Building a Specific Platform
|
||||||
|
|
||||||
To build a specific platform, run `gradlew :platforms:<platform>:build`.
|
To build a specific platform, run `gradlew :platforms:<platform>:build`.
|
||||||
|
|
||||||
JARs are produced in `platforms/<platform>/build/libs`.
|
JARs are produced in `platforms/<platform>/build/libs`.
|
||||||
|
|
||||||
### Running Minecraft in the IDE
|
### Running Minecraft in the IDE
|
||||||
|
|
||||||
To run Minecraft with Terra in the IDE (for testing) use the following tasks:
|
To run Minecraft with Terra in the IDE (for testing) use the following tasks:
|
||||||
|
|
||||||
* Bukkit
|
* Bukkit
|
||||||
* `installPaper` - Install a [Paper](https://github.com/PaperMC/Paper) test server. (Only needs to be run once).
|
* `installPaper` - Install a [Paper](https://github.com/PaperMC/Paper) test server. (Only needs to be run once).
|
||||||
* `installPurpur` - Install a [Purpur](https://github.com/pl3xgaming/Purpur) test server. (Only needs to be run once).
|
* `installPurpur` - Install a [Purpur](https://github.com/pl3xgaming/Purpur) test server. (Only needs to be run once).
|
||||||
* `runPaper` - Run the Paper test server with Terra (`installPaper` must have been run previously).
|
* `runPaper` - Run the Paper test server with Terra (`installPaper` must have been run previously).
|
||||||
* `runPurpur` - Run the Purpur test server with Terra (`installPurpur` must have been run previously).
|
* `runPurpur` - Run the Purpur test server with Terra (`installPurpur` must have been run previously).
|
||||||
* Fabric
|
* Fabric
|
||||||
* `runClient` - Run a Minecraft Fabric client with Terra installed.
|
* `runClient` - Run a Minecraft Fabric client with Terra installed.
|
||||||
* `runServer` - Run a Minecraft Fabric server with Terra installed.
|
* `runServer` - Run a Minecraft Fabric server with Terra installed.
|
||||||
* Forge
|
* Forge
|
||||||
* `runClient` - Run a Minecraft Forge client with Terra installed.
|
* `runClient` - Run a Minecraft Forge client with Terra installed.
|
||||||
* `runServer` - Run a Minecraft Forge server with Terra installed.
|
* `runServer` - Run a Minecraft Forge server with Terra installed.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
Contributions are welcome! If you want to see a feature in Terra, please, open an issue, or implement it yourself and
|
|
||||||
submit a PR!
|
Contributions are welcome! If you want to see a feature in Terra, please, open an issue, or implement it yourself and submit a PR!
|
||||||
Join the discord [here](https://discord.gg/PXUEbbF) if you would like to talk more about the project!
|
Join the discord [here](https://discord.gg/PXUEbbF) if you would like to talk more about the project!
|
||||||
|
|
||||||
## Beta
|
## Beta
|
||||||
|
|
||||||
Terra is still in beta! While it is stable, it is not feature-complete. There is a lot to be added!
|
Terra is still in beta! While it is stable, it is not feature-complete. There is a lot to be added!
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package com.dfsek.terra
|
package com.dfsek.terra
|
||||||
|
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.tasks.testing.Test
|
|
||||||
import org.gradle.kotlin.dsl.apply
|
|
||||||
import org.gradle.kotlin.dsl.withType
|
|
||||||
import java.io.ByteArrayOutputStream
|
import java.io.ByteArrayOutputStream
|
||||||
|
|
||||||
fun Project.configureCommon() {
|
fun Project.configureCommon() {
|
||||||
|
@ -4,9 +4,10 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
|||||||
import org.gradle.api.DefaultTask
|
import org.gradle.api.DefaultTask
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.plugins.BasePluginConvention
|
import org.gradle.api.plugins.BasePluginConvention
|
||||||
import org.gradle.api.tasks.bundling.Jar
|
import org.gradle.kotlin.dsl.apply
|
||||||
import org.gradle.api.tasks.javadoc.Javadoc
|
import org.gradle.kotlin.dsl.get
|
||||||
import org.gradle.kotlin.dsl.*
|
import org.gradle.kotlin.dsl.getPlugin
|
||||||
|
import org.gradle.kotlin.dsl.named
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.net.URL
|
import java.net.URL
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.dfsek.terra.api.block;
|
package com.dfsek.terra.api.block;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.api.Handle;
|
import com.dfsek.terra.api.Handle;
|
||||||
import com.dfsek.terra.api.block.state.BlockState;
|
import com.dfsek.terra.api.block.state.BlockState;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
|
||||||
public interface Block extends Handle {
|
public interface Block extends Handle {
|
||||||
void setBlockData(BlockData data, boolean physics);
|
void setBlockData(BlockData data, boolean physics);
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.dfsek.terra.api.block;
|
package com.dfsek.terra.api.block;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public enum BlockFace {
|
public enum BlockFace {
|
||||||
|
@ -4,6 +4,8 @@ import com.dfsek.terra.api.block.BlockData;
|
|||||||
|
|
||||||
public interface AnaloguePowerable extends BlockData {
|
public interface AnaloguePowerable extends BlockData {
|
||||||
int getMaximumPower();
|
int getMaximumPower();
|
||||||
|
|
||||||
int getPower();
|
int getPower();
|
||||||
|
|
||||||
void setPower(int power);
|
void setPower(int power);
|
||||||
}
|
}
|
||||||
|
@ -7,8 +7,11 @@ import java.util.Set;
|
|||||||
|
|
||||||
public interface RedstoneWire extends BlockData, AnaloguePowerable {
|
public interface RedstoneWire extends BlockData, AnaloguePowerable {
|
||||||
Set<BlockFace> getAllowedFaces();
|
Set<BlockFace> getAllowedFaces();
|
||||||
|
|
||||||
Connection getFace(BlockFace face);
|
Connection getFace(BlockFace face);
|
||||||
|
|
||||||
void setFace(BlockFace face, Connection connection);
|
void setFace(BlockFace face, Connection connection);
|
||||||
|
|
||||||
enum Connection {
|
enum Connection {
|
||||||
NONE, SIDE, UP
|
NONE, SIDE, UP
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,11 @@ import com.dfsek.terra.api.block.BlockFace;
|
|||||||
|
|
||||||
public interface Wall extends BlockData, Waterlogged {
|
public interface Wall extends BlockData, Waterlogged {
|
||||||
boolean isUp();
|
boolean isUp();
|
||||||
|
|
||||||
void setHeight(BlockFace face, Height height);
|
void setHeight(BlockFace face, Height height);
|
||||||
|
|
||||||
Height getHeight(BlockFace face);
|
Height getHeight(BlockFace face);
|
||||||
|
|
||||||
void setUp(boolean up);
|
void setUp(boolean up);
|
||||||
|
|
||||||
enum Height {
|
enum Height {
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
package com.dfsek.terra.api.config;
|
package com.dfsek.terra.api.config;
|
||||||
|
|
||||||
import com.dfsek.terra.api.registry.Registry;
|
import com.dfsek.terra.api.registry.Registry;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
|
||||||
import com.dfsek.terra.api.world.TerraWorld;
|
import com.dfsek.terra.api.world.TerraWorld;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
import com.dfsek.terra.api.world.generator.SamplerCache;
|
import com.dfsek.terra.api.world.generator.SamplerCache;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
public interface WorldConfig {
|
public interface WorldConfig {
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
package com.dfsek.terra.api.entity;
|
package com.dfsek.terra.api.entity;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.api.Handle;
|
import com.dfsek.terra.api.Handle;
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
import com.dfsek.terra.api.world.World;
|
import com.dfsek.terra.api.world.World;
|
||||||
|
@ -31,6 +31,7 @@ public @interface Priority {
|
|||||||
* Low Priority.
|
* Low Priority.
|
||||||
*/
|
*/
|
||||||
int LOW = -1;
|
int LOW = -1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Priority of this event. Events are executed from lowest to highest priorities.
|
* @return Priority of this event. Events are executed from lowest to highest priorities.
|
||||||
*/
|
*/
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
package com.dfsek.terra.api.event.events.world.generation;
|
package com.dfsek.terra.api.event.events.world.generation;
|
||||||
|
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
import com.dfsek.terra.api.event.events.PackEvent;
|
|
||||||
import com.dfsek.terra.api.entity.Entity;
|
import com.dfsek.terra.api.entity.Entity;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.event.events.PackEvent;
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when an entity is spawned.
|
* Called when an entity is spawned.
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.dfsek.terra.api.event.events.world.generation;
|
package com.dfsek.terra.api.event.events.world.generation;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.block.Block;
|
||||||
|
import com.dfsek.terra.api.block.state.Container;
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
import com.dfsek.terra.api.event.events.AbstractCancellable;
|
import com.dfsek.terra.api.event.events.AbstractCancellable;
|
||||||
import com.dfsek.terra.api.event.events.Cancellable;
|
import com.dfsek.terra.api.event.events.Cancellable;
|
||||||
import com.dfsek.terra.api.event.events.PackEvent;
|
import com.dfsek.terra.api.event.events.PackEvent;
|
||||||
import com.dfsek.terra.api.block.Block;
|
|
||||||
import com.dfsek.terra.api.block.state.Container;
|
|
||||||
import com.dfsek.terra.api.structure.LootTable;
|
import com.dfsek.terra.api.structure.LootTable;
|
||||||
import com.dfsek.terra.api.structure.Structure;
|
import com.dfsek.terra.api.structure.Structure;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -53,6 +53,7 @@ public class LootPopulateEvent extends AbstractCancellable implements PackEvent,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the loot table to be populated.
|
* Get the loot table to be populated.
|
||||||
|
*
|
||||||
* @return Loot table.
|
* @return Loot table.
|
||||||
*/
|
*/
|
||||||
public LootTable getTable() {
|
public LootTable getTable() {
|
||||||
|
@ -8,6 +8,8 @@ import java.util.logging.Logger;
|
|||||||
|
|
||||||
public interface Message {
|
public interface Message {
|
||||||
void log(Logger logger, Level level, String... args);
|
void log(Logger logger, Level level, String... args);
|
||||||
|
|
||||||
void send(CommandSender sender, String... args);
|
void send(CommandSender sender, String... args);
|
||||||
|
|
||||||
boolean isEmpty();
|
boolean isEmpty();
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ public class JarUtil {
|
|||||||
public static void copyResourcesToDirectory(JarFile fromJar, String sourceDir, String destDir) throws IOException {
|
public static void copyResourcesToDirectory(JarFile fromJar, String sourceDir, String destDir) throws IOException {
|
||||||
for(Enumeration<JarEntry> entries = fromJar.entries(); entries.hasMoreElements(); ) {
|
for(Enumeration<JarEntry> entries = fromJar.entries(); entries.hasMoreElements(); ) {
|
||||||
JarEntry entry = entries.nextElement();
|
JarEntry entry = entries.nextElement();
|
||||||
if(entry.getName().startsWith(sourceDir + "/") && ! entry.isDirectory()) {
|
if(entry.getName().startsWith(sourceDir + "/") && !entry.isDirectory()) {
|
||||||
File dest = new File(destDir + File.separator + entry.getName().substring(sourceDir.length() + 1));
|
File dest = new File(destDir + File.separator + entry.getName().substring(sourceDir.length() + 1));
|
||||||
if(dest.exists()) continue;
|
if(dest.exists()) continue;
|
||||||
File parent = dest.getParentFile();
|
File parent = dest.getParentFile();
|
||||||
|
@ -4,7 +4,6 @@ import com.dfsek.terra.api.world.generator.Sampler;
|
|||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class for mathematical functions.
|
* Utility class for mathematical functions.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package com.dfsek.terra.api.util.mutable;
|
package com.dfsek.terra.api.util.mutable;
|
||||||
|
|
||||||
public interface MutablePrimitive<T> extends Comparable<T>{
|
public interface MutablePrimitive<T> extends Comparable<T> {
|
||||||
T get();
|
T get();
|
||||||
|
|
||||||
void set(T value);
|
void set(T value);
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.dfsek.terra.api.world;
|
package com.dfsek.terra.api.world;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.block.Block;
|
||||||
import com.dfsek.terra.api.util.Range;
|
import com.dfsek.terra.api.util.Range;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.vector.Location;
|
||||||
import com.dfsek.terra.api.block.Block;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package com.dfsek.terra.api.world;
|
package com.dfsek.terra.api.world;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.api.Handle;
|
import com.dfsek.terra.api.Handle;
|
||||||
import com.dfsek.terra.api.block.Block;
|
import com.dfsek.terra.api.block.Block;
|
||||||
import com.dfsek.terra.api.entity.Entity;
|
import com.dfsek.terra.api.entity.Entity;
|
||||||
import com.dfsek.terra.api.entity.EntityType;
|
import com.dfsek.terra.api.entity.EntityType;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
import com.dfsek.terra.api.world.generator.ChunkGenerator;
|
import com.dfsek.terra.api.world.generator.ChunkGenerator;
|
||||||
import com.dfsek.terra.api.world.generator.GeneratorWrapper;
|
import com.dfsek.terra.api.world.generator.GeneratorWrapper;
|
||||||
import com.dfsek.terra.api.world.generator.TerraChunkGenerator;
|
import com.dfsek.terra.api.world.generator.TerraChunkGenerator;
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.dfsek.terra.api.world.biome.generation.pipeline;
|
package com.dfsek.terra.api.world.biome.generation.pipeline;
|
||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
|
||||||
|
|
||||||
public interface BiomeMutator {
|
public interface BiomeMutator {
|
||||||
TerraBiome mutate(ViewPoint viewPoint, double x, double z);
|
TerraBiome mutate(ViewPoint viewPoint, double x, double z);
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.dfsek.terra.api.world.biome.generation.pipeline;
|
package com.dfsek.terra.api.world.biome.generation.pipeline;
|
||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
|
||||||
|
|
||||||
public interface Stage {
|
public interface Stage {
|
||||||
boolean isExpansion();
|
boolean isExpansion();
|
||||||
|
|
||||||
|
@ -17,10 +17,10 @@ import com.dfsek.terra.api.command.exception.InvalidArgumentsException;
|
|||||||
import com.dfsek.terra.api.command.exception.MalformedCommandException;
|
import com.dfsek.terra.api.command.exception.MalformedCommandException;
|
||||||
import com.dfsek.terra.api.command.exception.SwitchFormatException;
|
import com.dfsek.terra.api.command.exception.SwitchFormatException;
|
||||||
import com.dfsek.terra.api.command.tab.TabCompleter;
|
import com.dfsek.terra.api.command.tab.TabCompleter;
|
||||||
import com.dfsek.terra.api.inject.InjectorImpl;
|
|
||||||
import com.dfsek.terra.api.injection.exception.InjectionException;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.inject.InjectorImpl;
|
||||||
|
import com.dfsek.terra.api.injection.exception.InjectionException;
|
||||||
import com.dfsek.terra.api.util.ReflectionUtil;
|
import com.dfsek.terra.api.util.ReflectionUtil;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
package com.dfsek.terra.api.math;
|
package com.dfsek.terra.api.math;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
|
import com.dfsek.terra.api.util.GlueList;
|
||||||
import com.dfsek.terra.api.util.PopulationUtil;
|
import com.dfsek.terra.api.util.PopulationUtil;
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
|
||||||
import com.dfsek.terra.api.util.GlueList;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
@ -4,7 +4,6 @@ import com.dfsek.terra.api.noise.NoiseSampler;
|
|||||||
import com.dfsek.terra.api.util.hash.HashMapDoubleDouble;
|
import com.dfsek.terra.api.util.hash.HashMapDoubleDouble;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class NoiseFunction2 implements NoiseFunction {
|
public class NoiseFunction2 implements NoiseFunction {
|
||||||
private final NoiseSampler gen;
|
private final NoiseSampler gen;
|
||||||
private final Cache cache = new Cache();
|
private final Cache cache = new Cache();
|
||||||
|
@ -346,7 +346,7 @@ public class Parser {
|
|||||||
Token token = tokens.get();
|
Token token = tokens.get();
|
||||||
if(token.getType().equals(Token.Type.BLOCK_END)) break; // Stop parsing at block end.
|
if(token.getType().equals(Token.Type.BLOCK_END)) break; // Stop parsing at block end.
|
||||||
Item<?> parsedItem = parseItem(tokens, parsedVariables, loop);
|
Item<?> parsedItem = parseItem(tokens, parsedVariables, loop);
|
||||||
if (parsedItem != Function.NULL) {
|
if(parsedItem != Function.NULL) {
|
||||||
parsedItems.add(parsedItem);
|
parsedItems.add(parsedItem);
|
||||||
}
|
}
|
||||||
if(tokens.hasNext() && !token.isLoopLike()) ParserUtil.checkType(tokens.consume(), Token.Type.STATEMENT_END);
|
if(tokens.hasNext() && !token.isLoopLike()) ParserUtil.checkType(tokens.consume(), Token.Type.STATEMENT_END);
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
package com.dfsek.terra.api.structures.script;
|
package com.dfsek.terra.api.structures.script;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
|
import com.dfsek.terra.api.profiler.ProfileFrame;
|
||||||
|
import com.dfsek.terra.api.registry.Registry;
|
||||||
import com.dfsek.terra.api.structure.LootTable;
|
import com.dfsek.terra.api.structure.LootTable;
|
||||||
import com.dfsek.terra.api.structure.Structure;
|
import com.dfsek.terra.api.structure.Structure;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.structure.buffer.Buffer;
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
import com.dfsek.terra.api.structure.rotation.Rotation;
|
||||||
import com.dfsek.terra.api.world.Chunk;
|
|
||||||
import com.dfsek.terra.api.registry.Registry;
|
|
||||||
import com.dfsek.terra.api.structures.parser.Parser;
|
import com.dfsek.terra.api.structures.parser.Parser;
|
||||||
import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
|
import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Block;
|
import com.dfsek.terra.api.structures.parser.lang.Block;
|
||||||
@ -30,11 +30,10 @@ import com.dfsek.terra.api.structures.script.builders.UnaryBooleanFunctionBuilde
|
|||||||
import com.dfsek.terra.api.structures.script.builders.UnaryNumberFunctionBuilder;
|
import com.dfsek.terra.api.structures.script.builders.UnaryNumberFunctionBuilder;
|
||||||
import com.dfsek.terra.api.structures.script.builders.UnaryStringFunctionBuilder;
|
import com.dfsek.terra.api.structures.script.builders.UnaryStringFunctionBuilder;
|
||||||
import com.dfsek.terra.api.structures.script.builders.ZeroArgFunctionBuilder;
|
import com.dfsek.terra.api.structures.script.builders.ZeroArgFunctionBuilder;
|
||||||
import com.dfsek.terra.api.structure.rotation.Rotation;
|
|
||||||
import com.dfsek.terra.api.structure.buffer.Buffer;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.DirectBuffer;
|
import com.dfsek.terra.api.structures.structure.buffer.DirectBuffer;
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer;
|
import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer;
|
||||||
import com.dfsek.terra.api.profiler.ProfileFrame;
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
import com.dfsek.terra.api.world.Chunk;
|
||||||
import com.google.common.cache.Cache;
|
import com.google.common.cache.Cache;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.dfsek.terra.api.structures.script;
|
package com.dfsek.terra.api.structures.script;
|
||||||
|
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
|
||||||
import com.dfsek.terra.api.structure.rotation.Rotation;
|
|
||||||
import com.dfsek.terra.api.structure.buffer.Buffer;
|
import com.dfsek.terra.api.structure.buffer.Buffer;
|
||||||
|
import com.dfsek.terra.api.structure.rotation.Rotation;
|
||||||
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedBlock;
|
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedBlock;
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,24 +1,23 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.api.world.generator.SamplerCache;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.api.world.TerraWorld;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.world.World;
|
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.api.world.TerraWorld;
|
||||||
|
import com.dfsek.terra.api.world.World;
|
||||||
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
import com.dfsek.terra.api.world.generator.SamplerCache;
|
||||||
import com.dfsek.terra.config.templates.BiomeTemplate;
|
import com.dfsek.terra.config.templates.BiomeTemplate;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.entity.EntityType;
|
import com.dfsek.terra.api.entity.EntityType;
|
||||||
import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
|
import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
@ -12,9 +9,12 @@ import com.dfsek.terra.api.structures.parser.lang.constants.ConstantExpression;
|
|||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedEntity;
|
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedEntity;
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,21 +1,20 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.structure.LootTable;
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.registry.Registry;
|
import com.dfsek.terra.api.registry.Registry;
|
||||||
import com.dfsek.terra.api.structures.loot.LootTableImpl;
|
import com.dfsek.terra.api.structure.LootTable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.StructureScript;
|
import com.dfsek.terra.api.structures.script.StructureScript;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedLootApplication;
|
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedLootApplication;
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
|
import com.dfsek.terra.api.structures.parser.exceptions.ParseException;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
@ -12,9 +9,12 @@ import com.dfsek.terra.api.structures.parser.lang.constants.ConstantExpression;
|
|||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedPulledBlock;
|
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedPulledBlock;
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedStateManipulator;
|
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedStateManipulator;
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,21 +1,21 @@
|
|||||||
package com.dfsek.terra.api.structures.script.functions;
|
package com.dfsek.terra.api.structures.script.functions;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.structure.Structure;
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.registry.Registry;
|
import com.dfsek.terra.api.registry.Registry;
|
||||||
|
import com.dfsek.terra.api.structure.Structure;
|
||||||
|
import com.dfsek.terra.api.structure.rotation.Rotation;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
import com.dfsek.terra.api.structures.parser.lang.ImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
import com.dfsek.terra.api.structures.parser.lang.Returnable;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
import com.dfsek.terra.api.structures.parser.lang.functions.Function;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
import com.dfsek.terra.api.structures.parser.lang.variables.Variable;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.structure.rotation.Rotation;
|
|
||||||
import com.dfsek.terra.api.util.RotationUtil;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.IntermediateBuffer;
|
import com.dfsek.terra.api.structures.structure.buffer.IntermediateBuffer;
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
|
import com.dfsek.terra.api.util.RotationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer;
|
package com.dfsek.terra.api.structures.structure.buffer;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
import com.dfsek.terra.api.util.GlueList;
|
import com.dfsek.terra.api.util.GlueList;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer;
|
package com.dfsek.terra.api.structures.structure.buffer;
|
||||||
|
|
||||||
import com.dfsek.terra.api.structure.buffer.Buffer;
|
import com.dfsek.terra.api.structure.buffer.Buffer;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer;
|
package com.dfsek.terra.api.structures.structure.buffer;
|
||||||
|
|
||||||
import com.dfsek.terra.api.structure.buffer.Buffer;
|
import com.dfsek.terra.api.structure.buffer.Buffer;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
|
|
||||||
public class IntermediateBuffer implements Buffer {
|
public class IntermediateBuffer implements Buffer {
|
||||||
private final Buffer original;
|
private final Buffer original;
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer;
|
package com.dfsek.terra.api.structures.structure.buffer;
|
||||||
|
|
||||||
import com.dfsek.terra.api.structure.buffer.Buffer;
|
import com.dfsek.terra.api.structure.buffer.Buffer;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.world.Chunk;
|
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
import com.dfsek.terra.api.world.Chunk;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer.items;
|
package com.dfsek.terra.api.structures.structure.buffer.items;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.block.Block;
|
import com.dfsek.terra.api.block.Block;
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
import com.dfsek.terra.api.block.data.Waterlogged;
|
import com.dfsek.terra.api.block.data.Waterlogged;
|
||||||
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
|
||||||
public class BufferedBlock implements BufferedItem {
|
public class BufferedBlock implements BufferedItem {
|
||||||
private final BlockData data;
|
private final BlockData data;
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer.items;
|
package com.dfsek.terra.api.structures.structure.buffer.items;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
|
import com.dfsek.terra.api.entity.Entity;
|
||||||
|
import com.dfsek.terra.api.entity.EntityType;
|
||||||
import com.dfsek.terra.api.event.events.world.generation.EntitySpawnEvent;
|
import com.dfsek.terra.api.event.events.world.generation.EntitySpawnEvent;
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.vector.Location;
|
||||||
import com.dfsek.terra.api.entity.Entity;
|
|
||||||
import com.dfsek.terra.api.entity.EntityType;
|
|
||||||
|
|
||||||
public class BufferedEntity implements BufferedItem {
|
public class BufferedEntity implements BufferedItem {
|
||||||
|
|
||||||
|
@ -1,17 +1,15 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer.items;
|
package com.dfsek.terra.api.structures.structure.buffer.items;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.event.events.world.generation.LootPopulateEvent;
|
|
||||||
import com.dfsek.terra.api.structure.LootTable;
|
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.block.Block;
|
import com.dfsek.terra.api.block.Block;
|
||||||
import com.dfsek.terra.api.block.state.BlockState;
|
import com.dfsek.terra.api.block.state.BlockState;
|
||||||
import com.dfsek.terra.api.block.state.Container;
|
import com.dfsek.terra.api.block.state.Container;
|
||||||
import com.dfsek.terra.api.structures.loot.LootTableImpl;
|
import com.dfsek.terra.api.event.events.world.generation.LootPopulateEvent;
|
||||||
|
import com.dfsek.terra.api.structure.LootTable;
|
||||||
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
import com.dfsek.terra.api.structures.script.StructureScript;
|
import com.dfsek.terra.api.structures.script.StructureScript;
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
|
||||||
public class BufferedLootApplication implements BufferedItem {
|
public class BufferedLootApplication implements BufferedItem {
|
||||||
private final LootTable table;
|
private final LootTable table;
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer.items;
|
package com.dfsek.terra.api.structures.structure.buffer.items;
|
||||||
|
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.block.Block;
|
import com.dfsek.terra.api.block.Block;
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
import com.dfsek.terra.api.block.BlockFace;
|
import com.dfsek.terra.api.block.BlockFace;
|
||||||
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
|
||||||
public class BufferedPulledBlock implements BufferedItem {
|
public class BufferedPulledBlock implements BufferedItem {
|
||||||
private final BlockData data;
|
private final BlockData data;
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package com.dfsek.terra.api.structures.structure.buffer.items;
|
package com.dfsek.terra.api.structures.structure.buffer.items;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
|
import com.dfsek.terra.api.block.state.BlockState;
|
||||||
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
import com.dfsek.terra.api.structure.buffer.BufferedItem;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.vector.Location;
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.block.state.BlockState;
|
|
||||||
|
|
||||||
public class BufferedStateManipulator implements BufferedItem {
|
public class BufferedStateManipulator implements BufferedItem {
|
||||||
private final TerraPlugin main;
|
private final TerraPlugin main;
|
||||||
|
@ -65,18 +65,17 @@ import static net.jafama.FastMath.*;
|
|||||||
* Remove O(n*m)<br>
|
* Remove O(n*m)<br>
|
||||||
* Search O(m)<br>
|
* Search O(m)<br>
|
||||||
* Access O(m)
|
* Access O(m)
|
||||||
*
|
* <p>
|
||||||
* version v1.0
|
* version v1.0
|
||||||
*
|
* <p>
|
||||||
* Date: 03.11.2015
|
* Date: 03.11.2015
|
||||||
*
|
*
|
||||||
*
|
* @param <T> the type of elements held in this collection
|
||||||
* @author Ertuğrul Çetin ~ ertu.ctn@gmail.com
|
* @author Ertuğrul Çetin ~ ertu.ctn@gmail.com
|
||||||
* @see Collection
|
* @see Collection
|
||||||
* @see List
|
* @see List
|
||||||
* @see LinkedList
|
* @see LinkedList
|
||||||
* @see ArrayList
|
* @see ArrayList
|
||||||
* @param <T> the type of elements held in this collection
|
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings({"ManualMinMaxCalculation", "ConstantConditions", "ManualArrayToCollectionCopy"})
|
@SuppressWarnings({"ManualMinMaxCalculation", "ConstantConditions", "ManualArrayToCollectionCopy"})
|
||||||
public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable, Serializable {
|
public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable, Serializable {
|
||||||
@ -119,7 +118,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int len = arr.length;
|
int len = arr.length;
|
||||||
|
|
||||||
if (len != 0) {
|
if(len != 0) {
|
||||||
|
|
||||||
Node<T> initNode = new Node<>(null, null, 0, len);
|
Node<T> initNode = new Node<>(null, null, 0, len);
|
||||||
|
|
||||||
@ -146,7 +145,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
Node<T> l = last;
|
Node<T> l = last;
|
||||||
|
|
||||||
if (l.isAddable()) {
|
if(l.isAddable()) {
|
||||||
l.add(element);
|
l.add(element);
|
||||||
} else {
|
} else {
|
||||||
Node<T> newNode = new Node<>(l, null, size);
|
Node<T> newNode = new Node<>(l, null, size);
|
||||||
@ -169,7 +168,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
Node<T> node = getNodeForAdd(index);
|
Node<T> node = getNodeForAdd(index);
|
||||||
|
|
||||||
if (node == null) {
|
if(node == null) {
|
||||||
|
|
||||||
Node<T> l = last;
|
Node<T> l = last;
|
||||||
|
|
||||||
@ -183,7 +182,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if it is last and has extra space for element...
|
//if it is last and has extra space for element...
|
||||||
if (node == last && node.elementData.length - node.elementDataPointer > 0) {
|
if(node == last && node.elementData.length - node.elementDataPointer > 0) {
|
||||||
|
|
||||||
int nodeArrIndex = index - node.startingIndex;
|
int nodeArrIndex = index - node.startingIndex;
|
||||||
|
|
||||||
@ -191,7 +190,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
node.elementData[nodeArrIndex] = element;
|
node.elementData[nodeArrIndex] = element;
|
||||||
|
|
||||||
if (nodeArrIndex > 0) {
|
if(nodeArrIndex > 0) {
|
||||||
System.arraycopy(node.elementData, 0, node.elementData, 0, nodeArrIndex);
|
System.arraycopy(node.elementData, 0, node.elementData, 0, nodeArrIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -207,7 +206,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
newElementData[nodeArrIndex] = element;
|
newElementData[nodeArrIndex] = element;
|
||||||
|
|
||||||
if (nodeArrIndex > 0) {
|
if(nodeArrIndex > 0) {
|
||||||
System.arraycopy(node.elementData, 0, newElementData, 0, nodeArrIndex);
|
System.arraycopy(node.elementData, 0, newElementData, 0, nodeArrIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -224,14 +223,14 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
private void rangeCheckForAdd(int index) {
|
private void rangeCheckForAdd(int index) {
|
||||||
|
|
||||||
if (index > size || index < 0) {
|
if(index > size || index < 0) {
|
||||||
throw new ArrayIndexOutOfBoundsException(index);
|
throw new ArrayIndexOutOfBoundsException(index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateNodesAfterAdd(Node<T> nodeFrom) {
|
private void updateNodesAfterAdd(Node<T> nodeFrom) {
|
||||||
|
|
||||||
for (Node<T> node = nodeFrom.next; node != null; node = node.next) {
|
for(Node<T> node = nodeFrom.next; node != null; node = node.next) {
|
||||||
|
|
||||||
node.startingIndex++;
|
node.startingIndex++;
|
||||||
node.endingIndex++;
|
node.endingIndex++;
|
||||||
@ -252,9 +251,9 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (size == 0) {
|
if(size == 0) {
|
||||||
|
|
||||||
if (initialCapacity >= len) {
|
if(initialCapacity >= len) {
|
||||||
System.arraycopy(collection, 0, last.elementData, 0, len);
|
System.arraycopy(collection, 0, last.elementData, 0, len);
|
||||||
} else {
|
} else {
|
||||||
last.elementData = Arrays.copyOf((T[]) collection, len);
|
last.elementData = Arrays.copyOf((T[]) collection, len);
|
||||||
@ -274,7 +273,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int remainedStorage = elementDataLen - elementSize;
|
int remainedStorage = elementDataLen - elementSize;
|
||||||
|
|
||||||
if (remainedStorage == 0) {
|
if(remainedStorage == 0) {
|
||||||
|
|
||||||
Node<T> l = last;
|
Node<T> l = last;
|
||||||
|
|
||||||
@ -296,7 +295,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len <= remainedStorage) {
|
if(len <= remainedStorage) {
|
||||||
|
|
||||||
System.arraycopy(collection, 0, last.elementData, elementSize, len);
|
System.arraycopy(collection, 0, last.elementData, elementSize, len);
|
||||||
|
|
||||||
@ -308,7 +307,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len > remainedStorage) {
|
if(len > remainedStorage) {
|
||||||
|
|
||||||
System.arraycopy(collection, 0, last.elementData, elementSize, remainedStorage);
|
System.arraycopy(collection, 0, last.elementData, elementSize, remainedStorage);
|
||||||
|
|
||||||
@ -371,11 +370,11 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
|
|
||||||
if (o == null) {
|
if(o == null) {
|
||||||
|
|
||||||
for (Node<T> node = first; node != null; node = node.next) {
|
for(Node<T> node = first; node != null; node = node.next) {
|
||||||
for (int i = 0; i < node.elementDataPointer; i++) {
|
for(int i = 0; i < node.elementDataPointer; i++) {
|
||||||
if (node.elementData[i] == null) {
|
if(node.elementData[i] == null) {
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
index++;
|
index++;
|
||||||
@ -383,9 +382,9 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
for (Node<T> node = first; node != null; node = node.next) {
|
for(Node<T> node = first; node != null; node = node.next) {
|
||||||
for (int i = 0; i < node.elementDataPointer; i++) {
|
for(int i = 0; i < node.elementDataPointer; i++) {
|
||||||
if (o.equals(node.elementData[i])) {
|
if(o.equals(node.elementData[i])) {
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
index++;
|
index++;
|
||||||
@ -401,10 +400,10 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int index = size - 1;
|
int index = size - 1;
|
||||||
|
|
||||||
if (o == null) {
|
if(o == null) {
|
||||||
for (Node<T> node = last; node != null; node = node.pre) {
|
for(Node<T> node = last; node != null; node = node.pre) {
|
||||||
for (int i = node.elementDataPointer - 1; i >= 0; i--) {
|
for(int i = node.elementDataPointer - 1; i >= 0; i--) {
|
||||||
if (node.elementData[i] == null) {
|
if(node.elementData[i] == null) {
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
index--;
|
index--;
|
||||||
@ -412,9 +411,9 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
for (Node<T> node = last; node != null; node = node.pre) {
|
for(Node<T> node = last; node != null; node = node.pre) {
|
||||||
for (int i = node.elementDataPointer - 1; i >= 0; i--) {
|
for(int i = node.elementDataPointer - 1; i >= 0; i--) {
|
||||||
if (o.equals(node.elementData[i])) {
|
if(o.equals(node.elementData[i])) {
|
||||||
return index;
|
return index;
|
||||||
}
|
}
|
||||||
index--;
|
index--;
|
||||||
@ -437,7 +436,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
Node<T> node;
|
Node<T> node;
|
||||||
|
|
||||||
if (size == 2 && first != last) {
|
if(size == 2 && first != last) {
|
||||||
|
|
||||||
Node<T> newNode = new Node<>(null, null, 0, 2);
|
Node<T> newNode = new Node<>(null, null, 0, 2);
|
||||||
newNode.add(first.elementData[0]);
|
newNode.add(first.elementData[0]);
|
||||||
@ -458,11 +457,11 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int numMoved = elementSize - nodeArrIndex - 1;
|
int numMoved = elementSize - nodeArrIndex - 1;
|
||||||
|
|
||||||
if (numMoved > 0) {
|
if(numMoved > 0) {
|
||||||
System.arraycopy(node.elementData, nodeArrIndex + 1, node.elementData, nodeArrIndex, numMoved);
|
System.arraycopy(node.elementData, nodeArrIndex + 1, node.elementData, nodeArrIndex, numMoved);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (first == last || node == last) {
|
if(first == last || node == last) {
|
||||||
node.elementData[elementSize - 1] = null;
|
node.elementData[elementSize - 1] = null;
|
||||||
} else {
|
} else {
|
||||||
node.elementData = Arrays.copyOf(node.elementData, elementSize - 1);
|
node.elementData = Arrays.copyOf(node.elementData, elementSize - 1);
|
||||||
@ -473,19 +472,19 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
updateNodesAfterRemove(node);
|
updateNodesAfterRemove(node);
|
||||||
|
|
||||||
if (node.elementDataPointer == 0 && first != last) {
|
if(node.elementDataPointer == 0 && first != last) {
|
||||||
|
|
||||||
Node<T> next = node.next;
|
Node<T> next = node.next;
|
||||||
Node<T> prev = node.pre;
|
Node<T> prev = node.pre;
|
||||||
|
|
||||||
if (prev == null) {
|
if(prev == null) {
|
||||||
first = next;
|
first = next;
|
||||||
} else {
|
} else {
|
||||||
prev.next = next;
|
prev.next = next;
|
||||||
node.pre = null;
|
node.pre = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (next == null) {
|
if(next == null) {
|
||||||
last = prev;
|
last = prev;
|
||||||
} else {
|
} else {
|
||||||
next.pre = prev;
|
next.pre = prev;
|
||||||
@ -513,7 +512,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
boolean isModified = false;
|
boolean isModified = false;
|
||||||
|
|
||||||
for (Object o : arr) {
|
for(Object o : arr) {
|
||||||
isModified |= remove(o);
|
isModified |= remove(o);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -534,9 +533,9 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
Object[] elements = toArray();
|
Object[] elements = toArray();
|
||||||
|
|
||||||
for (Object element : elements) {
|
for(Object element : elements) {
|
||||||
|
|
||||||
if (!c.contains(element)) {
|
if(!c.contains(element)) {
|
||||||
isModified |= remove(element);
|
isModified |= remove(element);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -549,7 +548,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int index = indexOf(o);
|
int index = indexOf(o);
|
||||||
|
|
||||||
if (index != -1) {
|
if(index != -1) {
|
||||||
remove(index);
|
remove(index);
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
@ -559,7 +558,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
private void updateNodesAfterRemove(Node<T> fromNode) {
|
private void updateNodesAfterRemove(Node<T> fromNode) {
|
||||||
|
|
||||||
for (Node<T> node = fromNode.next; node != null; node = node.next) {
|
for(Node<T> node = fromNode.next; node != null; node = node.next) {
|
||||||
|
|
||||||
node.startingIndex = (--node.startingIndex < 0) ? 0 : node.startingIndex;
|
node.startingIndex = (--node.startingIndex < 0) ? 0 : node.startingIndex;
|
||||||
node.endingIndex = (--node.endingIndex < 0) ? 0 : node.endingIndex;
|
node.endingIndex = (--node.endingIndex < 0) ? 0 : node.endingIndex;
|
||||||
@ -578,34 +577,34 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int lastMinDistance = min(abs(index - lastStartingIndex), abs(index - lastEndingIndex));
|
int lastMinDistance = min(abs(index - lastStartingIndex), abs(index - lastEndingIndex));
|
||||||
|
|
||||||
if (firstMinDistance <= lastMinDistance) {
|
if(firstMinDistance <= lastMinDistance) {
|
||||||
|
|
||||||
Node<T> node = first;
|
Node<T> node = first;
|
||||||
do {
|
do {
|
||||||
|
|
||||||
if (node.startingIndex <= index && index <= node.endingIndex) {
|
if(node.startingIndex <= index && index <= node.endingIndex) {
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
node = node.next;
|
node = node.next;
|
||||||
} while (true);
|
} while(true);
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
Node<T> node = last;
|
Node<T> node = last;
|
||||||
do {
|
do {
|
||||||
|
|
||||||
if (node.startingIndex <= index && index <= node.endingIndex) {
|
if(node.startingIndex <= index && index <= node.endingIndex) {
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
node = node.pre;
|
node = node.pre;
|
||||||
} while (true);
|
} while(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Node<T> getNodeForAdd(int index) {
|
private Node<T> getNodeForAdd(int index) {
|
||||||
|
|
||||||
if (index == size && !(last.startingIndex <= index && index <= last.endingIndex)) {
|
if(index == size && !(last.startingIndex <= index && index <= last.endingIndex)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -614,7 +613,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
private void rangeCheck(int index) {
|
private void rangeCheck(int index) {
|
||||||
|
|
||||||
if (index >= size || index < 0) {
|
if(index >= size || index < 0) {
|
||||||
throw new ArrayIndexOutOfBoundsException(index);
|
throw new ArrayIndexOutOfBoundsException(index);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -622,7 +621,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
@Override
|
@Override
|
||||||
public void clear() {
|
public void clear() {
|
||||||
|
|
||||||
for (Node<T> node = first; node != null; ) {
|
for(Node<T> node = first; node != null; ) {
|
||||||
|
|
||||||
Node<T> next = node.next;
|
Node<T> next = node.next;
|
||||||
|
|
||||||
@ -653,9 +652,9 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
int pointer = last.elementDataPointer;
|
int pointer = last.elementDataPointer;
|
||||||
int arrLen = last.elementData.length;
|
int arrLen = last.elementData.length;
|
||||||
|
|
||||||
if (pointer < arrLen && arrLen > 2) {
|
if(pointer < arrLen && arrLen > 2) {
|
||||||
|
|
||||||
if (pointer < 2) {
|
if(pointer < 2) {
|
||||||
last.elementData = Arrays.copyOf(last.elementData, 2);
|
last.elementData = Arrays.copyOf(last.elementData, 2);
|
||||||
last.endingIndex -= arrLen - 2;
|
last.endingIndex -= arrLen - 2;
|
||||||
} else {
|
} else {
|
||||||
@ -676,11 +675,11 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
Object[] objects = new Object[size];
|
Object[] objects = new Object[size];
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
for (Node<T> node = first; node != null; node = node.next) {
|
for(Node<T> node = first; node != null; node = node.next) {
|
||||||
|
|
||||||
int len = node.elementDataPointer;
|
int len = node.elementDataPointer;
|
||||||
|
|
||||||
if (len > 0) {
|
if(len > 0) {
|
||||||
System.arraycopy(node.elementData, 0, objects, i, len);
|
System.arraycopy(node.elementData, 0, objects, i, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -842,15 +841,15 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int temp = j - 1;
|
int temp = j - 1;
|
||||||
|
|
||||||
if (temp < 0) {
|
if(temp < 0) {
|
||||||
throw new NoSuchElementException();
|
throw new NoSuchElementException();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (temp >= last.endingIndex + 1) {
|
if(temp >= last.endingIndex + 1) {
|
||||||
throw new ConcurrentModificationException();
|
throw new ConcurrentModificationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (j == size) {
|
if(j == size) {
|
||||||
|
|
||||||
node = last;
|
node = last;
|
||||||
|
|
||||||
@ -860,7 +859,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
}
|
}
|
||||||
|
|
||||||
int index = j - node.startingIndex;
|
int index = j - node.startingIndex;
|
||||||
if (index == 0) {
|
if(index == 0) {
|
||||||
|
|
||||||
node = node.pre;
|
node = node.pre;
|
||||||
|
|
||||||
@ -871,7 +870,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
T val = node.elementData[--i];
|
T val = node.elementData[--i];
|
||||||
|
|
||||||
if (i < 0) {
|
if(i < 0) {
|
||||||
node = node.pre;
|
node = node.pre;
|
||||||
i = (node != null) ? node.elementDataPointer : 0;
|
i = (node != null) ? node.elementDataPointer : 0;
|
||||||
}
|
}
|
||||||
@ -896,7 +895,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
@Override
|
@Override
|
||||||
public void set(T t) {
|
public void set(T t) {
|
||||||
|
|
||||||
if (lastReturn < 0) {
|
if(lastReturn < 0) {
|
||||||
throw new IllegalStateException();
|
throw new IllegalStateException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -904,7 +903,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
com.dfsek.terra.api.util.GlueList.this.set(lastReturn, t);
|
com.dfsek.terra.api.util.GlueList.this.set(lastReturn, t);
|
||||||
} catch (IndexOutOfBoundsException e) {
|
} catch(IndexOutOfBoundsException e) {
|
||||||
throw new ConcurrentModificationException();
|
throw new ConcurrentModificationException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -927,7 +926,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
elementDataPointer = (node != null) ? node.elementDataPointer : 0;
|
elementDataPointer = (node != null) ? node.elementDataPointer : 0;
|
||||||
|
|
||||||
expectedModCount = modCount;
|
expectedModCount = modCount;
|
||||||
} catch (IndexOutOfBoundsException e) {
|
} catch(IndexOutOfBoundsException e) {
|
||||||
throw new ConcurrentModificationException();
|
throw new ConcurrentModificationException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -941,13 +940,13 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
s.writeInt(size);
|
s.writeInt(size);
|
||||||
|
|
||||||
for (Node<T> node = first; node != null; node = node.next) {
|
for(Node<T> node = first; node != null; node = node.next) {
|
||||||
for (int i = 0; i < node.elementDataPointer; i++) {
|
for(int i = 0; i < node.elementDataPointer; i++) {
|
||||||
s.writeObject(node.elementData[i]);
|
s.writeObject(node.elementData[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (modCount != expectedModCount) {
|
if(modCount != expectedModCount) {
|
||||||
throw new ConcurrentModificationException();
|
throw new ConcurrentModificationException();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -962,7 +961,7 @@ public class GlueList<T> extends AbstractList<T> implements List<T>, Cloneable,
|
|||||||
|
|
||||||
int size = s.readInt();
|
int size = s.readInt();
|
||||||
|
|
||||||
for (int i = 0; i < size; i++) {
|
for(int i = 0; i < size; i++) {
|
||||||
last.add((T) s.readObject());
|
last.add((T) s.readObject());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,17 @@
|
|||||||
package com.dfsek.terra.api.util;
|
package com.dfsek.terra.api.util;
|
||||||
|
|
||||||
import com.dfsek.terra.api.util.MathUtil;
|
|
||||||
import com.dfsek.terra.api.world.generator.Palette;
|
import com.dfsek.terra.api.world.generator.Palette;
|
||||||
|
import com.dfsek.terra.api.world.generator.Sampler;
|
||||||
import com.dfsek.terra.api.world.palette.slant.SlantHolder;
|
import com.dfsek.terra.api.world.palette.slant.SlantHolder;
|
||||||
import com.dfsek.terra.config.templates.BiomeTemplate;
|
import com.dfsek.terra.config.templates.BiomeTemplate;
|
||||||
import com.dfsek.terra.api.world.generator.Sampler;
|
|
||||||
|
|
||||||
public final class PaletteUtil {
|
public final class PaletteUtil {
|
||||||
public static Palette getPalette(int x, int y, int z, BiomeTemplate c, Sampler sampler) {
|
public static Palette getPalette(int x, int y, int z, BiomeTemplate c, Sampler sampler) {
|
||||||
|
|
||||||
SlantHolder slant = c.getSlant();
|
SlantHolder slant = c.getSlant();
|
||||||
if (slant != null) {
|
if(slant != null) {
|
||||||
double slope = MathUtil.derivative(sampler, x, y, z);
|
double slope = MathUtil.derivative(sampler, x, y, z);
|
||||||
if (slope > slant.getMinSlope()) {
|
if(slope > slant.getMinSlope()) {
|
||||||
return slant.getPalette(slope).getPalette(y);
|
return slant.getPalette(slope).getPalette(y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
package com.dfsek.terra.api.util;
|
package com.dfsek.terra.api.util;
|
||||||
|
|
||||||
import com.dfsek.terra.api.structure.rotation.Rotation;
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
|
||||||
import com.dfsek.terra.api.block.Axis;
|
import com.dfsek.terra.api.block.Axis;
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
import com.dfsek.terra.api.block.BlockFace;
|
import com.dfsek.terra.api.block.BlockFace;
|
||||||
@ -12,6 +10,8 @@ import com.dfsek.terra.api.block.data.Rail;
|
|||||||
import com.dfsek.terra.api.block.data.RedstoneWire;
|
import com.dfsek.terra.api.block.data.RedstoneWire;
|
||||||
import com.dfsek.terra.api.block.data.Rotatable;
|
import com.dfsek.terra.api.block.data.Rotatable;
|
||||||
import com.dfsek.terra.api.block.data.Wall;
|
import com.dfsek.terra.api.block.data.Wall;
|
||||||
|
import com.dfsek.terra.api.structure.rotation.Rotation;
|
||||||
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.api.util.collections;
|
package com.dfsek.terra.api.util.collections;
|
||||||
|
|
||||||
import com.dfsek.terra.api.util.MathUtil;
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
|
import com.dfsek.terra.api.util.MathUtil;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.mutable.MutableInteger;
|
import com.dfsek.terra.api.util.mutable.MutableInteger;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
@ -2,7 +2,6 @@ package com.dfsek.terra.api.world.biome;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.world.World;
|
import com.dfsek.terra.api.world.World;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import com.dfsek.terra.config.templates.BiomeTemplate;
|
import com.dfsek.terra.config.templates.BiomeTemplate;
|
||||||
import com.dfsek.terra.world.generation.WorldGenerator;
|
import com.dfsek.terra.world.generation.WorldGenerator;
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@ package com.dfsek.terra.api.world.biome.pipeline;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander;
|
||||||
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package com.dfsek.terra.api.world.biome.pipeline;
|
package com.dfsek.terra.api.world.biome.pipeline;
|
||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.api.util.GlueList;
|
import com.dfsek.terra.api.util.GlueList;
|
||||||
import com.dfsek.terra.api.util.seeded.StageSeeded;
|
import com.dfsek.terra.api.util.seeded.StageSeeded;
|
||||||
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.Stage;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.Stage;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.api.world.biome.pipeline.expand;
|
package com.dfsek.terra.api.world.biome.pipeline.expand;
|
||||||
|
|
||||||
import com.dfsek.terra.api.util.MathUtil;
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
|
import com.dfsek.terra.api.util.MathUtil;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander;
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package com.dfsek.terra.api.world.biome.pipeline.mutator;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.api.world.biome.pipeline.mutator;
|
package com.dfsek.terra.api.world.biome.pipeline.mutator;
|
||||||
|
|
||||||
import com.dfsek.terra.api.util.MathUtil;
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
|
import com.dfsek.terra.api.util.MathUtil;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ package com.dfsek.terra.api.world.biome.pipeline.source;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.dfsek.terra.api.world.biome.pipeline.stages;
|
package com.dfsek.terra.api.world.biome.pipeline.stages;
|
||||||
|
|
||||||
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.Stage;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.Stage;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeExpander;
|
|
||||||
|
|
||||||
public class ExpanderStage implements Stage {
|
public class ExpanderStage implements Stage {
|
||||||
private final BiomeExpander expander;
|
private final BiomeExpander expander;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.dfsek.terra.api.world.biome.pipeline.stages;
|
package com.dfsek.terra.api.world.biome.pipeline.stages;
|
||||||
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.Stage;
|
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeMutator;
|
||||||
|
import com.dfsek.terra.api.world.biome.generation.pipeline.Stage;
|
||||||
|
|
||||||
public class MutatorStage implements Stage {
|
public class MutatorStage implements Stage {
|
||||||
private final BiomeMutator mutator;
|
private final BiomeMutator mutator;
|
||||||
|
@ -3,11 +3,11 @@ package com.dfsek.terra.api.world.biome.provider;
|
|||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.vector.Vector2;
|
import com.dfsek.terra.api.vector.Vector2;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
|
||||||
import com.dfsek.terra.vector.Vector2Impl;
|
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeHolder;
|
||||||
import com.dfsek.terra.api.world.biome.pipeline.BiomePipelineImpl;
|
import com.dfsek.terra.api.world.biome.pipeline.BiomePipelineImpl;
|
||||||
|
import com.dfsek.terra.vector.Vector2Impl;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.google.common.cache.CacheLoader;
|
import com.google.common.cache.CacheLoader;
|
||||||
import com.google.common.cache.LoadingCache;
|
import com.google.common.cache.LoadingCache;
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package com.dfsek.terra.api.world.carving;
|
package com.dfsek.terra.api.world.carving;
|
||||||
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.world.World;
|
import com.dfsek.terra.api.world.World;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
@ -2,7 +2,6 @@ package com.dfsek.terra.api.world.locate;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.vector.Location;
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
@ -2,11 +2,10 @@ package com.dfsek.terra.api.world.locate;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.vector.Location;
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.world.World;
|
import com.dfsek.terra.api.world.World;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
package com.dfsek.terra.api.world.locate;
|
package com.dfsek.terra.api.world.locate;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.util.PopulationUtil;
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
|
||||||
import com.dfsek.terra.api.structure.rotation.Rotation;
|
import com.dfsek.terra.api.structure.rotation.Rotation;
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
|
import com.dfsek.terra.api.util.PopulationUtil;
|
||||||
|
import com.dfsek.terra.api.vector.Location;
|
||||||
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
import com.dfsek.terra.world.population.items.TerraStructure;
|
import com.dfsek.terra.world.population.items.TerraStructure;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
package com.dfsek.terra.api.world.palette;
|
package com.dfsek.terra.api.world.palette;
|
||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -1,10 +1,9 @@
|
|||||||
package com.dfsek.terra.api.world.palette;
|
package com.dfsek.terra.api.world.palette;
|
||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.GlueList;
|
import com.dfsek.terra.api.util.GlueList;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import com.dfsek.terra.api.world.generator.Palette;
|
import com.dfsek.terra.api.world.generator.Palette;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
package com.dfsek.terra.api.world.palette.holder;
|
package com.dfsek.terra.api.world.palette.holder;
|
||||||
|
|
||||||
import com.dfsek.terra.api.noise.NoiseSampler;
|
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
|
import com.dfsek.terra.api.noise.NoiseSampler;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
public class PaletteLayerHolder {
|
public class PaletteLayerHolder {
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
package com.dfsek.terra.carving;
|
package com.dfsek.terra.carving;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.util.MathUtil;
|
|
||||||
import com.dfsek.terra.api.util.PopulationUtil;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.world.World;
|
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
import com.dfsek.terra.api.util.GlueList;
|
import com.dfsek.terra.api.util.GlueList;
|
||||||
|
import com.dfsek.terra.api.util.MathUtil;
|
||||||
|
import com.dfsek.terra.api.util.PopulationUtil;
|
||||||
|
import com.dfsek.terra.api.world.World;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
import com.dfsek.terra.api.world.carving.Worm;
|
import com.dfsek.terra.api.world.carving.Worm;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
import com.google.common.cache.CacheLoader;
|
import com.google.common.cache.CacheLoader;
|
||||||
import com.google.common.cache.LoadingCache;
|
import com.google.common.cache.LoadingCache;
|
||||||
|
@ -4,7 +4,6 @@ import com.dfsek.terra.api.block.BlockData;
|
|||||||
import com.dfsek.terra.api.block.BlockType;
|
import com.dfsek.terra.api.block.BlockType;
|
||||||
import com.dfsek.terra.api.util.ProbabilityCollection;
|
import com.dfsek.terra.api.util.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.collections.MaterialSet;
|
import com.dfsek.terra.api.util.collections.MaterialSet;
|
||||||
import com.dfsek.terra.api.util.collections.ProbabilityCollectionImpl;
|
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -5,22 +5,22 @@ import com.dfsek.paralithic.eval.parser.Parser;
|
|||||||
import com.dfsek.paralithic.eval.parser.Scope;
|
import com.dfsek.paralithic.eval.parser.Scope;
|
||||||
import com.dfsek.paralithic.eval.tokenizer.ParseException;
|
import com.dfsek.paralithic.eval.tokenizer.ParseException;
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.math.range.ConstantRange;
|
|
||||||
import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction;
|
import com.dfsek.terra.api.math.paralithic.defined.UserDefinedFunction;
|
||||||
import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction2;
|
import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction2;
|
||||||
import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction3;
|
import com.dfsek.terra.api.math.paralithic.noise.NoiseFunction3;
|
||||||
import com.dfsek.terra.api.util.Range;
|
import com.dfsek.terra.api.math.range.ConstantRange;
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.world.World;
|
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
|
import com.dfsek.terra.api.util.Range;
|
||||||
import com.dfsek.terra.api.util.seeded.NoiseSeeded;
|
import com.dfsek.terra.api.util.seeded.NoiseSeeded;
|
||||||
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
|
import com.dfsek.terra.api.world.World;
|
||||||
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.api.world.carving.Carver;
|
import com.dfsek.terra.api.world.carving.Carver;
|
||||||
import com.dfsek.terra.api.world.carving.Worm;
|
import com.dfsek.terra.api.world.carving.Worm;
|
||||||
import com.dfsek.terra.config.loaders.config.function.FunctionTemplate;
|
import com.dfsek.terra.config.loaders.config.function.FunctionTemplate;
|
||||||
import com.dfsek.terra.config.templates.BiomeTemplate;
|
import com.dfsek.terra.config.templates.BiomeTemplate;
|
||||||
import com.dfsek.terra.config.templates.CarverTemplate;
|
import com.dfsek.terra.config.templates.CarverTemplate;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import net.jafama.FastMath;
|
import net.jafama.FastMath;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -3,8 +3,8 @@ package com.dfsek.terra.commands;
|
|||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
usage = "/terra addons"
|
usage = "/terra addons"
|
||||||
|
@ -6,9 +6,9 @@ import com.dfsek.terra.api.command.annotation.Command;
|
|||||||
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
|
||||||
@WorldCommand
|
@WorldCommand
|
||||||
@DebugCommand
|
@DebugCommand
|
||||||
|
@ -4,11 +4,10 @@ import com.dfsek.terra.api.TerraPlugin;
|
|||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.registry.CheckedRegistry;
|
import com.dfsek.terra.api.registry.CheckedRegistry;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
import com.dfsek.terra.config.pack.ConfigPackTemplate;
|
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
usage = "/terra packs"
|
usage = "/terra packs"
|
||||||
|
@ -3,8 +3,8 @@ package com.dfsek.terra.commands;
|
|||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
|
@ -3,8 +3,8 @@ package com.dfsek.terra.commands;
|
|||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
|
|
||||||
@Command(
|
@Command(
|
||||||
|
@ -6,9 +6,9 @@ import com.dfsek.terra.api.command.annotation.Command;
|
|||||||
import com.dfsek.terra.api.command.annotation.Subcommand;
|
import com.dfsek.terra.api.command.annotation.Subcommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
|
@ -10,16 +10,15 @@ import com.dfsek.terra.api.command.annotation.inject.SwitchTarget;
|
|||||||
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
||||||
import com.dfsek.terra.api.command.arg.IntegerArgumentParser;
|
import com.dfsek.terra.api.command.arg.IntegerArgumentParser;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
import com.dfsek.terra.api.world.locate.AsyncBiomeFinder;
|
import com.dfsek.terra.api.world.locate.AsyncBiomeFinder;
|
||||||
import com.dfsek.terra.commands.biome.arg.BiomeArgumentParser;
|
import com.dfsek.terra.commands.biome.arg.BiomeArgumentParser;
|
||||||
import com.dfsek.terra.commands.biome.tab.BiomeTabCompleter;
|
import com.dfsek.terra.commands.biome.tab.BiomeTabCompleter;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@ package com.dfsek.terra.commands.biome.arg;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.arg.ArgumentParser;
|
import com.dfsek.terra.api.command.arg.ArgumentParser;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
|
|
||||||
public class BiomeArgumentParser implements ArgumentParser<TerraBiome> {
|
public class BiomeArgumentParser implements ArgumentParser<TerraBiome> {
|
||||||
|
@ -2,9 +2,9 @@ package com.dfsek.terra.commands.biome.tab;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.tab.TabCompleter;
|
import com.dfsek.terra.api.command.tab.TabCompleter;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -4,8 +4,8 @@ import com.dfsek.terra.api.TerraPlugin;
|
|||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
|
||||||
@Command
|
@Command
|
||||||
@DebugCommand
|
@DebugCommand
|
||||||
|
@ -4,8 +4,8 @@ import com.dfsek.terra.api.TerraPlugin;
|
|||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
|
||||||
@Command
|
@Command
|
||||||
@DebugCommand
|
@DebugCommand
|
||||||
|
@ -4,8 +4,8 @@ import com.dfsek.terra.api.TerraPlugin;
|
|||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
|
||||||
@Command
|
@Command
|
||||||
@DebugCommand
|
@DebugCommand
|
||||||
|
@ -4,8 +4,8 @@ import com.dfsek.terra.api.TerraPlugin;
|
|||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
|
||||||
@Command
|
@Command
|
||||||
@DebugCommand
|
@DebugCommand
|
||||||
|
@ -6,19 +6,18 @@ import com.dfsek.terra.api.command.annotation.Command;
|
|||||||
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.vector.Location;
|
|
||||||
import com.dfsek.terra.api.vector.Vector3;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
import com.dfsek.terra.api.structure.rotation.Rotation;
|
||||||
import com.dfsek.terra.api.structures.parser.lang.constants.NumericConstant;
|
import com.dfsek.terra.api.structures.parser.lang.constants.NumericConstant;
|
||||||
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
import com.dfsek.terra.api.structures.script.TerraImplementationArguments;
|
||||||
import com.dfsek.terra.api.structures.script.functions.CheckFunction;
|
import com.dfsek.terra.api.structures.script.functions.CheckFunction;
|
||||||
import com.dfsek.terra.api.structure.rotation.Rotation;
|
|
||||||
import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer;
|
import com.dfsek.terra.api.structures.structure.buffer.StructureBuffer;
|
||||||
import com.dfsek.terra.api.structures.tokenizer.Position;
|
import com.dfsek.terra.api.structures.tokenizer.Position;
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
|
import com.dfsek.terra.api.vector.Vector3;
|
||||||
|
import com.dfsek.terra.vector.LocationImpl;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
package com.dfsek.terra.commands.structure;
|
package com.dfsek.terra.commands.structure;
|
||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
|
import com.dfsek.terra.api.block.Block;
|
||||||
|
import com.dfsek.terra.api.block.BlockData;
|
||||||
|
import com.dfsek.terra.api.block.state.BlockState;
|
||||||
|
import com.dfsek.terra.api.block.state.Sign;
|
||||||
import com.dfsek.terra.api.command.CommandTemplate;
|
import com.dfsek.terra.api.command.CommandTemplate;
|
||||||
import com.dfsek.terra.api.command.annotation.Argument;
|
import com.dfsek.terra.api.command.annotation.Argument;
|
||||||
import com.dfsek.terra.api.command.annotation.Command;
|
import com.dfsek.terra.api.command.annotation.Command;
|
||||||
@ -8,16 +12,12 @@ import com.dfsek.terra.api.command.annotation.inject.ArgumentTarget;
|
|||||||
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
||||||
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
|
import com.dfsek.terra.api.entity.Player;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
|
import com.dfsek.terra.api.util.generic.pair.Pair;
|
||||||
import com.dfsek.terra.api.vector.Location;
|
import com.dfsek.terra.api.vector.Location;
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
import com.dfsek.terra.vector.LocationImpl;
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
|
||||||
import com.dfsek.terra.api.block.Block;
|
|
||||||
import com.dfsek.terra.api.block.BlockData;
|
|
||||||
import com.dfsek.terra.api.block.state.BlockState;
|
|
||||||
import com.dfsek.terra.api.block.state.Sign;
|
|
||||||
import com.dfsek.terra.api.entity.Player;
|
|
||||||
import com.dfsek.terra.api.util.generic.pair.Pair;
|
|
||||||
|
|
||||||
import java.io.BufferedWriter;
|
import java.io.BufferedWriter;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
@ -11,9 +11,9 @@ import com.dfsek.terra.api.command.annotation.type.DebugCommand;
|
|||||||
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
||||||
import com.dfsek.terra.api.command.arg.IntegerArgumentParser;
|
import com.dfsek.terra.api.command.arg.IntegerArgumentParser;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.structure.Structure;
|
import com.dfsek.terra.api.structure.Structure;
|
||||||
import com.dfsek.terra.api.structure.rotation.Rotation;
|
import com.dfsek.terra.api.structure.rotation.Rotation;
|
||||||
import com.dfsek.terra.api.util.FastRandom;
|
import com.dfsek.terra.api.util.FastRandom;
|
||||||
|
@ -10,15 +10,14 @@ import com.dfsek.terra.api.command.annotation.inject.SwitchTarget;
|
|||||||
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
import com.dfsek.terra.api.command.annotation.type.PlayerCommand;
|
||||||
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
import com.dfsek.terra.api.command.annotation.type.WorldCommand;
|
||||||
import com.dfsek.terra.api.command.arg.IntegerArgumentParser;
|
import com.dfsek.terra.api.command.arg.IntegerArgumentParser;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.vector.LocationImpl;
|
|
||||||
import com.dfsek.terra.vector.Vector3Impl;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.world.locate.AsyncStructureFinder;
|
import com.dfsek.terra.api.world.locate.AsyncStructureFinder;
|
||||||
import com.dfsek.terra.commands.structure.argument.StructureArgumentParser;
|
import com.dfsek.terra.commands.structure.argument.StructureArgumentParser;
|
||||||
import com.dfsek.terra.commands.structure.completer.StructureCompleter;
|
import com.dfsek.terra.commands.structure.completer.StructureCompleter;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
|
import com.dfsek.terra.vector.Vector3Impl;
|
||||||
import com.dfsek.terra.world.population.items.TerraStructure;
|
import com.dfsek.terra.world.population.items.TerraStructure;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
@ -2,9 +2,9 @@ package com.dfsek.terra.commands.structure.argument;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.arg.ArgumentParser;
|
import com.dfsek.terra.api.command.arg.ArgumentParser;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.structure.Structure;
|
import com.dfsek.terra.api.structure.Structure;
|
||||||
import com.dfsek.terra.api.structures.script.StructureScript;
|
import com.dfsek.terra.api.structures.script.StructureScript;
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@ package com.dfsek.terra.commands.structure.argument;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.arg.ArgumentParser;
|
import com.dfsek.terra.api.command.arg.ArgumentParser;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.world.population.items.TerraStructure;
|
import com.dfsek.terra.world.population.items.TerraStructure;
|
||||||
|
|
||||||
public class StructureArgumentParser implements ArgumentParser<TerraStructure> {
|
public class StructureArgumentParser implements ArgumentParser<TerraStructure> {
|
||||||
|
@ -2,9 +2,9 @@ package com.dfsek.terra.commands.structure.completer;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.tab.TabCompleter;
|
import com.dfsek.terra.api.command.tab.TabCompleter;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.structure.Structure;
|
import com.dfsek.terra.api.structure.Structure;
|
||||||
import com.dfsek.terra.api.structures.script.StructureScript;
|
import com.dfsek.terra.api.structures.script.StructureScript;
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@ package com.dfsek.terra.commands.structure.completer;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.command.tab.TabCompleter;
|
import com.dfsek.terra.api.command.tab.TabCompleter;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
|
||||||
import com.dfsek.terra.api.entity.CommandSender;
|
import com.dfsek.terra.api.entity.CommandSender;
|
||||||
import com.dfsek.terra.api.entity.Player;
|
import com.dfsek.terra.api.entity.Player;
|
||||||
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.world.population.items.TerraStructure;
|
import com.dfsek.terra.world.population.items.TerraStructure;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -5,9 +5,9 @@ import com.dfsek.tectonic.annotations.Value;
|
|||||||
import com.dfsek.tectonic.config.ConfigTemplate;
|
import com.dfsek.tectonic.config.ConfigTemplate;
|
||||||
import com.dfsek.tectonic.exception.ConfigException;
|
import com.dfsek.tectonic.exception.ConfigException;
|
||||||
import com.dfsek.tectonic.loading.ConfigLoader;
|
import com.dfsek.tectonic.loading.ConfigLoader;
|
||||||
|
import com.dfsek.terra.api.Logger;
|
||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.util.JarUtil;
|
import com.dfsek.terra.api.util.JarUtil;
|
||||||
import com.dfsek.terra.api.Logger;
|
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user