Merge remote-tracking branch 'origin/1.17' into 1.17
This commit is contained in:
commit
9d2c22bdf9
55 changed files with 691 additions and 35 deletions
10
build.gradle
10
build.gradle
|
@ -84,7 +84,11 @@ dependencies {
|
|||
includeCompile("io.github.BoogieMonster1O1", "OpenWorlds", "c57e3ef")
|
||||
includeCompile("io.github.cottonmc", "LibGui", "3.3.2+1.16.4")
|
||||
includeCompile("me.shedaniel.cloth", "config-2", "5.0.0")
|
||||
includeCompile("io.github.onyxstudios", "Cardinal-Components-API", "3.0.0-nightly.20w48a")
|
||||
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-base", "3.0.0-nightly.21w06a")
|
||||
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-item", "3.0.0-nightly.21w06a")
|
||||
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-level", "3.0.0-nightly.21w06a")
|
||||
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-util", "3.0.0-nightly.21w06a")
|
||||
includeCompile("io.github.onyxstudios.Cardinal-Components-API", "cardinal-components-world", "3.0.0-nightly.21w06a")
|
||||
includeCompile("me.sargunvohra.mcmods", "autoconfig1u", "3.3.1")
|
||||
includeCompile("dev.hephaestus", "seedy-behavior", "1.0.1")
|
||||
|
||||
|
@ -105,7 +109,7 @@ archivesBaseName = "DimensionalDoors"
|
|||
|
||||
static def computeVersion(String version) {
|
||||
if (version.contains("alpha")) {
|
||||
return version + "." + Calendar.getInstance().getTime().format("dd.MM.yyyy")
|
||||
return version + "-" + Calendar.getInstance().getTime().format("dd.MM.yyyy")
|
||||
}
|
||||
return version
|
||||
}
|
||||
|
@ -138,7 +142,7 @@ curseforge {
|
|||
}
|
||||
project {
|
||||
id = '284876'
|
||||
changelog = 'This is a test release. Please back up your worlds before loading this mod. A changelog can be found at https://github.com/DimensionalDevelopment/DimDoors/commits/1.17'
|
||||
changelog = 'FOR TESTING ONLY. A changelog can be found at https://github.com/DimensionalDevelopment/DimDoors/commits/1.17'
|
||||
releaseType = 'alpha'
|
||||
addGameVersion '1.17'
|
||||
mainArtifact(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar")) {
|
||||
|
|
|
@ -4,6 +4,6 @@ loader_version=0.10.8
|
|||
|
||||
fabric_version=0.29.3+1.16
|
||||
|
||||
mod_version=4.0.0+beta
|
||||
mod_version=4.0.0+alpha.1
|
||||
|
||||
org.gradle.jvmargs=-Xmx2048m
|
||||
|
|
|
@ -71,8 +71,6 @@ public final class ModConfig implements ConfigData {
|
|||
public double riftCloseSpeed = 0.005;
|
||||
public double riftGrowthSpeed = 1;
|
||||
public int depthSpreadFactor = 20;
|
||||
@RequiresRestart
|
||||
public boolean useEnderPearlsInCrafting = false;
|
||||
public double endermanSpawnChance = 0.001;
|
||||
public double endermanAggressiveChance = 0.5;
|
||||
}
|
||||
|
|
|
@ -95,13 +95,21 @@ public final class ModItems {
|
|||
}
|
||||
));
|
||||
|
||||
// public static final Item UNSTABLE_DIMENSIONAL_DOOR = register( new DimensionalDoorItem(
|
||||
// ModBlocks.IRON_DIMENSIONAL_DOOR,
|
||||
// new Item.Settings().group(DIMENSIONAL_DOORS).maxCount(1),
|
||||
// rift -> {
|
||||
// TODO
|
||||
// }
|
||||
// ));
|
||||
@RegistryObject("unstable_dimensional_door")
|
||||
public static final Item UNSTABLE_DIMENSIONAL_DOOR = create(new DimensionalDoorItem(
|
||||
ModBlocks.IRON_DIMENSIONAL_DOOR,
|
||||
new Item.Settings().group(DIMENSIONAL_DOORS).maxCount(1),
|
||||
rift -> rift.setDestination(RandomTarget.builder()
|
||||
.acceptedGroups(Collections.singleton(0))
|
||||
.coordFactor(1)
|
||||
.negativeDepthFactor(80)
|
||||
.positiveDepthFactor(Double.MAX_VALUE)
|
||||
.weightMaximum(100)
|
||||
.noLink(false)
|
||||
.noLinkBack(false)
|
||||
.newRiftWeight(0.5F).build())
|
||||
));
|
||||
|
||||
@RegistryObject("oak_dimensional_door")
|
||||
public static final Item OAK_DIMENSIONAL_DOOR = create(new DimensionalDoorItem(
|
||||
|
|
|
@ -101,7 +101,8 @@ public class SchematicV2Handler {
|
|||
loadJson(directoryPath, directoryIdParts, loader);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
LOGGER.error("could not load pocket data in path " + path.toString() + " due to malformed json.", e);
|
||||
LOGGER.error("Could not load pocket data in path {}", path.toAbsolutePath());
|
||||
LOGGER.error("Stacktrace: ", e);
|
||||
}
|
||||
} else if(Files.isRegularFile(path) && path.getFileName().toString().endsWith(".json")) {
|
||||
String id = String.join("/", idParts);
|
||||
|
@ -109,7 +110,12 @@ public class SchematicV2Handler {
|
|||
JsonElement json = GSON.fromJson(String.join("", Files.readAllLines(path)), JsonElement.class);
|
||||
loader.accept(id, JsonOps.INSTANCE.convertTo(NbtOps.INSTANCE, json));
|
||||
} catch (IOException e) {
|
||||
LOGGER.error("could not load pocket data in path " + path.toString() + " due to malformed json.", e);
|
||||
LOGGER.error("Could not load pocket data in path {}", path.toAbsolutePath());
|
||||
LOGGER.error("Stacktrace: ", e);
|
||||
} catch (RuntimeException e) {
|
||||
LOGGER.error("Error parsing schematic json");
|
||||
LOGGER.error("Erroring path: {}", path.toAbsolutePath());
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,9 +39,9 @@ public abstract class PocketGenerator implements Weighted<PocketGenerationParame
|
|||
private static final int fallbackWeight = 5; // TODO: make config
|
||||
private final List<Modifier> modifierList = new ArrayList<>();
|
||||
|
||||
private String weight;
|
||||
private Equation weightEquation;
|
||||
private Boolean setupLoot;
|
||||
protected String weight;
|
||||
protected Equation weightEquation;
|
||||
protected Boolean setupLoot;
|
||||
|
||||
private final List<String> tags = new ArrayList<>();
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@ import net.minecraft.util.math.BlockPos;
|
|||
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.registry.Registry;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dimdev.dimdoors.block.DimensionalDoorBlock;
|
||||
|
@ -98,6 +100,23 @@ public class DimensionalDoorModifier implements Modifier {
|
|||
return tag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return MoreObjects.toStringHelper(this)
|
||||
.add("facing", facing)
|
||||
.add("doorTypeString", doorTypeString)
|
||||
.add("doorType", doorType)
|
||||
.add("doorData", doorData)
|
||||
.add("doorDataReference", doorDataReference)
|
||||
.add("x", x)
|
||||
.add("y", y)
|
||||
.add("z", z)
|
||||
.add("xEquation", xEquation)
|
||||
.add("yEquation", yEquation)
|
||||
.add("zEquation", zEquation)
|
||||
.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModifierType<? extends Modifier> getType() {
|
||||
return ModifierType.DIMENSIONAL_DOOR_MODIFIER_TYPE;
|
||||
|
|
|
@ -19,7 +19,6 @@ import java.util.function.Supplier;
|
|||
public interface Modifier {
|
||||
Registry<ModifierType<? extends Modifier>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<ModifierType<? extends Modifier>>(RegistryKey.ofRegistry(new Identifier("dimdoors", "modifier_type")), Lifecycle.stable())).buildAndRegister();
|
||||
|
||||
|
||||
static Modifier deserialize(CompoundTag tag) {
|
||||
Identifier id = Identifier.tryParse(tag.getString("type")); // TODO: return some NONE Modifier if type cannot be found or deserialization fails.
|
||||
return REGISTRY.get(id).fromTag(tag);
|
||||
|
|
|
@ -6,6 +6,7 @@ import java.util.Map;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.ListTag;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||
import org.dimdev.dimdoors.rift.registry.PocketEntrancePointer;
|
||||
import org.dimdev.dimdoors.rift.targets.PocketEntranceMarker;
|
||||
|
@ -40,6 +41,12 @@ public class PocketEntranceModifier implements Modifier {
|
|||
return tag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return MoreObjects.toStringHelper(this)
|
||||
.add("id", id)
|
||||
.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ModifierType<? extends Modifier> getType() {
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.util.Optional;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||
import org.dimdev.dimdoors.rift.targets.LocalReference;
|
||||
import org.dimdev.dimdoors.rift.targets.RiftReference;
|
||||
|
@ -55,6 +56,14 @@ public class RelativeReferenceModifier implements Modifier {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return MoreObjects.toStringHelper(this)
|
||||
.add("point_a", point_a)
|
||||
.add("point_b", point_b)
|
||||
.toString();
|
||||
}
|
||||
|
||||
private boolean addLink(RiftBlockEntity rift, RiftReference link) {
|
||||
rift.setDestination(link);
|
||||
return true;
|
||||
|
|
|
@ -11,6 +11,8 @@ import java.util.stream.IntStream;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
|
||||
import net.fabricmc.fabric.api.util.NbtType;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||
import org.dimdev.dimdoors.block.entity.RiftData;
|
||||
import org.dimdev.dimdoors.pockets.SchematicV2Handler;
|
||||
|
@ -70,6 +72,15 @@ public class RiftDataModifier implements Modifier {
|
|||
return KEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return MoreObjects.toStringHelper(this)
|
||||
.add("doorData", doorData)
|
||||
.add("doorDataReference", doorDataReference)
|
||||
.add("ids", ids)
|
||||
.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(PocketGenerationParameters parameters, RiftManager manager) {
|
||||
Map<String, Double> variableMap = manager.getPocket().toVariableMap(new HashMap<>());
|
||||
|
|
|
@ -5,6 +5,7 @@ import java.util.HashMap;
|
|||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.nbt.*;
|
||||
|
@ -97,6 +98,13 @@ public class ShellModifier implements Modifier{
|
|||
pocket.expand(thickness);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return MoreObjects.toStringHelper(this)
|
||||
.add("layers", layers)
|
||||
.toString();
|
||||
}
|
||||
|
||||
public static class Layer {
|
||||
private final String blockStateString;
|
||||
private final String thickness;
|
||||
|
@ -136,4 +144,3 @@ public class ShellModifier implements Modifier{
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package org.dimdev.dimdoors.pockets.virtual.reference;
|
||||
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import org.dimdev.dimdoors.pockets.SchematicV2Handler;
|
||||
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
||||
import org.dimdev.dimdoors.pockets.virtual.VirtualSingularPocket;
|
||||
|
@ -49,4 +51,14 @@ public class IdReference extends PocketGeneratorReference {
|
|||
return KEY;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return MoreObjects.toStringHelper(this)
|
||||
.add("id", id)
|
||||
.add("weight", weight)
|
||||
.add("weightEquation", weightEquation)
|
||||
.add("setupLoot", setupLoot)
|
||||
.add("modifierList", modifierList)
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
package org.dimdev.dimdoors.pockets.virtual.reference;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.ListTag;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
||||
import org.dimdev.dimdoors.pockets.modifier.Modifier;
|
||||
import org.dimdev.dimdoors.pockets.modifier.RiftManager;
|
||||
|
@ -16,17 +15,18 @@ import org.dimdev.dimdoors.util.math.Equation;
|
|||
import org.dimdev.dimdoors.util.math.Equation.EquationParseException;
|
||||
import org.dimdev.dimdoors.world.pocket.Pocket;
|
||||
|
||||
import java.util.List;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.ListTag;
|
||||
|
||||
public abstract class PocketGeneratorReference extends VirtualSingularPocket {
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
private static final String defaultWeightEquation = "5"; // TODO: make config
|
||||
private static final int fallbackWeight = 5; // TODO: make config
|
||||
|
||||
private String weight;
|
||||
private Equation weightEquation;
|
||||
private Boolean setupLoot;
|
||||
private final List<Modifier> modifierList = Lists.newArrayList();
|
||||
protected String weight;
|
||||
protected Equation weightEquation;
|
||||
protected Boolean setupLoot;
|
||||
protected final List<Modifier> modifierList = Lists.newArrayList();
|
||||
|
||||
private void parseWeight() {
|
||||
try {
|
||||
|
@ -80,7 +80,12 @@ public abstract class PocketGeneratorReference extends VirtualSingularPocket {
|
|||
|
||||
@Override
|
||||
public double getWeight(PocketGenerationParameters parameters) {
|
||||
try {
|
||||
return weightEquation != null ? this.weightEquation.apply(parameters.toVariableMap(Maps.newHashMap())) : peekReferencedPocketGenerator(parameters).getWeight(parameters);
|
||||
} catch (RuntimeException e) {
|
||||
LOGGER.error(this.toString());
|
||||
throw new AssertionError(e);
|
||||
}
|
||||
}
|
||||
|
||||
public void applyModifiers(PocketGenerationParameters parameters, RiftManager manager) {
|
||||
|
@ -116,4 +121,7 @@ public abstract class PocketGeneratorReference extends VirtualSingularPocket {
|
|||
public abstract PocketGenerator peekReferencedPocketGenerator(PocketGenerationParameters parameters);
|
||||
|
||||
public abstract PocketGenerator getReferencedPocketGenerator(PocketGenerationParameters parameters);
|
||||
|
||||
@Override
|
||||
public abstract String toString();
|
||||
}
|
||||
|
|
|
@ -4,6 +4,8 @@ import net.fabricmc.fabric.api.util.NbtType;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.nbt.ListTag;
|
||||
import net.minecraft.nbt.StringTag;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import org.dimdev.dimdoors.pockets.SchematicV2Handler;
|
||||
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
||||
import org.dimdev.dimdoors.pockets.virtual.VirtualSingularPocket;
|
||||
|
@ -94,4 +96,18 @@ public class TagReference extends PocketGeneratorReference{
|
|||
if (pockets == null) pockets = SchematicV2Handler.getInstance().getPocketsMatchingTags(required, blackList, exact);
|
||||
return pockets.getNextRandomWeighted(parameters);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return MoreObjects.toStringHelper(this)
|
||||
.add("weight", weight)
|
||||
.add("weightEquation", weightEquation)
|
||||
.add("setupLoot", setupLoot)
|
||||
.add("modifierList", modifierList)
|
||||
.add("required", required)
|
||||
.add("blackList", blackList)
|
||||
.add("exact", exact)
|
||||
.add("pockets", pockets)
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,14 +9,12 @@ import org.dimdev.dimdoors.world.pocket.VirtualLocation;
|
|||
import net.minecraft.nbt.CompoundTag;
|
||||
|
||||
public class PublicPocketTarget extends RestoringTarget {
|
||||
|
||||
private VirtualTarget wrappedDestination = null;
|
||||
|
||||
private PublicPocketTarget(VirtualTarget wrappedDestination) {
|
||||
this.wrappedDestination = wrappedDestination;
|
||||
}
|
||||
|
||||
|
||||
public PublicPocketTarget() {
|
||||
}
|
||||
|
||||
|
|
|
@ -93,6 +93,7 @@ public abstract class VirtualTarget implements Target {
|
|||
VirtualTargetType<PrivatePocketExitTarget> PRIVATE_POCKET_EXIT = register("dimdoors:private_pocket_exit", a -> new PrivatePocketExitTarget(), a -> new CompoundTag(), PrivatePocketExitTarget.COLOR);
|
||||
VirtualTargetType<RelativeReference> RELATIVE = register("dimdoors:relative", RelativeReference::fromTag, RelativeReference::toTag, VirtualTarget.COLOR);
|
||||
VirtualTargetType<IdMarker> ID_MARKER = register("dimdoors:id_marker", IdMarker::fromTag, IdMarker::toTag, VirtualTarget.COLOR);
|
||||
VirtualTargetType<UnstableTarget> UNSTABLE = register("dimdoors:unstable", tag -> new UnstableTarget(), t -> new CompoundTag(), VirtualTarget.COLOR);
|
||||
VirtualTargetType<NoneTarget> NONE = register("dimdoors:none", tag -> NoneTarget.INSTANCE, i -> new CompoundTag(), COLOR);
|
||||
|
||||
T fromTag(CompoundTag tag);
|
||||
|
|
|
@ -109,7 +109,8 @@
|
|||
"commands.dimdoors.saveschem.success": "Pocket %s has been successfully saved",
|
||||
"commands.generic.dimdoors.not_in_pocket_dim": "You must be in a pocket dimension to use this command.",
|
||||
"commands.generic.dimdoors.not_in_pocket": "You must be in a pocket to use this command.",
|
||||
"rifts.unlinked": "This rift doesn't lead anywhere",
|
||||
"rifts.unlinked1": "This rift has closed",
|
||||
"rifts.unlinked2": "This rift doesn't lead anywhere",
|
||||
"rifts.destinations.escape.cannot_escape_limbo": "Nice try, but you'll need to either die or find some eternal fabric to get out of Limbo.",
|
||||
"rifts.destinations.escape.not_in_pocket_dim": "You can only use this to escape from a pocket dimension!",
|
||||
"rifts.destinations.escape.did_not_use_rift": "You didn't use a rift to enter the pocket dimension, so you ended up in Limbo!",
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
},
|
||||
"settings": {
|
||||
"bedrock_floor_position": 0,
|
||||
"bedrock_roof_position": -1,
|
||||
"bedrock_roof_position": -2147483648,
|
||||
"noise_caves_enabled": true,
|
||||
"aquifers_enabled": false,
|
||||
"disable_mob_generation": false,
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"type": "dimdoors:schematic",
|
||||
"id": "v2/custom/cage_monolithless",
|
||||
"setup_loot": true,
|
||||
"modifiers": [
|
||||
{
|
||||
"layers": [
|
||||
{
|
||||
"block_state": "minecraft:barrier",
|
||||
"thickness": "1"
|
||||
}
|
||||
],
|
||||
"type": "dimdoors:shell"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [0],
|
||||
"rift_data": "rift_data/pocket_entrance"
|
||||
}
|
||||
],
|
||||
"offset_x": "1",
|
||||
"offset_y": "1",
|
||||
"offset_z": "1"
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "dimdoors:schematic",
|
||||
"id": "v2/custom/chain_crossing",
|
||||
"modifiers": [
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [0],
|
||||
"rift_data": "rift_data/pocket_entrance"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [1],
|
||||
"rift_data": "rift_data/available_link"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"type": "dimdoors:schematic",
|
||||
"id": "v2/custom/chain_t",
|
||||
"modifiers": [
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [0],
|
||||
"rift_data": "rift_data/pocket_entrance"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [1],
|
||||
"rift_data": "rift_data/available_link"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [2],
|
||||
"rift_data": "rift_data/available_link"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "dimdoors:schematic",
|
||||
"id": "v2/custom/decaying_chain_tunnel",
|
||||
"modifiers": [
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [0],
|
||||
"rift_data": "rift_data/pocket_entrance"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [1],
|
||||
"rift_data": "rift_data/available_link"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "dimdoors:schematic",
|
||||
"id": "v2/custom/line_walker",
|
||||
"modifiers": [
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [0],
|
||||
"rift_data": "rift_data/pocket_entrance"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [1],
|
||||
"rift_data": "rift_data/available_link"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"type": "dimdoors:schematic",
|
||||
"setup_loot": true,
|
||||
"id": "v2/custom/smile_6",
|
||||
"modifiers": [
|
||||
{
|
||||
"layers": [
|
||||
{
|
||||
"block_state": "dimdoors:yellow_ancient_fabric",
|
||||
"thickness": "1"
|
||||
}
|
||||
],
|
||||
"type": "dimdoors:shell"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [0],
|
||||
"rift_data": "rift_data/pocket_entrance"
|
||||
}
|
||||
],
|
||||
"offset_x": "1",
|
||||
"offset_y": "1",
|
||||
"offset_z": "1"
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
"type": "dimdoors:schematic",
|
||||
"id": "v2/custom/white_fabric_maze",
|
||||
"setup_loot": true,
|
||||
"modifiers": [
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [0],
|
||||
"rift_data": "rift_data/pocket_entrance"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [1],
|
||||
"rift_data": "rift_data/available_link"
|
||||
},
|
||||
{
|
||||
"type": "dimdoors:rift_data",
|
||||
"ids": [2],
|
||||
"rift_data": "rift_data/available_link"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -24,7 +24,7 @@
|
|||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/upwards_pillar",
|
||||
"id": "custom/upwards_pillars",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
|
@ -84,5 +84,33 @@
|
|||
{
|
||||
"id": "custom/river_road_twin_bridges",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/white_fabric_maze",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/decaying_chain_tunnel",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/cage_monolithless",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/chain_t",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/line_walker",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/chain_crossing",
|
||||
"type": "dimdoors:id"
|
||||
},
|
||||
{
|
||||
"id": "custom/smile_6",
|
||||
"type": "dimdoors:id"
|
||||
}
|
||||
]
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"#X#"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "dimdoors:gold_door"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:gold_dimensional_door",
|
||||
"count": 1
|
||||
}
|
||||
}
|
17
src/main/resources/data/dimdoors/recipes/gold_door.json
Normal file
17
src/main/resources/data/dimdoors/recipes/gold_door.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "minecraft:gold_ingot"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:gold_door",
|
||||
"count": 3
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"#X#"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "minecraft:iron_door"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:iron_dimensional_door",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"#X#"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "dimdoors:quartz_door"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:quartz_dimensional_door",
|
||||
"count": 1
|
||||
}
|
||||
}
|
17
src/main/resources/data/dimdoors/recipes/quartz_door.json
Normal file
17
src/main/resources/data/dimdoors/recipes/quartz_door.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"##",
|
||||
"##",
|
||||
"##"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "minecraft:quartz"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:quartz_door",
|
||||
"count": 1
|
||||
}
|
||||
}
|
17
src/main/resources/data/dimdoors/recipes/rift_blade.json
Normal file
17
src/main/resources/data/dimdoors/recipes/rift_blade.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shapeless",
|
||||
"ingredients": [
|
||||
{
|
||||
"item": "minecraft:ender_pearl"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:iron_sword"
|
||||
},
|
||||
{
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
],
|
||||
"result": {
|
||||
"item": "dimdoors:rift_blade"
|
||||
}
|
||||
}
|
20
src/main/resources/data/dimdoors/recipes/rift_remover.json
Normal file
20
src/main/resources/data/dimdoors/recipes/rift_remover.json
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"###",
|
||||
"#X#",
|
||||
"###"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "minecraft:gold_ingot"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:rift_remover",
|
||||
"count": 1
|
||||
}
|
||||
}
|
20
src/main/resources/data/dimdoors/recipes/rift_signature.json
Normal file
20
src/main/resources/data/dimdoors/recipes/rift_signature.json
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"###",
|
||||
"#X#",
|
||||
"###"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "minecraft:iron_ingot"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:rift_signature",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"# #",
|
||||
" X ",
|
||||
"# #"
|
||||
],
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
},
|
||||
"#": {
|
||||
"item": "minecraft:diamond"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:rift_stabilizer",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"# #",
|
||||
" X ",
|
||||
"# #"
|
||||
],
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "dimdoors:rift_signature"
|
||||
},
|
||||
"#": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:stabilized_rift_signature",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"#X#"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"item": "minecraft:iron_door"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_eye"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:unstable_dimensional_door",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"#X#"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"tag": "#minecraft:wooden_doors"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:wood_dimensional_door",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"#X"
|
||||
],
|
||||
"key": {
|
||||
"#": {
|
||||
"tag": "#minecraft:wooden_trapdoors"
|
||||
},
|
||||
"X": {
|
||||
"item": "minecraft:ender_pearl"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:wood_dimensional_trapdoor",
|
||||
"count": 1
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"X X",
|
||||
"X X"
|
||||
],
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "dimdoors:world_thread"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:world_thread_boots"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"X X",
|
||||
"XXX",
|
||||
"XXX"
|
||||
],
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "dimdoors:world_thread"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:world_thread_chestplate"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"XXX",
|
||||
"X X"
|
||||
],
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "dimdoors:world_thread"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:world_thread_helmet"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"pattern": [
|
||||
"XXX",
|
||||
"X X",
|
||||
"X X"
|
||||
],
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "dimdoors:world_thread"
|
||||
}
|
||||
},
|
||||
"result": {
|
||||
"item": "dimdoors:world_thread_leggings"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"dimdoors:white_ancient_fabric",
|
||||
"dimdoors:orange_ancient_fabric",
|
||||
"dimdoors:magenta_ancient_fabric",
|
||||
"dimdoors:light_blue_ancient_fabric",
|
||||
"dimdoors:yellow_ancient_fabric",
|
||||
"dimdoors:lime_ancient_fabric",
|
||||
"dimdoors:pink_ancient_fabric",
|
||||
"dimdoors:gray_ancient_fabric",
|
||||
"dimdoors:light_gray_ancient_fabric",
|
||||
"dimdoors:cyan_ancient_fabric",
|
||||
"dimdoors:purple_ancient_fabric",
|
||||
"dimdoors:blue_ancient_fabric",
|
||||
"dimdoors:brown_ancient_fabric",
|
||||
"dimdoors:green_ancient_fabric",
|
||||
"dimdoors:red_ancient_fabric",
|
||||
"dimdoors:black_ancient_fabric"
|
||||
]
|
||||
}
|
21
src/main/resources/data/dimdoors/tags/blocks/fabric.json
Normal file
21
src/main/resources/data/dimdoors/tags/blocks/fabric.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"dimdoors:white_fabric",
|
||||
"dimdoors:orange_fabric",
|
||||
"dimdoors:magenta_fabric",
|
||||
"dimdoors:light_blue_fabric",
|
||||
"dimdoors:yellow_fabric",
|
||||
"dimdoors:lime_fabric",
|
||||
"dimdoors:pink_fabric",
|
||||
"dimdoors:gray_fabric",
|
||||
"dimdoors:light_gray_fabric",
|
||||
"dimdoors:cyan_fabric",
|
||||
"dimdoors:purple_fabric",
|
||||
"dimdoors:blue_fabric",
|
||||
"dimdoors:brown_fabric",
|
||||
"dimdoors:green_fabric",
|
||||
"dimdoors:red_fabric",
|
||||
"dimdoors:black_fabric"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"dimdoors:white_ancient_fabric",
|
||||
"dimdoors:orange_ancient_fabric",
|
||||
"dimdoors:magenta_ancient_fabric",
|
||||
"dimdoors:light_blue_ancient_fabric",
|
||||
"dimdoors:yellow_ancient_fabric",
|
||||
"dimdoors:lime_ancient_fabric",
|
||||
"dimdoors:pink_ancient_fabric",
|
||||
"dimdoors:gray_ancient_fabric",
|
||||
"dimdoors:light_gray_ancient_fabric",
|
||||
"dimdoors:cyan_ancient_fabric",
|
||||
"dimdoors:purple_ancient_fabric",
|
||||
"dimdoors:blue_ancient_fabric",
|
||||
"dimdoors:brown_ancient_fabric",
|
||||
"dimdoors:green_ancient_fabric",
|
||||
"dimdoors:red_ancient_fabric",
|
||||
"dimdoors:black_ancient_fabric"
|
||||
]
|
||||
}
|
21
src/main/resources/data/dimdoors/tags/items/fabric.json
Normal file
21
src/main/resources/data/dimdoors/tags/items/fabric.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"dimdoors:white_fabric",
|
||||
"dimdoors:orange_fabric",
|
||||
"dimdoors:magenta_fabric",
|
||||
"dimdoors:light_blue_fabric",
|
||||
"dimdoors:yellow_fabric",
|
||||
"dimdoors:lime_fabric",
|
||||
"dimdoors:pink_fabric",
|
||||
"dimdoors:gray_fabric",
|
||||
"dimdoors:light_gray_fabric",
|
||||
"dimdoors:cyan_fabric",
|
||||
"dimdoors:purple_fabric",
|
||||
"dimdoors:blue_fabric",
|
||||
"dimdoors:brown_fabric",
|
||||
"dimdoors:green_fabric",
|
||||
"dimdoors:red_fabric",
|
||||
"dimdoors:black_fabric"
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue