fix my bad datagen-fu
This commit is contained in:
parent
398b216e85
commit
3b3f960768
15
build.gradle
15
build.gradle
|
@ -2,7 +2,7 @@ plugins {
|
||||||
id 'eclipse'
|
id 'eclipse'
|
||||||
id 'idea'
|
id 'idea'
|
||||||
id 'maven-publish'
|
id 'maven-publish'
|
||||||
id 'net.minecraftforge.gradle' version '[6.0,6.2)'
|
id 'net.neoforged.gradle' version '[6.0,6.2)'
|
||||||
}
|
}
|
||||||
|
|
||||||
version = mod_version
|
version = mod_version
|
||||||
|
@ -100,6 +100,7 @@ minecraft {
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
maven { url "https://cubicinterpolation.net/maven/" }
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations {
|
configurations {
|
||||||
|
@ -112,8 +113,10 @@ dependencies {
|
||||||
// The "userdev" classifier will be requested and setup by ForgeGradle.
|
// The "userdev" classifier will be requested and setup by ForgeGradle.
|
||||||
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
|
// If the group id is "net.minecraft" and the artifact id is one of ["client", "server", "joined"],
|
||||||
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
|
// then special handling is done to allow a setup of a vanilla dependency without the use of an external repository.
|
||||||
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
|
minecraft "net.neoforged:forge:${minecraft_version}-${forge_version}"
|
||||||
|
|
||||||
|
implementation fg.deobf(group: "commoble.exmachina_engine", name: "exmachina_engine-${exmachina_engine_mc_version}", version: "${exmachina_engine_version}")
|
||||||
|
jarJar(group: "commoble.exmachina_engine", name: "exmachina_engine-${exmachina_engine_mc_version}", version: "[${exmachina_engine_version}, ${exmachina_engine_next_version})")
|
||||||
|
|
||||||
dataImplementation sourceSets.main.output
|
dataImplementation sourceSets.main.output
|
||||||
}
|
}
|
||||||
|
@ -171,6 +174,14 @@ publishing {
|
||||||
maven {
|
maven {
|
||||||
url "file://${project.projectDir}/mcmodsrepo"
|
url "file://${project.projectDir}/mcmodsrepo"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
maven {
|
||||||
|
url = 'https://maven.neoforged.net/releases'
|
||||||
|
credentials {
|
||||||
|
username = 'curle'
|
||||||
|
password = 'zkniWrFTmXJUMEUQX/IZt4Vxt45lnmSQdplhHmhXNW4zFTZvWQg9Pe/nspx7a93a'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ minecraft_version=1.20.1
|
||||||
# as they do not follow standard versioning conventions.
|
# as they do not follow standard versioning conventions.
|
||||||
minecraft_version_range=[1.20.1,1.21)
|
minecraft_version_range=[1.20.1,1.21)
|
||||||
# The Forge version must agree with the Minecraft version to get a valid artifact
|
# The Forge version must agree with the Minecraft version to get a valid artifact
|
||||||
forge_version=47.0.34
|
forge_version=47.1.63
|
||||||
# The Forge version range can use any version of Forge as bounds or match the loader version range
|
# The Forge version range can use any version of Forge as bounds or match the loader version range
|
||||||
forge_version_range=[47,)
|
forge_version_range=[47,)
|
||||||
# The loader version range can only use the major version of Forge/FML as bounds
|
# The loader version range can only use the major version of Forge/FML as bounds
|
||||||
|
@ -48,7 +48,7 @@ mod_name=Engage!
|
||||||
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
|
||||||
mod_license=MIT
|
mod_license=MIT
|
||||||
# The mod version. See https://semver.org/
|
# The mod version. See https://semver.org/
|
||||||
mod_version=1.20-0.1.8
|
mod_version=1.20-0.1.13
|
||||||
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
|
||||||
# This should match the base package used for the mod sources.
|
# This should match the base package used for the mod sources.
|
||||||
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
|
||||||
|
@ -56,4 +56,8 @@ mod_group_id=uk.gemwire.engage
|
||||||
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
|
# The authors of the mod. This is a simple text string that is used for display purposes in the mod list.
|
||||||
mod_authors=Curle
|
mod_authors=Curle
|
||||||
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
|
# The description of the mod. This is a simple multiline text string that is used for display purposes in the mod list.
|
||||||
mod_description=Placeholder
|
mod_description=Create Warp Plasma, and find an advanced tech tree to play with!
|
||||||
|
|
||||||
|
exmachina_engine_version = 0.1.0.0
|
||||||
|
exmachina_engine_mc_version = 1.20.1
|
||||||
|
exmachina_engine_next_version = 0.2.0.0
|
|
@ -2,8 +2,8 @@ pluginManagement {
|
||||||
repositories {
|
repositories {
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
maven {
|
maven {
|
||||||
name = 'MinecraftForge'
|
name = 'NeoForged'
|
||||||
url = 'https://maven.minecraftforge.net/'
|
url = 'https://maven.neoforged.net/releases/'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ public class BlockStateProvider extends BaseBlockStateProvider<BlockModelProvide
|
||||||
@Override
|
@Override
|
||||||
protected void registerStatesAndModels() {
|
protected void registerStatesAndModels() {
|
||||||
registerFluidBlockStates(List.of(Fluids.HEAVY_WATER_FLUID, Fluids.DEUTERIUM_FLUID, Fluids.DEUTERIUM_SLUSH_FLUID, Fluids.ANTIDEUTERIUM_FLUID, Fluids.WARP_PLASMA_FLUID, Fluids.PROPANE_FLUID));
|
registerFluidBlockStates(List.of(Fluids.HEAVY_WATER_FLUID, Fluids.DEUTERIUM_FLUID, Fluids.DEUTERIUM_SLUSH_FLUID, Fluids.ANTIDEUTERIUM_FLUID, Fluids.WARP_PLASMA_FLUID, Fluids.PROPANE_FLUID));
|
||||||
simpleBlockWithItem(Blocks.BERYLLITE_ORE_BLOCK.block().get(), models().cubeAll(name(Blocks.BERYLLITE_ORE_BLOCK.block().get()), new ResourceLocation("minecraft:block/coal_ore")));
|
simpleBlockWithItem(Blocks.BERYLLITE_ORE_BLOCK.block().get(), models().cubeAll(name(Blocks.BERYLLITE_ORE_BLOCK.block().get()), new ResourceLocation("engage:block/beryllite_ore")));
|
||||||
simpleBlockWithItem(Blocks.COMPRESSOR_BLOCK.block().get(), models().cubeAll(name(Blocks.COMPRESSOR_BLOCK.block().get()), new ResourceLocation("minecraft:block/black_wool")));
|
simpleBlockWithItem(Blocks.COMPRESSOR_BLOCK.block().get(), models().cubeAll(name(Blocks.COMPRESSOR_BLOCK.block().get()), new ResourceLocation("minecraft:block/black_wool")));
|
||||||
simpleBlockWithItem(Blocks.COPPER_TUBE_BLOCK.block().get(), models().cubeAll(name(Blocks.COPPER_TUBE_BLOCK.block().get()), new ResourceLocation("minecraft:block/white_wool")));
|
simpleBlockWithItem(Blocks.COPPER_TUBE_BLOCK.block().get(), models().cubeAll(name(Blocks.COPPER_TUBE_BLOCK.block().get()), new ResourceLocation("minecraft:block/white_wool")));
|
||||||
simpleBlockWithItem(Blocks.COOLANT_METERING_BLOCK.block().get(), models().cubeAll(name(Blocks.COOLANT_METERING_BLOCK.block().get()), new ResourceLocation("minecraft:block/yellow_wool")));
|
simpleBlockWithItem(Blocks.COOLANT_METERING_BLOCK.block().get(), models().cubeAll(name(Blocks.COOLANT_METERING_BLOCK.block().get()), new ResourceLocation("minecraft:block/yellow_wool")));
|
||||||
|
|
|
@ -7,6 +7,6 @@ public class BlockLootTables extends BaseBlockLootTables {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void generate() {
|
protected void generate() {
|
||||||
add(block -> createOreDrop(block, Blocks.BERYLLITE_ORE_BLOCK.item().get()), Blocks.BERYLLITE_ORE_BLOCK.block().get());
|
add(block -> createOreDrop(block, Items.RAW_BERYLLITE_ITEM.get()), Blocks.BERYLLITE_ORE_BLOCK.block().get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class ItemModelProvider extends BaseItemModelProvider {
|
||||||
@Override
|
@Override
|
||||||
protected void registerModels() {
|
protected void registerModels() {
|
||||||
registerBuckets(Fluids.FLUIDS_REGISTRY);
|
registerBuckets(Fluids.FLUIDS_REGISTRY);
|
||||||
generated(Items.RAW_BERYLLITE_ITEM.get(), new ResourceLocation("minecraft:item/gold_ingot"));
|
generated(Items.RAW_BERYLLITE_ITEM.get(), new ResourceLocation("engage:item/beryllite_raw"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void blockParent(RegistryObject<Item> item, RegistryObject<Block> block) {
|
void blockParent(RegistryObject<Item> item, RegistryObject<Block> block) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// 1.20.1 2023-06-30T03:19:18.0172666 Item model provider: engage
|
// 1.20.1 2023-08-06T18:06:42.586222 Item model provider: engage
|
||||||
b3abd1796143a506e2c7f2ffdefeb61e235a8689 assets/engage/models/item/antideuterium_bucket.json
|
b3abd1796143a506e2c7f2ffdefeb61e235a8689 assets/engage/models/item/antideuterium_bucket.json
|
||||||
cfeee2aee8fab94a821a49be3ce0d110c857e1b1 assets/engage/models/item/beryllite_raw.json
|
8b05e6a927ff10a8e07dd1d0632435d42b705ab6 assets/engage/models/item/beryllite_raw.json
|
||||||
ca322f154c4d4ab99647bfa2ebb939b9284fad9a assets/engage/models/item/deuterium_bucket.json
|
ca322f154c4d4ab99647bfa2ebb939b9284fad9a assets/engage/models/item/deuterium_bucket.json
|
||||||
725bfdd287ed277d7b78d3a295ea5a71b63b40fa assets/engage/models/item/deuterium_slush_bucket.json
|
725bfdd287ed277d7b78d3a295ea5a71b63b40fa assets/engage/models/item/deuterium_slush_bucket.json
|
||||||
50ee03ab71a0bc46941091c9c8cb8f9b516368c7 assets/engage/models/item/heavy_water_bucket.json
|
50ee03ab71a0bc46941091c9c8cb8f9b516368c7 assets/engage/models/item/heavy_water_bucket.json
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
// 1.20.1 2023-06-30T04:23:53.8928559 Loot Tables
|
// 1.20.1 2023-08-29T22:27:09.2602278 Loot Tables
|
||||||
a0d5edde42a3b8244b925e55faccc1024cdc3f7f data/engage/loot_tables/blocks/beryllite_ore.json
|
22933ac7663f965e6fe3c560231b4bcb76c43bfa data/engage/loot_tables/blocks/beryllite_ore.json
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// 1.20.1 2023-06-30T04:23:53.8880249 Block state provider: engage
|
// 1.20.1 2023-08-06T18:06:42.5913045 Block state provider: engage
|
||||||
4af9c861d7727e9ee266ca6e10d9c78c9e4104ba assets/engage/blockstates/antideuterium.json
|
4af9c861d7727e9ee266ca6e10d9c78c9e4104ba assets/engage/blockstates/antideuterium.json
|
||||||
163e87835e33814e2cad190c2265142f42e18ba9 assets/engage/blockstates/beryllite_ore.json
|
163e87835e33814e2cad190c2265142f42e18ba9 assets/engage/blockstates/beryllite_ore.json
|
||||||
1bb5f9aee9050675d6749ef05c6308e655a6e4ff assets/engage/blockstates/compressor.json
|
1bb5f9aee9050675d6749ef05c6308e655a6e4ff assets/engage/blockstates/compressor.json
|
||||||
|
@ -11,7 +11,7 @@ e8c835ceab42e3cc09b67e242199e682ab37b47d assets/engage/blockstates/copper_tube.j
|
||||||
b58e421acd852f85bc9fee8f837609c8471b90b7 assets/engage/blockstates/propane.json
|
b58e421acd852f85bc9fee8f837609c8471b90b7 assets/engage/blockstates/propane.json
|
||||||
9b31876df3da1b32ac5639c48cab2ce60cc876ad assets/engage/blockstates/warp_plasma.json
|
9b31876df3da1b32ac5639c48cab2ce60cc876ad assets/engage/blockstates/warp_plasma.json
|
||||||
f077c95c66d98f808227df298031ba934827bbfc assets/engage/models/block/antideuterium.json
|
f077c95c66d98f808227df298031ba934827bbfc assets/engage/models/block/antideuterium.json
|
||||||
9356d6cfcd705b3474cec35599e7709fb9f0954a assets/engage/models/block/beryllite_ore.json
|
e595ddd851a695d6bcf3047a05e291ac76427f4b assets/engage/models/block/beryllite_ore.json
|
||||||
cd4466ca9aff6e3cd44febc0ab2d2a5c4a3a45ed assets/engage/models/block/compressor.json
|
cd4466ca9aff6e3cd44febc0ab2d2a5c4a3a45ed assets/engage/models/block/compressor.json
|
||||||
6164628d5c2a9ff67da9c172ffbffb82095851c0 assets/engage/models/block/coolant_meter.json
|
6164628d5c2a9ff67da9c172ffbffb82095851c0 assets/engage/models/block/coolant_meter.json
|
||||||
0021ec0a6a012353fc3294979a59e61e7c5c8f27 assets/engage/models/block/copper_tube.json
|
0021ec0a6a012353fc3294979a59e61e7c5c8f27 assets/engage/models/block/copper_tube.json
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "minecraft:block/cube_all",
|
"parent": "minecraft:block/cube_all",
|
||||||
"textures": {
|
"textures": {
|
||||||
"all": "minecraft:block/coal_ore"
|
"all": "engage:block/beryllite_ore"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "minecraft:item/generated",
|
"parent": "minecraft:item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "minecraft:item/gold_ingot"
|
"layer0": "engage:item/beryllite_raw"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -38,7 +38,7 @@
|
||||||
"function": "minecraft:explosion_decay"
|
"function": "minecraft:explosion_decay"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"name": "engage:beryllite_ore"
|
"name": "engage:beryllite_raw"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,11 @@
|
||||||
package uk.gemwire.engage.block.coolant;
|
package uk.gemwire.engage.block.coolant;
|
||||||
|
|
||||||
import com.google.common.graph.Network;
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.jetbrains.annotations.Nullable;
|
|
||||||
import uk.gemwire.engage.registries.Blocks;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains a set of methods that allows all Coolant System blocks to check for a completed network on placement.
|
* Contains a set of methods that allows all Coolant System blocks to check for a completed network on placement.
|
||||||
|
@ -27,5 +21,15 @@ public class CoolantBaseBlock extends Block {
|
||||||
public void onPlace(BlockState prior, Level level, BlockPos pos, BlockState newState, boolean p_60570_) {
|
public void onPlace(BlockState prior, Level level, BlockPos pos, BlockState newState, boolean p_60570_) {
|
||||||
if (level.isClientSide) return;
|
if (level.isClientSide) return;
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
// CoolantNetworksSavedData.NETWORKS
|
||||||
|
// Find networks adjacent to our block
|
||||||
|
// Add to the networks
|
||||||
|
// If more than one:
|
||||||
|
// Figure out if we placed a connection between two Nodes of the same type
|
||||||
|
// if so: merge them into one Node, copy the Positions and Transitions of one into the other
|
||||||
|
// if not: simply copy all the Nodes of one Graph into the other
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,9 +2,11 @@ package uk.gemwire.engage.systems.coolant;
|
||||||
|
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
import net.minecraft.core.Direction;
|
||||||
|
import net.minecraft.world.level.ChunkPos;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
import org.checkerframework.checker.units.qual.C;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
import uk.gemwire.engage.block.coolant.CoolantBaseBlock;
|
import uk.gemwire.engage.block.coolant.CoolantBaseBlock;
|
||||||
import uk.gemwire.engage.registries.Blocks;
|
import uk.gemwire.engage.registries.Blocks;
|
||||||
|
@ -61,11 +63,17 @@ public class CoolantNetworkGraph {
|
||||||
*/
|
*/
|
||||||
public static class Graph {
|
public static class Graph {
|
||||||
List<NetworkBlockNode> nodes;
|
List<NetworkBlockNode> nodes;
|
||||||
|
List<ChunkPos> chunks;
|
||||||
|
|
||||||
public Graph(List<NetworkBlockNode> nodes) {
|
public Graph(List<NetworkBlockNode> nodes) {
|
||||||
this.nodes = nodes;
|
this.nodes = nodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Graph(List<NetworkBlockNode> nodes, List<ChunkPos> chunks) {
|
||||||
|
this.nodes = nodes;
|
||||||
|
this.chunks = chunks;
|
||||||
|
}
|
||||||
|
|
||||||
Direction distance(BlockPos bp1, BlockPos bp2) {
|
Direction distance(BlockPos bp1, BlockPos bp2) {
|
||||||
for (Direction dir : Direction.values()) {
|
for (Direction dir : Direction.values()) {
|
||||||
if (bp1.relative(dir).equals(bp2)) return dir;
|
if (bp1.relative(dir).equals(bp2)) return dir;
|
||||||
|
@ -135,6 +143,9 @@ public class CoolantNetworkGraph {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ChunkPos chunk = new ChunkPos(position);
|
||||||
|
if (!chunks.contains(chunk)) chunks.add(chunk);
|
||||||
|
|
||||||
if (foundNode) return true;
|
if (foundNode) return true;
|
||||||
|
|
||||||
// Couldn't add to any existing Node, so create a new one
|
// Couldn't add to any existing Node, so create a new one
|
||||||
|
|
|
@ -6,6 +6,7 @@ import net.minecraft.core.Direction;
|
||||||
import net.minecraft.core.registries.Registries;
|
import net.minecraft.core.registries.Registries;
|
||||||
import net.minecraft.nbt.*;
|
import net.minecraft.nbt.*;
|
||||||
import net.minecraft.server.level.ServerLevel;
|
import net.minecraft.server.level.ServerLevel;
|
||||||
|
import net.minecraft.world.level.ChunkPos;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.saveddata.SavedData;
|
import net.minecraft.world.level.saveddata.SavedData;
|
||||||
import net.minecraftforge.server.ServerLifecycleHooks;
|
import net.minecraftforge.server.ServerLifecycleHooks;
|
||||||
|
@ -24,11 +25,20 @@ public class CoolantNetworksSavedData extends SavedData {
|
||||||
public CoolantNetworksSavedData(List<CoolantNetworkGraph.Graph> networks) { this.networks = networks; }
|
public CoolantNetworksSavedData(List<CoolantNetworkGraph.Graph> networks) { this.networks = networks; }
|
||||||
public CoolantNetworksSavedData() { networks = new ArrayList<>(); }
|
public CoolantNetworksSavedData() { networks = new ArrayList<>(); }
|
||||||
|
|
||||||
|
public List<CoolantNetworkGraph.Graph> getNetworksInChunk(ChunkPos c) {
|
||||||
|
List<CoolantNetworkGraph.Graph> graphs = new ArrayList<>();
|
||||||
|
for (var graph : networks) {
|
||||||
|
if (graph.chunks.contains(c)) graphs.add(graph);
|
||||||
|
}
|
||||||
|
return graphs;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull CompoundTag save(final @NotNull CompoundTag pCompoundTag) {
|
public @NotNull CompoundTag save(final @NotNull CompoundTag pCompoundTag) {
|
||||||
|
|
||||||
ListTag net = new ListTag();
|
ListTag nets = new ListTag();
|
||||||
for (var acc : networks) {
|
for (var acc : networks) {
|
||||||
|
CompoundTag network = new CompoundTag();
|
||||||
ListTag nodes = new ListTag();
|
ListTag nodes = new ListTag();
|
||||||
for (var node : acc.nodes) {
|
for (var node : acc.nodes) {
|
||||||
CompoundTag n = new CompoundTag();
|
CompoundTag n = new CompoundTag();
|
||||||
|
@ -50,10 +60,17 @@ public class CoolantNetworksSavedData extends SavedData {
|
||||||
n.put("transitions", transitions);
|
n.put("transitions", transitions);
|
||||||
nodes.add(n);
|
nodes.add(n);
|
||||||
}
|
}
|
||||||
net.add(nodes);
|
network.put("nodes", nodes);
|
||||||
|
ListTag chunks = new ListTag();
|
||||||
|
for (var chunk : acc.chunks) {
|
||||||
|
chunks.add(NbtUtils.writeBlockPos(chunk.getWorldPosition()));
|
||||||
|
}
|
||||||
|
network.put("chunks", chunks);
|
||||||
|
|
||||||
|
nets.add(network);
|
||||||
}
|
}
|
||||||
|
|
||||||
pCompoundTag.put("networks", net);
|
pCompoundTag.put("networks", nets);
|
||||||
return pCompoundTag;
|
return pCompoundTag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,7 +80,8 @@ public class CoolantNetworksSavedData extends SavedData {
|
||||||
List<CoolantNetworkGraph.Graph> graphs = new ArrayList<>();
|
List<CoolantNetworkGraph.Graph> graphs = new ArrayList<>();
|
||||||
nets.iterator().forEachRemaining(network -> {
|
nets.iterator().forEachRemaining(network -> {
|
||||||
List<CoolantNetworkGraph.NetworkBlockNode> nodes = new ArrayList<>();
|
List<CoolantNetworkGraph.NetworkBlockNode> nodes = new ArrayList<>();
|
||||||
((ListTag) network).iterator().forEachRemaining(node -> {
|
List<ChunkPos> chunks = new ArrayList<>();
|
||||||
|
((CompoundTag) network).getList("nodes", ListTag.TAG_COMPOUND).iterator().forEachRemaining(node -> {
|
||||||
Block type = CoolantNetworkGraph.ValidBlocks.getBlockFor(((CompoundTag) node).getString("type"));
|
Block type = CoolantNetworkGraph.ValidBlocks.getBlockFor(((CompoundTag) node).getString("type"));
|
||||||
Set<BlockPos> positions = new HashSet<>();
|
Set<BlockPos> positions = new HashSet<>();
|
||||||
ListTag poses = ((CompoundTag) node).getList("positions", ListTag.TAG_COMPOUND);
|
ListTag poses = ((CompoundTag) node).getList("positions", ListTag.TAG_COMPOUND);
|
||||||
|
@ -83,7 +101,10 @@ public class CoolantNetworksSavedData extends SavedData {
|
||||||
nodes.add(new CoolantNetworkGraph.NetworkBlockNode((CoolantBaseBlock) type, positions, transitions));
|
nodes.add(new CoolantNetworkGraph.NetworkBlockNode((CoolantBaseBlock) type, positions, transitions));
|
||||||
});
|
});
|
||||||
|
|
||||||
graphs.add(new CoolantNetworkGraph.Graph(nodes));
|
((CompoundTag) network).getList("chunks", ListTag.TAG_COMPOUND).iterator().forEachRemaining(chunk ->
|
||||||
|
chunks.add(new ChunkPos(NbtUtils.readBlockPos((CompoundTag) chunk)))
|
||||||
|
);
|
||||||
|
graphs.add(new CoolantNetworkGraph.Graph(nodes, chunks));
|
||||||
});
|
});
|
||||||
|
|
||||||
return new CoolantNetworksSavedData(graphs);
|
return new CoolantNetworksSavedData(graphs);
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lava_level": {
|
"lava_level": {
|
||||||
"below_top": 3
|
"below_top": 60
|
||||||
},
|
},
|
||||||
"probability": 0.005,
|
"probability": 0.005,
|
||||||
"replaceable": "#minecraft:overworld_carver_replaceables",
|
"replaceable": "#minecraft:overworld_carver_replaceables",
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
"y": {
|
"y": {
|
||||||
"type": "minecraft:uniform",
|
"type": "minecraft:uniform",
|
||||||
"max_inclusive": {
|
"max_inclusive": {
|
||||||
"absolute": 180
|
"absolute": 40
|
||||||
},
|
},
|
||||||
"min_inclusive": {
|
"min_inclusive": {
|
||||||
"above_bottom": 8
|
"above_bottom": 8
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"type": "minecraft:ore",
|
"type": "minecraft:ore",
|
||||||
"config": {
|
"config": {
|
||||||
"discard_chance_on_air_exposure": 0.0,
|
"discard_chance_on_air_exposure": 1.0,
|
||||||
"size": 17,
|
"size": 17,
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
"placement": [
|
"placement": [
|
||||||
{
|
{
|
||||||
"type": "minecraft:count",
|
"type": "minecraft:count",
|
||||||
"count": 30
|
"count": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "minecraft:in_square"
|
"type": "minecraft:in_square"
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
"height": {
|
"height": {
|
||||||
"type": "minecraft:uniform",
|
"type": "minecraft:uniform",
|
||||||
"max_inclusive": {
|
"max_inclusive": {
|
||||||
"below_top": 136
|
"below_top": 40
|
||||||
},
|
},
|
||||||
"min_inclusive": {
|
"min_inclusive": {
|
||||||
"absolute": 15
|
"absolute": 15
|
||||||
|
|
Loading…
Reference in New Issue
Block a user