I got data gen working again while making signicaint progress on fixing stuff proper.

This commit is contained in:
Waterpicker 2023-07-04 09:14:39 -05:00
parent 027707b71e
commit 7cf04ac6bf
262 changed files with 3025 additions and 297 deletions

View file

@ -14,12 +14,19 @@ subprojects {
silentMojangMappingsLicense()
}
repositories {
maven {
name = 'ParchmentMC'
url = 'https://maven.parchmentmc.org'
}
}
dependencies {
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
// The following line declares the mojmap mappings, you may use other mappings as well
mappings loom.officialMojangMappings()
// The following line declares the yarn mappings you may select this one as well.
// mappings "net.fabricmc:yarn:1.19.4+build.2:v2"
mappings loom.layered() {
officialMojangMappings()
parchment("org.parchmentmc.data:parchment-1.19.3:2023.03.12@zip")
}
}
}

View file

@ -49,6 +49,10 @@ sourceSets {
}
}
processResources {
exclude("*")
}
publishing {
publications {
mavenCommon(MavenPublication) {

View file

@ -130,16 +130,22 @@ public class DimensionalDoors {
ServerPacketHandler.init();
initBuiltinPacks();
ReloadListenerRegistry.register(PackType.SERVER_DATA, PocketLoader.getInstance());
ReloadListenerRegistry.register(PackType.SERVER_DATA, LimboDecay.DecayLoader.getInstance());
ReloadListenerRegistry.register(PackType.SERVER_DATA, DoorRiftDataLoader.getInstance());
// ResourceManagerHelper.registerBuiltinResourcePack(id("default"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().defaultPocketsResourcePackActivationType.asResourcePackActivationType()); TODO:Figure out how to do this multiplat
// ResourceManagerHelper.registerBuiltinResourcePack(id("classic"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().classicPocketsResourcePackActivationType.asResourcePackActivationType());
registerListeners();
SchemFixer.run();
}
@ExpectPlatform
private static void initBuiltinPacks() {
throw new RuntimeException();
}
public static void registerRegistries() {
Targets.registerDefaultTargets();
VirtualTarget.VirtualTargetType.register();
@ -178,4 +184,8 @@ public class DimensionalDoors {
public static DimensionalDoorItemRegistrar getDimensionalDoorItemRegistrar() {
return dimensionalDoorItemRegistrar;
}
public static DimensionalDoorBlockRegistrar getDimensionalDoorBlockRegistrar() {
return dimensionalDoorBlockRegistrar;
}
}

View file

@ -15,13 +15,7 @@ import net.minecraft.world.level.material.FluidState;
import org.dimdev.dimdoors.DimensionalDoors;
public class Location {
public static final Codec<Location> CODEC = RecordCodecBuilder.create(instance -> {
return instance.group(Level.RESOURCE_KEY_CODEC.fieldOf("world").forGetter(location -> {
return location.world;
}), BlockPos.CODEC.fieldOf("pos").forGetter(location -> {
return location.pos;
})).apply(instance, Location::new);
});
public static final Codec<Location> CODEC = RecordCodecBuilder.create(instance -> instance.group(Level.RESOURCE_KEY_CODEC.fieldOf("world").forGetter(location -> location.world), BlockPos.CODEC.fieldOf("pos").forGetter(location -> location.pos)).apply(instance, Location::new));
public final ResourceKey<Level> world;
public final BlockPos pos;

View file

@ -79,7 +79,7 @@ public final class TeleportUtil {
((ExtendedServerPlayNetworkHandler) (serverPlayer.connection)).getDimDoorsPacketHandler().syncPocketAddonsIfNeeded(world, new BlockPos((int) pos.x, (int) pos.y, (int) pos.z));
if (world.dimension() == ModDimensions.DUNGEON) {
serverPlayer.awardStat(ModStats.TIMES_BEEN_TO_DUNGEON.get());
serverPlayer.awardStat(ModStats.TIMES_BEEN_TO_DUNGEON);
}
} else {
if (entity.level.dimension().equals(world.dimension())) {

View file

@ -56,15 +56,14 @@ public class DimensionalDoorBlock extends WaterLoggableDoorBlock implements Rift
@Override
public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) {
if (world.isClientSide || entity instanceof ServerPlayer) {
if (world.isClientSide/* || entity instanceof ServerPlayer*/) {
return;
}
onCollision(state, world, pos, entity, entity.position().subtract(((LastPositionProvider) entity).getLastPos()));
super.entityInside(state, world, pos, entity);
}
@Override
// @Override
public InteractionResult onAfterMovePlayerCollision(BlockState state, ServerLevel world, BlockPos pos, ServerPlayer player, Vec3 positionChange) {
return onCollision(state, world, pos, player, positionChange);
}

View file

@ -19,8 +19,6 @@ import java.io.IOException;
@Environment(EnvType.CLIENT)
public class DimensionalDoorsClient {
public static void init() {
// ModelLoadingRegistry.INSTANCE.registerVariantProvider((manager) -> new DimensionalDoorModelVariantProvider());
MenuRegistry.registerScreenFactory(ModScreenHandlerTypes.TESSELATING_LOOM.get(), TesselatingLoomScreen::new);
ModEntityTypes.initClient();
// ModFluids.initClient();

View file

@ -13,5 +13,6 @@ public class ModEnchants {
public static RegistrySupplier<Enchantment> STRING_THEORY_ENCHANTMENT = ENCHANTMENTS.register("string_theory", () -> new StringTheoryEnchantment(Enchantment.Rarity.UNCOMMON, EnchantmentCategory.WEARABLE, new EquipmentSlot[] {EquipmentSlot.FEET, EquipmentSlot.LEGS, EquipmentSlot.CHEST, EquipmentSlot.HEAD}));
public static void init() {
ENCHANTMENTS.register();
}
}

View file

@ -97,7 +97,7 @@ public class MonolithAggroGoal extends Goal {
this.mob.setAggro(0);
this.target.teleportTo(this.target.getX(), this.target.getY() + 256, this.target.getZ());
this.target.level.playSound(null, new BlockPos(new Vec3i((int) this.target.position().x, (int) this.target.position().y, (int) this.target.position().z)), ModSoundEvents.CRACK.get(), SoundSource.HOSTILE, 13, 1);
this.target.awardStat(ModStats.TIMES_TELEPORTED_BY_MONOLITH.get());
this.target.awardStat(ModStats.TIMES_TELEPORTED_BY_MONOLITH);
ServerPacketHandler.get((ServerPlayer) this.target).sendPacket(new MonolithTeleportParticlesPacket());
}
}

View file

@ -1,30 +1,32 @@
package org.dimdev.dimdoors.entity.stat;
import dev.architectury.registry.registries.DeferredRegister;
import dev.architectury.registry.registries.RegistrySupplier;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.stats.StatFormatter;
import net.minecraft.stats.Stats;
import org.dimdev.dimdoors.DimensionalDoors;
import static net.minecraft.stats.Stats.CUSTOM;
public class ModStats {
public static final DeferredRegister<ResourceLocation> STATS = DeferredRegister.create(DimensionalDoors.MOD_ID, Registries.CUSTOM_STAT);
public static final RegistrySupplier<ResourceLocation> DEATHS_IN_POCKETS = register("deaths_in_pocket", StatFormatter.DEFAULT);
public static final RegistrySupplier<ResourceLocation> TIMES_SENT_TO_LIMBO = register("times_sent_to_limbo", StatFormatter.DEFAULT);
public static final RegistrySupplier<ResourceLocation> TIMES_TELEPORTED_BY_MONOLITH = register("times_teleported_by_monolith", StatFormatter.DEFAULT);
public static final RegistrySupplier<ResourceLocation> TIMES_BEEN_TO_DUNGEON = register("times_been_to_dungeon", StatFormatter.DEFAULT);
public static final ResourceLocation DEATHS_IN_POCKETS = register("deaths_in_pocket", StatFormatter.DEFAULT);
public static final ResourceLocation TIMES_SENT_TO_LIMBO = register("times_sent_to_limbo", StatFormatter.DEFAULT);
public static final ResourceLocation TIMES_TELEPORTED_BY_MONOLITH = register("times_teleported_by_monolith", StatFormatter.DEFAULT);
public static final ResourceLocation TIMES_BEEN_TO_DUNGEON = register("times_been_to_dungeon", StatFormatter.DEFAULT);
private static RegistrySupplier<ResourceLocation> register(String string, StatFormatter statFormatter) {
private static ResourceLocation register(String string, StatFormatter statFormatter) {
ResourceLocation resourceLocation = DimensionalDoors.id(string);
return STATS.register(string, () -> {
Stats.CUSTOM.get(resourceLocation, statFormatter);
return resourceLocation;
});
Registry.register(BuiltInRegistries.CUSTOM_STAT, string, resourceLocation);
CUSTOM.get(resourceLocation, statFormatter);
return resourceLocation;
}
public static void init() {
STATS.register();
// just loads the class
}
}

View file

@ -135,9 +135,9 @@ public abstract class ServerPlayerEntityMixin extends PlayerEntityMixin {
this.doOnDeathStuff(source, ci);
if (ci.isCancelled()) {
if (ModDimensions.isPocketDimension(this.level)) {
this.awardStat(ModStats.DEATHS_IN_POCKETS.get());
this.awardStat(ModStats.DEATHS_IN_POCKETS);
}
this.awardStat(ModStats.TIMES_SENT_TO_LIMBO.get());
this.awardStat(ModStats.TIMES_SENT_TO_LIMBO);
TeleportUtil.teleportRandom(this, ModDimensions.LIMBO_DIMENSION, 512);
//noinspection ConstantConditions
LimboEntranceSource.ofDamageSource(source).broadcast((Player) (Object) this, this.getServer());

View file

@ -236,8 +236,7 @@ public abstract class PocketGenerator implements Weighted<PocketGenerationContex
if (!(pocket instanceof LazyGenerationPocket)) { // should not iterate over that which does not exist & area may be massive, getBlockEntities() might force generation
if (setupLootTables) // temp
pocket.getBlockEntities().forEach((blockPos, blockEntity) -> {
if (/*setupLootTables &&*/ blockEntity instanceof Container) { // comment in if needed
Container inventory = (Container) blockEntity;
if (/*setupLootTables &&*/ blockEntity instanceof Container inventory) { // comment in if needed
if (inventory.isEmpty()) {
if (blockEntity instanceof ChestBlockEntity || blockEntity instanceof DispenserBlockEntity) {
TemplateUtils.setupLootTable(world, blockEntity, inventory, LOGGER);

View file

@ -133,9 +133,10 @@ public class DimensionalDoorModifier extends AbstractLazyCompatibleModifier {
BlockPos pocketOrigin = manager.getPocket().getOrigin();
BlockPos pos = new BlockPos((int) (xEquation.apply(variableMap) + pocketOrigin.getX()), (int) (yEquation.apply(variableMap) + pocketOrigin.getY()), (int) (zEquation.apply(variableMap) + pocketOrigin.getZ()));
BlockState lower = doorType.defaultBlockState().setValue(DimensionalDoorBlock.HALF, DoubleBlockHalf.UPPER).setValue(DimensionalDoorBlock.FACING, facing);
BlockState lower = doorType.defaultBlockState().setValue(DimensionalDoorBlock.HALF, DoubleBlockHalf.LOWER).setValue(DimensionalDoorBlock.FACING, facing);
BlockState upper = doorType.defaultBlockState().setValue(DimensionalDoorBlock.HALF, DoubleBlockHalf.UPPER).setValue(DimensionalDoorBlock.FACING, facing);
EntranceRiftBlockEntity rift = ModBlockEntityTypes.ENTRANCE_RIFT.get().create(pos, lower);
rift.setLevel(parameters.world());
if (doorData == null) {
rift.setDestination(new IdMarker(manager.nextId()));

View file

@ -82,19 +82,19 @@ public abstract class VirtualTarget implements Target {
}
public interface VirtualTargetType<T extends VirtualTarget> {
RegistrySupplier<VirtualTargetType<RandomTarget>> AVAILABLE_LINK = register("dimdoors:available_link",RandomTarget::fromNbt, RandomTarget::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<RandomTarget>> AVAILABLE_LINK = register("dimdoors:available_link", RandomTarget::fromNbt, RandomTarget::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<RandomTarget>> DUNGEON = register("dimdoors:dungeon", DungeonTarget::fromNbt, DungeonTarget::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<VirtualTarget>> ESCAPE = register("dimdoors:escape", EscapeTarget::fromNbt, EscapeTarget::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<VirtualTarget>> GLOBAL = register("dimdoors:global", GlobalReference::fromNbt, GlobalReference::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<EscapeTarget>> ESCAPE = register("dimdoors:escape", EscapeTarget::fromNbt, EscapeTarget::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<GlobalReference>> GLOBAL = register("dimdoors:global", GlobalReference::fromNbt, GlobalReference::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<LimboTarget>> LIMBO = register("dimdoors:limbo", a -> LimboTarget.INSTANCE, a -> new CompoundTag(), VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<VirtualTarget>> LOCAL = register("dimdoors:local", LocalReference::fromNbt, LocalReference::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<VirtualTarget>> PUBLIC_POCKET = register("dimdoors:public_pocket", PublicPocketTarget::fromNbt, PublicPocketTarget::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<VirtualTarget>> POCKET_ENTRANCE = register("dimdoors:pocket_entrance", PocketEntranceMarker::fromNbt, PocketEntranceMarker::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<LocalReference>> LOCAL = register("dimdoors:local", LocalReference::fromNbt, LocalReference::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<PublicPocketTarget>> PUBLIC_POCKET = register("dimdoors:public_pocket", PublicPocketTarget::fromNbt, PublicPocketTarget::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<PocketEntranceMarker>> POCKET_ENTRANCE = register("dimdoors:pocket_entrance", PocketEntranceMarker::fromNbt, PocketEntranceMarker::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<PocketExitMarker>> POCKET_EXIT = register("dimdoors:pocket_exit", a -> new PocketExitMarker(), a -> new CompoundTag(), VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<PrivatePocketTarget>> PRIVATE = register("dimdoors:private", a -> new PrivatePocketTarget(), a -> new CompoundTag(), PrivatePocketExitTarget.COLOR);
RegistrySupplier<VirtualTargetType<PrivatePocketExitTarget>> PRIVATE_POCKET_EXIT = register("dimdoors:private_pocket_exit", a -> new PrivatePocketExitTarget(), a -> new CompoundTag(), PrivatePocketExitTarget.COLOR);
RegistrySupplier<VirtualTargetType<VirtualTarget>> RELATIVE = register("dimdoors:relative", RelativeReference::fromNbt, RelativeReference::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<VirtualTarget>> ID_MARKER = register("dimdoors:id_marker", IdMarker::fromNbt, IdMarker::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<RelativeReference>> RELATIVE = register("dimdoors:relative", RelativeReference::fromNbt, RelativeReference::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<IdMarker>> ID_MARKER = register("dimdoors:id_marker", IdMarker::fromNbt, IdMarker::toNbt, VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<UnstableTarget>> UNSTABLE = register("dimdoors:unstable", nbt -> new UnstableTarget(), t -> new CompoundTag(), VirtualTarget.COLOR);
RegistrySupplier<VirtualTargetType<NoneTarget>> NONE = register("dimdoors:none", nbt -> NoneTarget.INSTANCE, i -> new CompoundTag(), COLOR);
Map<VirtualTargetType<?>, String> TRANSLATION_KEYS = new Object2ObjectArrayMap<>();

View file

@ -2,11 +2,8 @@ package org.dimdev.dimdoors.sound;
import dev.architectury.registry.registries.DeferredRegister;
import dev.architectury.registry.registries.RegistrySupplier;
import net.minecraft.core.registries.Registries;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.item.crafting.RecipeType;
import org.dimdev.dimdoors.DimensionalDoors;
public final class ModSoundEvents {
@ -33,6 +30,7 @@ public final class ModSoundEvents {
}
public static void init() {
SOUND_EVENTS.register();
//just loads the class
}
}

View file

@ -0,0 +1,20 @@
{
"type": "dimdoors:schematic",
"setup_loot": true,
"id": "classic/ruins/broken_pillars",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,20 @@
{
"type": "dimdoors:schematic",
"setup_loot": true,
"id": "classic/ruins/buggy_top_entry",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/collapsed_single_tunnel",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/crumbled_hall",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [3],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/door_totem_ruins",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1,2,3,4,5,6,7,8],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/exit_cube",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/escape"
}
]
}

View file

@ -0,0 +1,24 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/exit_ruins_with_hidden_door",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/escape"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,29 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/heart_of_disorder",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [4],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:relative",
"point_a": 1,
"point_b": 3
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/hot_suspense",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/escape"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/jump_pass",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/rope_bridge",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/ruins_oh_no",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/simple_drop_hall",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,24 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/heart_of_disorder",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/simple_stairs_down",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/simple_stairs_up",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,14 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/small_desert",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/small_exit_prison",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/escape"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/hot_suspense",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1, 2, 3],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,14 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/small_pond",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/spiral_hallway",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/spiral_hallway",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1, 2, 3],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/u_trap_right",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/u_turn_left",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "classic/ruins/u_turn_right",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,104 @@
[
{
"id": "classic/ruins/broken_pillars",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/buggy_top_entry",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/collapsed_single_tunnel",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/crumbled_hall",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/door_totem_ruins",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/exit_cube",
"type": "dimdoors:id",
"weight": 2
},
{
"id": "classic/ruins/exit_ruins_with_hidden_door",
"type": "dimdoors:id",
"weight": 2
},
{
"id": "classic/ruins/heart_of_disorder",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/hot_suspense",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/jump_pass",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/rope_bridge",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/ruins_oh_no",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/simple_drop_hall",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/simple_small_t",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/simple_stairs_down",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/simple_stairs_up",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/small_desert",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/small_exit_prison",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/small_maze",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/small_pond",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/spiral_hallway",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/transfer_tunnel",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/u_trap_right",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/u_turn_right",
"type": "dimdoors:id"
},
{
"id": "classic/ruins/u_turn_left",
"type": "dimdoors:id"
}
]

View file

@ -0,0 +1,6 @@
{
"pack": {
"pack_format": 12,
"description": "The pockets from classic Dimensional Doors"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

View file

@ -0,0 +1,23 @@
{
"type": "dimdoors:schematic",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [
1
],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [
0
],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
],
"id": "dungeon/beach"
}

View file

@ -0,0 +1,23 @@
{
"type": "dimdoors:schematic",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [
0
],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [
1
],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
],
"id": "dungeon/break_block_boom"
}

View file

@ -0,0 +1,27 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/cage_monolithless",
"setup_loot": true,
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"layers": [
{
"block_state": "minecraft:barrier",
"thickness": "1"
}
],
"type": "dimdoors:shell"
},
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
],
"offset_x": "1",
"offset_y": "1",
"offset_z": "1"
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/chain_crossing",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,24 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/chain_t",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/decaying_chain_tunnel",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/freeroam_empty_street",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1, 2, 3],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,15 @@
{
"type": "dimdoors:schematic",
"setup_loot": true,
"id": "dungeon/freeroam_graveyard",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/honey_parkour",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,31 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/lantredom",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:relative",
"point_a": 1,
"point_b": 0,
"connection": "one_way"
},
{
"type": "dimdoors:relative",
"point_a": 3,
"point_b": 2
}
]
}

View file

@ -0,0 +1,30 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/lantredom_end",
"builder": {
"type": "dimdoors:lazy_gen_pocket",
"addons": [
{
"type": "dimdoors:sky",
"world": "minecraft:the_end"
}
]
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:relative",
"point_a": 1,
"point_b": 3
}
]
}

View file

@ -0,0 +1,24 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/lantredom_red",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:relative",
"point_a": 1,
"point_b": 3
}
]
}

View file

@ -0,0 +1,15 @@
{
"type": "dimdoors:schematic",
"setup_loot": true,
"id": "dungeon/lava_trap",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/line_walker",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,24 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/long_corridor",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:relative",
"point_a": 1,
"point_b": 3
}
]
}

View file

@ -0,0 +1,24 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/mob_prison",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [2],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,14 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/monolith_cage",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/party",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,23 @@
{
"type": "dimdoors:schematic",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [
1
],
"rift_data": "dimdoors:rift_data/default_dungeon"
},
{
"type": "dimdoors:rift_data",
"ids": [
0
],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
],
"id": "dungeon/random_arrow_chance"
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/returning_eye",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,14 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/rising_hand",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/river_road_twin_bridges",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/ruins_caged_warps",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
},
{
"type": "dimdoors:rift_data",
"ids": [1, 2, 3],
"rift_data": "dimdoors:rift_data/default_dungeon"
}
]
}

View file

@ -0,0 +1,24 @@
{
"type": "dimdoors:schematic",
"setup_loot": true,
"id": "dungeon/ruins_camp_station",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"layers": [
{
"block_state": "dimdoors:black_ancient_fabric",
"thickness": "1"
}
],
"type": "dimdoors:shell"
},
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

View file

@ -0,0 +1,23 @@
{
"type": "dimdoors:schematic",
"id": "dungeon/ruins_corrupted_endportal",
"builder": {
"type": "dimdoors:lazy_gen_pocket"
},
"modifiers": [
{
"layers": [
{
"block_state": "dimdoors:black_ancient_fabric",
"thickness": "1"
}
],
"type": "dimdoors:shell"
},
{
"type": "dimdoors:rift_data",
"ids": [0],
"rift_data": "dimdoors:rift_data/pocket_entrance"
}
]
}

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