Move all recipes (except dimdoors) to json
This commit is contained in:
parent
a386cef409
commit
3b481c356a
107 changed files with 344 additions and 539 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
package org.dimdev.dimdoors.datagen;public class DimdoorsRecipeProvider {
|
||||||
|
}
|
|
@ -16,6 +16,7 @@ import net.fabricmc.loader.api.ModContainer;
|
||||||
import net.minecraft.resource.ResourceType;
|
import net.minecraft.resource.ResourceType;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
@ -65,7 +66,7 @@ import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class DimensionalDoorsInitializer implements ModInitializer {
|
public class DimensionalDoors implements ModInitializer {
|
||||||
public static List<DimensionalDoorsApi> apiSubscribers = Collections.emptyList();
|
public static List<DimensionalDoorsApi> apiSubscribers = Collections.emptyList();
|
||||||
private static final Supplier<Path> CONFIG_ROOT = () -> FabricLoader.getInstance().getConfigDir().resolve("dimdoors").toAbsolutePath();
|
private static final Supplier<Path> CONFIG_ROOT = () -> FabricLoader.getInstance().getConfigDir().resolve("dimdoors").toAbsolutePath();
|
||||||
private static final ConfigHolder<ModConfig> CONFIG_MANAGER = AutoConfig.register(ModConfig.class, ModConfig.SubRootJanksonConfigSerializer::new);
|
private static final ConfigHolder<ModConfig> CONFIG_MANAGER = AutoConfig.register(ModConfig.class, ModConfig.SubRootJanksonConfigSerializer::new);
|
||||||
|
@ -106,6 +107,10 @@ public class DimensionalDoorsInitializer implements ModInitializer {
|
||||||
return CONFIG_ROOT.get();
|
return CONFIG_ROOT.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Identifier id(String id) {
|
||||||
|
return new Identifier("dimdoors", id);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
apiSubscribers = FabricLoader.getInstance().getEntrypoints("dimdoors:api", DimensionalDoorsApi.class);
|
apiSubscribers = FabricLoader.getInstance().getEntrypoints("dimdoors:api", DimensionalDoorsApi.class);
|
||||||
|
@ -136,8 +141,8 @@ public class DimensionalDoorsInitializer implements ModInitializer {
|
||||||
|
|
||||||
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(PocketLoader.getInstance());
|
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(PocketLoader.getInstance());
|
||||||
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(LimboDecay.DecayLoader.getInstance());
|
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(LimboDecay.DecayLoader.getInstance());
|
||||||
ResourceManagerHelper.registerBuiltinResourcePack(Util.id("default"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().defaultPocketsResourcePackActivationType.asResourcePackActivationType());
|
ResourceManagerHelper.registerBuiltinResourcePack(id("default"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().defaultPocketsResourcePackActivationType.asResourcePackActivationType());
|
||||||
ResourceManagerHelper.registerBuiltinResourcePack(Util.id("classic"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().classicPocketsResourcePackActivationType.asResourcePackActivationType());
|
ResourceManagerHelper.registerBuiltinResourcePack(id("classic"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().classicPocketsResourcePackActivationType.asResourcePackActivationType());
|
||||||
|
|
||||||
registerListeners();
|
registerListeners();
|
||||||
apiSubscribers.forEach(DimensionalDoorsApi::postInitialize);
|
apiSubscribers.forEach(DimensionalDoorsApi::postInitialize);
|
|
@ -3,8 +3,6 @@ package org.dimdev.dimdoors;
|
||||||
import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentFactoryRegistry;
|
import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentFactoryRegistry;
|
||||||
import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentInitializer;
|
import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentInitializer;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
|
||||||
import dev.onyxstudios.cca.api.v3.component.ComponentKey;
|
import dev.onyxstudios.cca.api.v3.component.ComponentKey;
|
||||||
import dev.onyxstudios.cca.api.v3.component.ComponentRegistryV3;
|
import dev.onyxstudios.cca.api.v3.component.ComponentRegistryV3;
|
||||||
import dev.onyxstudios.cca.api.v3.item.ItemComponentFactoryRegistry;
|
import dev.onyxstudios.cca.api.v3.item.ItemComponentFactoryRegistry;
|
||||||
|
@ -18,9 +16,9 @@ import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
|
||||||
|
|
||||||
@SuppressWarnings("UnstableApiUsage")
|
@SuppressWarnings("UnstableApiUsage")
|
||||||
public class DimensionalDoorsComponents implements LevelComponentInitializer, ItemComponentInitializer, ChunkComponentInitializer {
|
public class DimensionalDoorsComponents implements LevelComponentInitializer, ItemComponentInitializer, ChunkComponentInitializer {
|
||||||
public static final ComponentKey<DimensionalRegistry> DIMENSIONAL_REGISTRY_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(Util.id("dimensional_registry"), DimensionalRegistry.class);
|
public static final ComponentKey<DimensionalRegistry> DIMENSIONAL_REGISTRY_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(DimensionalDoors.id("dimensional_registry"), DimensionalRegistry.class);
|
||||||
public static final ComponentKey<CounterComponent> COUNTER_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(Util.id("counter"), CounterComponent.class);
|
public static final ComponentKey<CounterComponent> COUNTER_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(DimensionalDoors.id("counter"), CounterComponent.class);
|
||||||
public static final ComponentKey<ChunkLazilyGeneratedComponent> CHUNK_LAZILY_GENERATED_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(Util.id("chunk_lazily_generated"), ChunkLazilyGeneratedComponent.class);
|
public static final ComponentKey<ChunkLazilyGeneratedComponent> CHUNK_LAZILY_GENERATED_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(DimensionalDoors.id("chunk_lazily_generated"), ChunkLazilyGeneratedComponent.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerLevelComponentFactories(LevelComponentFactoryRegistry registry) {
|
public void registerLevelComponentFactories(LevelComponentFactoryRegistry registry) {
|
||||||
|
|
|
@ -213,7 +213,7 @@ public final class ModConfig implements ConfigData {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Path getConfigPath() {
|
private Path getConfigPath() {
|
||||||
return DimensionalDoorsInitializer.getConfigRoot().resolve(definition.name() + "-config.json5");
|
return DimensionalDoors.getConfigRoot().resolve(definition.name() + "-config.json5");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
package org.dimdev.dimdoors;
|
|
||||||
|
|
||||||
import net.minecraft.util.Identifier;
|
|
||||||
|
|
||||||
public class Util {
|
|
||||||
public static Identifier id(String id) {
|
|
||||||
return new Identifier("dimdoors", id);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -7,7 +7,8 @@ import net.minecraft.client.render.*;
|
||||||
import net.minecraft.client.render.block.entity.EndPortalBlockEntityRenderer;
|
import net.minecraft.client.render.block.entity.EndPortalBlockEntityRenderer;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.client.ModShaders;
|
import org.dimdev.dimdoors.client.ModShaders;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
@ -35,7 +36,7 @@ public final class DimensionalPortalRenderer {
|
||||||
}
|
}
|
||||||
|
|
||||||
static {
|
static {
|
||||||
WARP_PATH = Util.id("textures/other/warp.png");
|
WARP_PATH = DimensionalDoors.id("textures/other/warp.png");
|
||||||
DIMENSIONAL_PORTAL_SHADER = new RenderPhase.Shader(ModShaders::getDimensionalPortal);
|
DIMENSIONAL_PORTAL_SHADER = new RenderPhase.Shader(ModShaders::getDimensionalPortal);
|
||||||
RENDER_LAYER = RenderLayerFactory.create(
|
RENDER_LAYER = RenderLayerFactory.create(
|
||||||
"dimensional_portal",
|
"dimensional_portal",
|
||||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
public class Location {
|
public class Location {
|
||||||
public static final Codec<Location> CODEC = RecordCodecBuilder.create(instance -> {
|
public static final Codec<Location> CODEC = RecordCodecBuilder.create(instance -> {
|
||||||
|
@ -84,7 +84,7 @@ public class Location {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServerWorld getWorld() {
|
public ServerWorld getWorld() {
|
||||||
return DimensionalDoorsInitializer.getServer().getWorld(this.world);
|
return DimensionalDoors.getServer().getWorld(this.world);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static NbtCompound toNbt(Location location) {
|
public static NbtCompound toNbt(Location location) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.util.math.*;
|
import net.minecraft.util.math.*;
|
||||||
import net.minecraft.world.TeleportTarget;
|
import net.minecraft.world.TeleportTarget;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.entity.stat.ModStats;
|
import org.dimdev.dimdoors.entity.stat.ModStats;
|
||||||
import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler;
|
import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler;
|
||||||
import org.dimdev.dimdoors.world.ModDimensions;
|
import org.dimdev.dimdoors.world.ModDimensions;
|
||||||
|
@ -76,11 +76,11 @@ public final class TeleportUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ServerPlayerEntity teleport(ServerPlayerEntity player, Location location) {
|
public static ServerPlayerEntity teleport(ServerPlayerEntity player, Location location) {
|
||||||
return teleport(player, DimensionalDoorsInitializer.getWorld(location.world), location.pos, 0);
|
return teleport(player, DimensionalDoors.getWorld(location.world), location.pos, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ServerPlayerEntity teleport(ServerPlayerEntity player, RotatedLocation location) {
|
public static ServerPlayerEntity teleport(ServerPlayerEntity player, RotatedLocation location) {
|
||||||
return teleport(player, DimensionalDoorsInitializer.getWorld(location.world), location.pos, (int) location.yaw);
|
return teleport(player, DimensionalDoors.getWorld(location.world), location.pos, (int) location.yaw);
|
||||||
}
|
}
|
||||||
public static <E extends Entity> E teleportRandom(E entity, World world, double y) {
|
public static <E extends Entity> E teleportRandom(E entity, World world, double y) {
|
||||||
double scale = ThreadLocalRandom.current().nextGaussian() * ThreadLocalRandom.current().nextInt(90);
|
double scale = ThreadLocalRandom.current().nextGaussian() * ThreadLocalRandom.current().nextInt(90);
|
||||||
|
|
|
@ -3,7 +3,6 @@ package org.dimdev.dimdoors.block;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
|
||||||
import org.dimdev.dimdoors.entity.limbo.LimboExitReason;
|
import org.dimdev.dimdoors.entity.limbo.LimboExitReason;
|
||||||
import org.dimdev.dimdoors.fluid.ModFluids;
|
import org.dimdev.dimdoors.fluid.ModFluids;
|
||||||
import org.dimdev.dimdoors.api.rift.target.EntityTarget;
|
import org.dimdev.dimdoors.api.rift.target.EntityTarget;
|
||||||
|
|
|
@ -7,13 +7,15 @@ import net.minecraft.block.Material;
|
||||||
import net.minecraft.item.ItemPlacementContext;
|
import net.minecraft.item.ItemPlacementContext;
|
||||||
import net.minecraft.tag.TagKey;
|
import net.minecraft.tag.TagKey;
|
||||||
import net.minecraft.util.DyeColor;
|
import net.minecraft.util.DyeColor;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
|
||||||
|
|
||||||
public class FabricBlock extends Block {
|
public class FabricBlock extends Block {
|
||||||
public static final TagKey<Block> BLOCK_TAG = TagKey.of(Registry.BLOCK_KEY, Util.id("fabric"));
|
public static final TagKey<Block> BLOCK_TAG = TagKey.of(Registry.BLOCK_KEY, DimensionalDoors.id("fabric"));
|
||||||
|
|
||||||
FabricBlock(DyeColor color) {
|
FabricBlock(DyeColor color) {
|
||||||
super(FabricBlockSettings.of(Material.STONE, color).strength(1.2F).luminance(15));
|
super(FabricBlockSettings.of(Material.STONE, color).strength(1.2F).luminance(15));
|
||||||
|
|
|
@ -8,7 +8,7 @@ import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.util.Pair;
|
import net.minecraft.util.Pair;
|
||||||
import net.minecraft.util.TypedActionResult;
|
import net.minecraft.util.TypedActionResult;
|
||||||
import net.minecraft.world.explosion.Explosion;
|
import net.minecraft.world.explosion.Explosion;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.block.AfterMoveCollidableBlock;
|
import org.dimdev.dimdoors.api.block.AfterMoveCollidableBlock;
|
||||||
import org.dimdev.dimdoors.api.block.CustomBreakBlock;
|
import org.dimdev.dimdoors.api.block.CustomBreakBlock;
|
||||||
import org.dimdev.dimdoors.api.block.ExplosionConvertibleBlock;
|
import org.dimdev.dimdoors.api.block.ExplosionConvertibleBlock;
|
||||||
|
@ -119,7 +119,7 @@ public class DimensionalDoorBlock extends WaterLoggableDoorBlock implements Rift
|
||||||
|
|
||||||
|
|
||||||
this.getRift(world, pos, state).teleport(entity);
|
this.getRift(world, pos, state).teleport(entity);
|
||||||
if (DimensionalDoorsInitializer.getConfig().getDoorsConfig().closeDoorBehind) {
|
if (DimensionalDoors.getConfig().getDoorsConfig().closeDoorBehind) {
|
||||||
world.setBlockState(top, world.getBlockState(top).with(DoorBlock.OPEN, false));
|
world.setBlockState(top, world.getBlockState(top).with(DoorBlock.OPEN, false));
|
||||||
world.setBlockState(bottom, world.getBlockState(bottom).with(DoorBlock.OPEN, false));
|
world.setBlockState(bottom, world.getBlockState(bottom).with(DoorBlock.OPEN, false));
|
||||||
}
|
}
|
||||||
|
@ -235,7 +235,7 @@ public class DimensionalDoorBlock extends WaterLoggableDoorBlock implements Rift
|
||||||
if (blockEntity instanceof EntranceRiftBlockEntity
|
if (blockEntity instanceof EntranceRiftBlockEntity
|
||||||
&& blockState.get(HALF) == DoubleBlockHalf.LOWER
|
&& blockState.get(HALF) == DoubleBlockHalf.LOWER
|
||||||
&& !(player.isCreative()
|
&& !(player.isCreative()
|
||||||
&& !DimensionalDoorsInitializer.getConfig().getDoorsConfig().placeRiftsInCreativeMode
|
&& !DimensionalDoors.getConfig().getDoorsConfig().placeRiftsInCreativeMode
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
world.setBlockState(blockPos, ModBlocks.DETACHED_RIFT.getDefaultState().with(WATERLOGGED, blockState.get(WATERLOGGED)));
|
world.setBlockState(blockPos, ModBlocks.DETACHED_RIFT.getDefaultState().with(WATERLOGGED, blockState.get(WATERLOGGED)));
|
||||||
|
@ -278,7 +278,7 @@ public class DimensionalDoorBlock extends WaterLoggableDoorBlock implements Rift
|
||||||
|
|
||||||
static {
|
static {
|
||||||
PlayerBlockBreakEvents.AFTER.register((world, player, pos, state, blockEntity) -> {
|
PlayerBlockBreakEvents.AFTER.register((world, player, pos, state, blockEntity) -> {
|
||||||
if (player.isCreative() && !DimensionalDoorsInitializer.getConfig().getDoorsConfig().placeRiftsInCreativeMode) {
|
if (player.isCreative() && !DimensionalDoors.getConfig().getDoorsConfig().placeRiftsInCreativeMode) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (blockEntity instanceof EntranceRiftBlockEntity && state.get(HALF) == DoubleBlockHalf.LOWER) {
|
if (blockEntity instanceof EntranceRiftBlockEntity && state.get(HALF) == DoubleBlockHalf.LOWER) {
|
||||||
|
|
|
@ -15,8 +15,7 @@ import net.minecraft.text.MutableText;
|
||||||
import net.minecraft.text.TranslatableTextContent;
|
import net.minecraft.text.TranslatableTextContent;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
|
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
|
||||||
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
||||||
import org.dimdev.dimdoors.listener.BlockRegistryEntryAddedListener;
|
import org.dimdev.dimdoors.listener.BlockRegistryEntryAddedListener;
|
||||||
|
@ -48,7 +47,7 @@ public class DimensionalDoorBlockRegistrar {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleEntry(Identifier identifier, Block original) {
|
public void handleEntry(Identifier identifier, Block original) {
|
||||||
if (DimensionalDoorsInitializer.getConfig().getDoorsConfig().isAllowed(identifier)) {
|
if (DimensionalDoors.getConfig().getDoorsConfig().isAllowed(identifier)) {
|
||||||
if (!(original instanceof DimensionalDoorBlock) && original instanceof DoorBlock) {
|
if (!(original instanceof DimensionalDoorBlock) && original instanceof DoorBlock) {
|
||||||
register(identifier, original, DimensionalDoorBlockRegistrar::createAutoGenDimensionalDoorBlock);
|
register(identifier, original, DimensionalDoorBlockRegistrar::createAutoGenDimensionalDoorBlock);
|
||||||
} else if (!(original instanceof DimensionalTrapdoorBlock) && original instanceof TrapdoorBlock) {
|
} else if (!(original instanceof DimensionalTrapdoorBlock) && original instanceof TrapdoorBlock) {
|
||||||
|
@ -58,7 +57,7 @@ public class DimensionalDoorBlockRegistrar {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void register(Identifier identifier, Block original, BiFunction<AbstractBlock.Settings, Block, ? extends Block> constructor) {
|
private void register(Identifier identifier, Block original, BiFunction<AbstractBlock.Settings, Block, ? extends Block> constructor) {
|
||||||
Identifier gennedId = Util.id(PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
|
Identifier gennedId = DimensionalDoors.id(PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
|
||||||
Block dimBlock = Registry.register(registry, gennedId, constructor.apply(FabricBlockSettings.copy(original), original));
|
Block dimBlock = Registry.register(registry, gennedId, constructor.apply(FabricBlockSettings.copy(original), original));
|
||||||
ModBlockEntityTypes.ENTRANCE_RIFT.addBlock(dimBlock);
|
ModBlockEntityTypes.ENTRANCE_RIFT.addBlock(dimBlock);
|
||||||
mappedDoorBlocks.put(gennedId, identifier);
|
mappedDoorBlocks.put(gennedId, identifier);
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package org.dimdev.dimdoors.block.door.data;
|
package org.dimdev.dimdoors.block.door.data;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
@ -16,7 +15,7 @@ import com.google.gson.GsonBuilder;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.door.data.condition.AlwaysTrueCondition;
|
import org.dimdev.dimdoors.block.door.data.condition.AlwaysTrueCondition;
|
||||||
import org.dimdev.dimdoors.block.door.data.condition.InverseCondition;
|
import org.dimdev.dimdoors.block.door.data.condition.InverseCondition;
|
||||||
import org.dimdev.dimdoors.block.door.data.condition.WorldMatchCondition;
|
import org.dimdev.dimdoors.block.door.data.condition.WorldMatchCondition;
|
||||||
|
@ -132,7 +131,7 @@ public class DoorDataReader {
|
||||||
), true);
|
), true);
|
||||||
|
|
||||||
public static void read() {
|
public static void read() {
|
||||||
Path doorDir = DimensionalDoorsInitializer.getConfigRoot().resolve("doors");
|
Path doorDir = DimensionalDoors.getConfigRoot().resolve("doors");
|
||||||
|
|
||||||
if (Files.exists(doorDir) && !Files.isDirectory(doorDir)) {
|
if (Files.exists(doorDir) && !Files.isDirectory(doorDir)) {
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -7,15 +7,14 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public interface Condition {
|
public interface Condition {
|
||||||
Registry<ConditionType<?>> REGISTRY = FabricRegistryBuilder.<ConditionType<?>, SimpleRegistry<ConditionType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(Util.id("rift_data_condition")), Lifecycle.stable(), null)).buildAndRegister();
|
Registry<ConditionType<?>> REGISTRY = FabricRegistryBuilder.<ConditionType<?>, SimpleRegistry<ConditionType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(DimensionalDoors.id("rift_data_condition")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
|
|
||||||
boolean matches(EntranceRiftBlockEntity rift);
|
boolean matches(EntranceRiftBlockEntity rift);
|
||||||
|
|
||||||
|
@ -48,11 +47,11 @@ public interface Condition {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerConditionTypes(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerConditionTypes(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <T extends Condition> ConditionType<T> register(String name, Function<JsonObject, T> fromJson) {
|
static <T extends Condition> ConditionType<T> register(String name, Function<JsonObject, T> fromJson) {
|
||||||
return Registry.register(REGISTRY, Util.id(name), json -> fromJson.apply(json));
|
return Registry.register(REGISTRY, DimensionalDoors.id(name), json -> fromJson.apply(json));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import net.minecraft.util.math.random.Random;
|
||||||
|
|
||||||
import net.minecraft.util.math.EulerAngle;
|
import net.minecraft.util.math.EulerAngle;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.api.util.TeleportUtil;
|
import org.dimdev.dimdoors.api.util.TeleportUtil;
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ public class DetachedRiftBlockEntity extends RiftBlockEntity {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!world.isClient() && random.nextFloat() < DimensionalDoorsInitializer.getConfig().getGeneralConfig().endermanSpawnChance) {
|
if (!world.isClient() && random.nextFloat() < DimensionalDoors.getConfig().getGeneralConfig().endermanSpawnChance) {
|
||||||
EndermanEntity enderman = EntityType.ENDERMAN.spawn(
|
EndermanEntity enderman = EntityType.ENDERMAN.spawn(
|
||||||
(ServerWorld) world,
|
(ServerWorld) world,
|
||||||
null,
|
null,
|
||||||
|
@ -60,7 +60,7 @@ public class DetachedRiftBlockEntity extends RiftBlockEntity {
|
||||||
false
|
false
|
||||||
);
|
);
|
||||||
|
|
||||||
if (random.nextDouble() < DimensionalDoorsInitializer.getConfig().getGeneralConfig().endermanAggressiveChance) {
|
if (random.nextDouble() < DimensionalDoors.getConfig().getGeneralConfig().endermanAggressiveChance) {
|
||||||
if (enderman != null) {
|
if (enderman != null) {
|
||||||
enderman.setTarget(world.getClosestPlayer(enderman, 50));
|
enderman.setTarget(world.getClosestPlayer(enderman, 50));
|
||||||
}
|
}
|
||||||
|
@ -69,12 +69,12 @@ public class DetachedRiftBlockEntity extends RiftBlockEntity {
|
||||||
|
|
||||||
if (blockEntity.closing) {
|
if (blockEntity.closing) {
|
||||||
if (blockEntity.size > 0) {
|
if (blockEntity.size > 0) {
|
||||||
blockEntity.size -= DimensionalDoorsInitializer.getConfig().getGeneralConfig().riftCloseSpeed;
|
blockEntity.size -= DimensionalDoors.getConfig().getGeneralConfig().riftCloseSpeed;
|
||||||
} else {
|
} else {
|
||||||
world.removeBlock(pos, false);
|
world.removeBlock(pos, false);
|
||||||
}
|
}
|
||||||
} else if (!blockEntity.stabilized) {
|
} else if (!blockEntity.stabilized) {
|
||||||
blockEntity.size += DimensionalDoorsInitializer.getConfig().getGeneralConfig().riftGrowthSpeed / (blockEntity.size + 1);
|
blockEntity.size += DimensionalDoors.getConfig().getGeneralConfig().riftGrowthSpeed / (blockEntity.size + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.text.MutableText;
|
||||||
import net.minecraft.text.TranslatableTextContent;
|
import net.minecraft.text.TranslatableTextContent;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.CoordinateTransformerBlock;
|
import org.dimdev.dimdoors.block.CoordinateTransformerBlock;
|
||||||
import org.dimdev.dimdoors.block.RiftProvider;
|
import org.dimdev.dimdoors.block.RiftProvider;
|
||||||
import org.dimdev.dimdoors.api.client.DefaultTransformation;
|
import org.dimdev.dimdoors.api.client.DefaultTransformation;
|
||||||
|
@ -92,7 +92,7 @@ public class EntranceRiftBlockEntity extends RiftBlockEntity {
|
||||||
public boolean receiveEntity(Entity entity, Vec3d relativePos, EulerAngle relativeAngle, Vec3d relativeVelocity) {
|
public boolean receiveEntity(Entity entity, Vec3d relativePos, EulerAngle relativeAngle, Vec3d relativeVelocity) {
|
||||||
BlockState state = this.getWorld().getBlockState(this.getPos());
|
BlockState state = this.getWorld().getBlockState(this.getPos());
|
||||||
Block block = state.getBlock();
|
Block block = state.getBlock();
|
||||||
Vec3d targetPos = Vec3d.ofCenter(this.pos).add(Vec3d.of(this.getOrientation().getOpposite().getVector()).multiply(DimensionalDoorsInitializer.getConfig().getGeneralConfig().teleportOffset + 0.01/* slight offset to prevent issues due to mathematical inaccuracies*/));
|
Vec3d targetPos = Vec3d.ofCenter(this.pos).add(Vec3d.of(this.getOrientation().getOpposite().getVector()).multiply(DimensionalDoors.getConfig().getGeneralConfig().teleportOffset + 0.01/* slight offset to prevent issues due to mathematical inaccuracies*/));
|
||||||
/*
|
/*
|
||||||
Unused code that needs to be edited if there are other ways to get to limbo
|
Unused code that needs to be edited if there are other ways to get to limbo
|
||||||
But if it is only dimteleport and going through rifts then this code isn't nessecary
|
But if it is only dimteleport and going through rifts then this code isn't nessecary
|
||||||
|
|
|
@ -12,8 +12,7 @@ import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Hand;
|
import net.minecraft.util.Hand;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.util.RGBA;
|
import org.dimdev.dimdoors.api.util.RGBA;
|
||||||
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||||
|
@ -25,7 +24,7 @@ import java.util.Objects;
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class DetachedRiftBlockEntityRenderer implements BlockEntityRenderer<DetachedRiftBlockEntity> {
|
public class DetachedRiftBlockEntityRenderer implements BlockEntityRenderer<DetachedRiftBlockEntity> {
|
||||||
public static final Identifier TESSERACT_PATH = Util.id("textures/other/tesseract.png");
|
public static final Identifier TESSERACT_PATH = DimensionalDoors.id("textures/other/tesseract.png");
|
||||||
private static final RGBA DEFAULT_COLOR = new RGBA(1, 0.5f, 1, 1);
|
private static final RGBA DEFAULT_COLOR = new RGBA(1, 0.5f, 1, 1);
|
||||||
|
|
||||||
private static final Tesseract TESSERACT = new Tesseract();
|
private static final Tesseract TESSERACT = new Tesseract();
|
||||||
|
@ -42,7 +41,7 @@ public class DetachedRiftBlockEntityRenderer implements BlockEntityRenderer<Deta
|
||||||
matrices.pop();
|
matrices.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DimensionalDoorsInitializer.getConfig().getGraphicsConfig().showRiftCore) {
|
if (DimensionalDoors.getConfig().getGraphicsConfig().showRiftCore) {
|
||||||
this.renderTesseract(vcs.getBuffer(MyRenderLayer.TESSERACT), rift, matrices, tickDelta);
|
this.renderTesseract(vcs.getBuffer(MyRenderLayer.TESSERACT), rift, matrices, tickDelta);
|
||||||
} else {
|
} else {
|
||||||
long timeLeft = RiftBlockEntity.showRiftCoreUntil - System.currentTimeMillis();
|
long timeLeft = RiftBlockEntity.showRiftCoreUntil - System.currentTimeMillis();
|
||||||
|
@ -57,7 +56,7 @@ public class DetachedRiftBlockEntityRenderer implements BlockEntityRenderer<Deta
|
||||||
private void renderCrack(VertexConsumer vc, MatrixStack matrices, DetachedRiftBlockEntity rift) {
|
private void renderCrack(VertexConsumer vc, MatrixStack matrices, DetachedRiftBlockEntity rift) {
|
||||||
matrices.push();
|
matrices.push();
|
||||||
matrices.translate(0.5, 0.5, 0.5);
|
matrices.translate(0.5, 0.5, 0.5);
|
||||||
RiftCrackRenderer.drawCrack(matrices.peek().getPositionMatrix(), vc, 0, CURVE, DimensionalDoorsInitializer.getConfig().getGraphicsConfig().riftSize * rift.size / 150, 0);//0xF1234568L * rift.hashCode());
|
RiftCrackRenderer.drawCrack(matrices.peek().getPositionMatrix(), vc, 0, CURVE, DimensionalDoors.getConfig().getGraphicsConfig().riftSize * rift.size / 150, 0);//0xF1234568L * rift.hashCode());
|
||||||
matrices.pop();
|
matrices.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,8 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.Matrix4f;
|
import net.minecraft.util.math.Matrix4f;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.listener.pocket.PocketListenerUtil;
|
import org.dimdev.dimdoors.listener.pocket.PocketListenerUtil;
|
||||||
import org.dimdev.dimdoors.world.ModDimensions;
|
import org.dimdev.dimdoors.world.ModDimensions;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.addon.SkyAddon;
|
import org.dimdev.dimdoors.world.pocket.type.addon.SkyAddon;
|
||||||
|
@ -17,8 +18,8 @@ import org.dimdev.dimdoors.world.pocket.type.addon.SkyAddon;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class DimensionRenderering {
|
public class DimensionRenderering {
|
||||||
private static final Identifier MOON_RENDER_PATH = Util.id("textures/other/limbo_moon.png");
|
private static final Identifier MOON_RENDER_PATH = DimensionalDoors.id("textures/other/limbo_moon.png");
|
||||||
private static final Identifier SUN_RENDER_PATH = Util.id("textures/other/limbo_sun.png");
|
private static final Identifier SUN_RENDER_PATH = DimensionalDoors.id("textures/other/limbo_sun.png");
|
||||||
|
|
||||||
public static void initClient() {
|
public static void initClient() {
|
||||||
DimensionRenderingRegistry.CloudRenderer noCloudRenderer = context -> {
|
DimensionRenderingRegistry.CloudRenderer noCloudRenderer = context -> {
|
||||||
|
|
|
@ -9,8 +9,7 @@ import net.minecraft.client.util.ModelIdentifier;
|
||||||
import net.minecraft.state.property.Property;
|
import net.minecraft.state.property.Property;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.block.door.DimensionalDoorBlockRegistrar;
|
import org.dimdev.dimdoors.block.door.DimensionalDoorBlockRegistrar;
|
||||||
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
@ -20,13 +19,13 @@ import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class DimensionalDoorModelVariantProvider implements ModelVariantProvider {
|
public class DimensionalDoorModelVariantProvider implements ModelVariantProvider {
|
||||||
private static final Identifier childItem = Util.id("item/child_item");
|
private static final Identifier childItem = DimensionalDoors.id("item/child_item");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable UnbakedModel loadModelVariant(ModelIdentifier modelId, ModelProviderContext context) throws ModelProviderException {
|
public @Nullable UnbakedModel loadModelVariant(ModelIdentifier modelId, ModelProviderContext context) throws ModelProviderException {
|
||||||
Identifier identifier = new Identifier(modelId.getNamespace(), modelId.getPath());
|
Identifier identifier = new Identifier(modelId.getNamespace(), modelId.getPath());
|
||||||
|
|
||||||
DimensionalDoorBlockRegistrar blockRegistrar = DimensionalDoorsInitializer.getDimensionalDoorBlockRegistrar();
|
DimensionalDoorBlockRegistrar blockRegistrar = DimensionalDoors.getDimensionalDoorBlockRegistrar();
|
||||||
if (blockRegistrar.isMapped(identifier)) {
|
if (blockRegistrar.isMapped(identifier)) {
|
||||||
Identifier mapped = blockRegistrar.get(identifier);
|
Identifier mapped = blockRegistrar.get(identifier);
|
||||||
//ModelIdentifier newId = new ModelIdentifier(mapped, modelId.getVariant());
|
//ModelIdentifier newId = new ModelIdentifier(mapped, modelId.getVariant());
|
||||||
|
|
|
@ -1,8 +1,5 @@
|
||||||
package org.dimdev.dimdoors.client;
|
package org.dimdev.dimdoors.client;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
|
||||||
import org.dimdev.dimdoors.entity.MaskEntity;
|
|
||||||
//import software.bernie.geckolib3.model.AnimatedGeoModel;
|
//import software.bernie.geckolib3.model.AnimatedGeoModel;
|
||||||
|
|
||||||
//public class MaskModel extends AnimatedGeoModel<MaskEntity> {
|
//public class MaskModel extends AnimatedGeoModel<MaskEntity> {
|
||||||
|
|
|
@ -2,10 +2,11 @@ package org.dimdev.dimdoors.client;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
|
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
|
||||||
import net.minecraft.client.render.entity.model.EntityModelLayer;
|
import net.minecraft.client.render.entity.model.EntityModelLayer;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
public class ModEntityModelLayers {
|
public class ModEntityModelLayers {
|
||||||
public static EntityModelLayer MONOLITH = new EntityModelLayer(Util.id("monolith"), "body");
|
public static EntityModelLayer MONOLITH = new EntityModelLayer(DimensionalDoors.id("monolith"), "body");
|
||||||
|
|
||||||
public static void initClient() {
|
public static void initClient() {
|
||||||
EntityModelLayerRegistry.registerModelLayer(MONOLITH, MonolithModel::getTexturedModelData);
|
EntityModelLayerRegistry.registerModelLayer(MONOLITH, MonolithModel::getTexturedModelData);
|
||||||
|
|
|
@ -7,7 +7,8 @@ import net.minecraft.client.render.entity.EntityRendererFactory;
|
||||||
import net.minecraft.client.render.entity.MobEntityRenderer;
|
import net.minecraft.client.render.entity.MobEntityRenderer;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.entity.MonolithEntity;
|
import org.dimdev.dimdoors.entity.MonolithEntity;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -17,25 +18,25 @@ import java.util.stream.Stream;
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class MonolithRenderer extends MobEntityRenderer<MonolithEntity, MonolithModel> {
|
public class MonolithRenderer extends MobEntityRenderer<MonolithEntity, MonolithModel> {
|
||||||
public static final List<Identifier> MONOLITH_TEXTURES = Stream.of(
|
public static final List<Identifier> MONOLITH_TEXTURES = Stream.of(
|
||||||
Util.id("textures/mob/monolith/monolith0.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith0.png"),
|
||||||
Util.id("textures/mob/monolith/monolith1.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith1.png"),
|
||||||
Util.id("textures/mob/monolith/monolith2.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith2.png"),
|
||||||
Util.id("textures/mob/monolith/monolith3.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith3.png"),
|
||||||
Util.id("textures/mob/monolith/monolith4.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith4.png"),
|
||||||
Util.id("textures/mob/monolith/monolith5.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith5.png"),
|
||||||
Util.id("textures/mob/monolith/monolith6.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith6.png"),
|
||||||
Util.id("textures/mob/monolith/monolith7.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith7.png"),
|
||||||
Util.id("textures/mob/monolith/monolith8.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith8.png"),
|
||||||
Util.id("textures/mob/monolith/monolith9.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith9.png"),
|
||||||
Util.id("textures/mob/monolith/monolith10.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith10.png"),
|
||||||
Util.id("textures/mob/monolith/monolith11.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith11.png"),
|
||||||
Util.id("textures/mob/monolith/monolith12.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith12.png"),
|
||||||
Util.id("textures/mob/monolith/monolith13.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith13.png"),
|
||||||
Util.id("textures/mob/monolith/monolith14.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith14.png"),
|
||||||
Util.id("textures/mob/monolith/monolith15.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith15.png"),
|
||||||
Util.id("textures/mob/monolith/monolith16.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith16.png"),
|
||||||
Util.id("textures/mob/monolith/monolith17.png"),
|
DimensionalDoors.id("textures/mob/monolith/monolith17.png"),
|
||||||
Util.id("textures/mob/monolith/monolith18.png")
|
DimensionalDoors.id("textures/mob/monolith/monolith18.png")
|
||||||
).collect(Collectors.toList());
|
).collect(Collectors.toList());
|
||||||
|
|
||||||
private static MonolithModel INSTANCE;
|
private static MonolithModel INSTANCE;
|
||||||
|
|
|
@ -7,7 +7,8 @@ import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.client.render.*;
|
import net.minecraft.client.render.*;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.random.Random;
|
import net.minecraft.util.math.random.Random;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.client.RenderLayerFactory;
|
import org.dimdev.dimdoors.api.client.RenderLayerFactory;
|
||||||
|
|
||||||
import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_DST_COLOR;
|
import static org.lwjgl.opengl.GL11.GL_ONE_MINUS_DST_COLOR;
|
||||||
|
@ -15,10 +16,10 @@ import static org.lwjgl.opengl.GL11.GL_ZERO;
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
public class MyRenderLayer extends RenderLayer {
|
public class MyRenderLayer extends RenderLayer {
|
||||||
public static final Identifier WARP_PATH = Util.id("textures/other/warp.png");
|
public static final Identifier WARP_PATH = DimensionalDoors.id("textures/other/warp.png");
|
||||||
public static final VectorNi COLORLESS = new VectorNi(255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255);
|
public static final VectorNi COLORLESS = new VectorNi(255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255);
|
||||||
private static final Identifier KEY_PATH = Util.id("textures/other/keyhole.png");
|
private static final Identifier KEY_PATH = DimensionalDoors.id("textures/other/keyhole.png");
|
||||||
private static final Identifier KEYHOLE_LIGHT = Util.id("textures/other/keyhole_light.png");
|
private static final Identifier KEYHOLE_LIGHT = DimensionalDoors.id("textures/other/keyhole_light.png");
|
||||||
private static final Random RANDOM = Random.create(31100L);
|
private static final Random RANDOM = Random.create(31100L);
|
||||||
|
|
||||||
public MyRenderLayer(String string, VertexFormat vertexFormat, VertexFormat.DrawMode drawMode, int j, boolean bl, boolean bl2, Runnable runnable, Runnable runnable2) {
|
public MyRenderLayer(String string, VertexFormat vertexFormat, VertexFormat.DrawMode drawMode, int j, boolean bl, boolean bl2, Runnable runnable, Runnable runnable2) {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package org.dimdev.dimdoors.client;
|
package org.dimdev.dimdoors.client;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import net.minecraft.client.render.VertexConsumer;
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
import net.minecraft.util.Util;
|
import net.minecraft.util.Util;
|
||||||
|
@ -34,7 +34,7 @@ public final class RiftCrackRenderer {
|
||||||
float time = ((Util.getEpochTimeMs() + riftRandom) % 2000000) * motionSpeed;
|
float time = ((Util.getEpochTimeMs() + riftRandom) % 2000000) * motionSpeed;
|
||||||
double[] jitters = new double[jCount];
|
double[] jitters = new double[jCount];
|
||||||
|
|
||||||
double jitterScale = DimensionalDoorsInitializer.getConfig().getGraphicsConfig().riftJitter * size * size * size / 2000f;
|
double jitterScale = DimensionalDoors.getConfig().getGraphicsConfig().riftJitter * size * size * size / 2000f;
|
||||||
// We use random constants here on purpose just to get different wave forms
|
// We use random constants here on purpose just to get different wave forms
|
||||||
double xJitter = jitterScale * Math.sin(1.1f * time*size) * Math.sin(0.8f * time);
|
double xJitter = jitterScale * Math.sin(1.1f * time*size) * Math.sin(0.8f * time);
|
||||||
double yJitter = jitterScale * Math.sin(1.2f * time*size) * Math.sin(0.9f * time);
|
double yJitter = jitterScale * Math.sin(1.2f * time*size) * Math.sin(0.9f * time);
|
||||||
|
|
|
@ -13,10 +13,12 @@ import net.minecraft.screen.slot.Slot;
|
||||||
import net.minecraft.screen.slot.SlotActionType;
|
import net.minecraft.screen.slot.SlotActionType;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.screen.TesselatingScreenHandler;
|
import org.dimdev.dimdoors.screen.TesselatingScreenHandler;
|
||||||
|
|
||||||
public class TesselatingLoomScreen extends HandledScreen<TesselatingScreenHandler> implements RecipeBookProvider {
|
public class TesselatingLoomScreen extends HandledScreen<TesselatingScreenHandler> implements RecipeBookProvider {
|
||||||
private static final Identifier TEXTURE = new Identifier("dimdoors", "textures/screen/container/tesselating_loom.png");
|
private static final Identifier TEXTURE = DimensionalDoors.id("textures/screen/container/tesselating_loom.png");
|
||||||
private static final Identifier RECIPE_BUTTON_TEXTURE = new Identifier("textures/gui/recipe_button.png");
|
private static final Identifier RECIPE_BUTTON_TEXTURE = new Identifier("textures/gui/recipe_button.png");
|
||||||
|
|
||||||
private final RecipeBookWidget recipeBook = new RecipeBookWidget();
|
private final RecipeBookWidget recipeBook = new RecipeBookWidget();
|
||||||
|
|
|
@ -8,7 +8,8 @@ import net.minecraft.text.MutableText;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.text.TranslatableTextContent;
|
import net.minecraft.text.TranslatableTextContent;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
|
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
|
||||||
|
|
||||||
|
@ -18,7 +19,7 @@ import java.util.Objects;
|
||||||
public enum EntranceRiftProvider implements IBlockComponentProvider {
|
public enum EntranceRiftProvider implements IBlockComponentProvider {
|
||||||
INSTANCE;
|
INSTANCE;
|
||||||
|
|
||||||
private static final Identifier ID = Util.id("entrance_rift_provider");
|
private static final Identifier ID = DimensionalDoors.id("entrance_rift_provider");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void appendBody(ITooltip tooltip, IBlockAccessor accessor, IPluginConfig config) {
|
public void appendBody(ITooltip tooltip, IBlockAccessor accessor, IPluginConfig config) {
|
||||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.server.command.ServerCommandSource;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.text.MutableText;
|
import net.minecraft.text.MutableText;
|
||||||
import net.minecraft.text.TranslatableTextContent;
|
import net.minecraft.text.TranslatableTextContent;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.pockets.PocketTemplate;
|
import org.dimdev.dimdoors.pockets.PocketTemplate;
|
||||||
import org.dimdev.dimdoors.util.schematic.Schematic;
|
import org.dimdev.dimdoors.util.schematic.Schematic;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ import java.util.function.Consumer;
|
||||||
public class WorldeditHelper {
|
public class WorldeditHelper {
|
||||||
static int load(ServerCommandSource source, PocketTemplate template) throws CommandSyntaxException {
|
static int load(ServerCommandSource source, PocketTemplate template) throws CommandSyntaxException {
|
||||||
ServerPlayerEntity player = source.getPlayer();
|
ServerPlayerEntity player = source.getPlayer();
|
||||||
boolean async = DimensionalDoorsInitializer.getConfig().getPocketsConfig().asyncWorldEditPocketLoading;
|
boolean async = DimensionalDoors.getConfig().getPocketsConfig().asyncWorldEditPocketLoading;
|
||||||
Consumer<Runnable> taskAcceptor = async ? r -> source.getServer().execute(r) : Runnable::run;
|
Consumer<Runnable> taskAcceptor = async ? r -> source.getServer().execute(r) : Runnable::run;
|
||||||
Runnable task = () -> {
|
Runnable task = () -> {
|
||||||
NbtCompound nbt = Schematic.toNbt(template.getSchematic());
|
NbtCompound nbt = Schematic.toNbt(template.getSchematic());
|
||||||
|
|
|
@ -7,10 +7,11 @@ import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer;
|
||||||
import net.minecraft.predicate.entity.EntityPredicate;
|
import net.minecraft.predicate.entity.EntityPredicate;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
public class PocketSpawnPointSetCondition extends AbstractCriterion<PocketSpawnPointSetCondition.Conditions> {
|
public class PocketSpawnPointSetCondition extends AbstractCriterion<PocketSpawnPointSetCondition.Conditions> {
|
||||||
public static final Identifier ID = Util.id("pocket_spawn_point_set");
|
public static final Identifier ID = DimensionalDoors.id("pocket_spawn_point_set");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {
|
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {
|
||||||
|
|
|
@ -7,10 +7,11 @@ import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer;
|
||||||
import net.minecraft.predicate.entity.EntityPredicate;
|
import net.minecraft.predicate.entity.EntityPredicate;
|
||||||
import net.minecraft.server.network.ServerPlayerEntity;
|
import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
public class RiftTrackedCriterion extends AbstractCriterion<RiftTrackedCriterion.Conditions> {
|
public class RiftTrackedCriterion extends AbstractCriterion<RiftTrackedCriterion.Conditions> {
|
||||||
public static final Identifier ID = Util.id("rift_tracked");
|
public static final Identifier ID = DimensionalDoors.id("rift_tracked");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {
|
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {
|
||||||
|
|
|
@ -12,12 +12,13 @@ import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.tag.TagKey;
|
import net.minecraft.tag.TagKey;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class TagBlockBreakCriteria extends AbstractCriterion<TagBlockBreakCriteria.Conditions> {
|
public class TagBlockBreakCriteria extends AbstractCriterion<TagBlockBreakCriteria.Conditions> {
|
||||||
public static final Identifier ID = Util.id("tag_block_break");
|
public static final Identifier ID = DimensionalDoors.id("tag_block_break");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {
|
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {
|
||||||
|
|
|
@ -3,7 +3,9 @@ package org.dimdev.dimdoors.enchantment;
|
||||||
import net.minecraft.enchantment.Enchantment;
|
import net.minecraft.enchantment.Enchantment;
|
||||||
import net.minecraft.enchantment.EnchantmentTarget;
|
import net.minecraft.enchantment.EnchantmentTarget;
|
||||||
import net.minecraft.entity.EquipmentSlot;
|
import net.minecraft.entity.EquipmentSlot;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
public class ModEnchants {
|
public class ModEnchants {
|
||||||
|
@ -12,7 +14,7 @@ public class ModEnchants {
|
||||||
public static void init() {
|
public static void init() {
|
||||||
STRING_THEORY_ENCHANTMENT = Registry.register(
|
STRING_THEORY_ENCHANTMENT = Registry.register(
|
||||||
Registry.ENCHANTMENT,
|
Registry.ENCHANTMENT,
|
||||||
Util.id("string_theory"),
|
DimensionalDoors.id("string_theory"),
|
||||||
new StringTheoryEnchantment(Enchantment.Rarity.UNCOMMON, EnchantmentTarget.WEARABLE, new EquipmentSlot[] {EquipmentSlot.FEET, EquipmentSlot.LEGS, EquipmentSlot.CHEST, EquipmentSlot.HEAD})
|
new StringTheoryEnchantment(Enchantment.Rarity.UNCOMMON, EnchantmentTarget.WEARABLE, new EquipmentSlot[] {EquipmentSlot.FEET, EquipmentSlot.LEGS, EquipmentSlot.CHEST, EquipmentSlot.HEAD})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import net.minecraft.util.math.random.Random;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.util.NbtType;
|
import net.fabricmc.fabric.api.util.NbtType;
|
||||||
import net.minecraft.util.math.Box;
|
import net.minecraft.util.math.Box;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.entity.ai.MonolithAggroGoal;
|
import org.dimdev.dimdoors.entity.ai.MonolithAggroGoal;
|
||||||
import org.dimdev.dimdoors.item.ModItems;
|
import org.dimdev.dimdoors.item.ModItems;
|
||||||
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
||||||
|
@ -72,7 +72,7 @@ public class MonolithEntity extends MobEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isDangerous() {
|
public boolean isDangerous() {
|
||||||
return DimensionalDoorsInitializer.getConfig().getMonolithsConfig().monolithTeleportation && (ModDimensions.isLimboDimension(this.world) || DimensionalDoorsInitializer.getConfig().getMonolithsConfig().dangerousLimboMonoliths);
|
return DimensionalDoors.getConfig().getMonolithsConfig().monolithTeleportation && (ModDimensions.isLimboDimension(this.world) || DimensionalDoors.getConfig().getMonolithsConfig().dangerousLimboMonoliths);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -8,7 +8,7 @@ import net.minecraft.server.network.ServerPlayerEntity;
|
||||||
import net.minecraft.sound.SoundCategory;
|
import net.minecraft.sound.SoundCategory;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.random.Random;
|
import net.minecraft.util.math.random.Random;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.entity.MonolithEntity;
|
import org.dimdev.dimdoors.entity.MonolithEntity;
|
||||||
import org.dimdev.dimdoors.entity.stat.ModStats;
|
import org.dimdev.dimdoors.entity.stat.ModStats;
|
||||||
import org.dimdev.dimdoors.item.ModItems;
|
import org.dimdev.dimdoors.item.ModItems;
|
||||||
|
@ -92,7 +92,7 @@ public class MonolithAggroGoal extends Goal {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Teleport the target player if various conditions are met
|
// Teleport the target player if various conditions are met
|
||||||
if (this.mob.getAggro() >= MAX_AGGRO && DimensionalDoorsInitializer.getConfig().getMonolithsConfig().monolithTeleportation && !this.target.isCreative() && this.mob.isDangerous()) {
|
if (this.mob.getAggro() >= MAX_AGGRO && DimensionalDoors.getConfig().getMonolithsConfig().monolithTeleportation && !this.target.isCreative() && this.mob.isDangerous()) {
|
||||||
this.mob.setAggro(0);
|
this.mob.setAggro(0);
|
||||||
this.target.teleport(this.target.getX(), this.target.getY() + 256, this.target.getZ());
|
this.target.teleport(this.target.getX(), this.target.getY() + 256, this.target.getZ());
|
||||||
this.target.world.playSound(null, new BlockPos(this.target.getPos()), ModSoundEvents.CRACK, SoundCategory.HOSTILE, 13, 1);
|
this.target.world.playSound(null, new BlockPos(this.target.getPos()), ModSoundEvents.CRACK, SoundCategory.HOSTILE, 13, 1);
|
||||||
|
|
|
@ -19,7 +19,8 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.world.BlockRenderView;
|
import net.minecraft.world.BlockRenderView;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
|
@ -35,7 +36,7 @@ public class ModFluids {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void initClient() {
|
public static void initClient() {
|
||||||
setupFluidRendering(ModFluids.ETERNAL_FLUID, ModFluids.FLOWING_ETERNAL_FLUID, Util.id("eternal_fluid"));
|
setupFluidRendering(ModFluids.ETERNAL_FLUID, ModFluids.FLOWING_ETERNAL_FLUID, DimensionalDoors.id("eternal_fluid"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.text.TranslatableTextContent;
|
||||||
import net.minecraft.util.ActionResult;
|
import net.minecraft.util.ActionResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.block.RiftProvider;
|
import org.dimdev.dimdoors.block.RiftProvider;
|
||||||
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
||||||
|
@ -64,7 +64,7 @@ public class DimensionalDoorItem extends BlockItem {
|
||||||
|
|
||||||
if (context.getWorld().isClient) {
|
if (context.getWorld().isClient) {
|
||||||
context.getPlayer().sendMessage(MutableText.of(new TranslatableTextContent("rifts.entrances.rift_too_close")), true);
|
context.getPlayer().sendMessage(MutableText.of(new TranslatableTextContent("rifts.entrances.rift_too_close")), true);
|
||||||
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoors.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ActionResult.FAIL;
|
return ActionResult.FAIL;
|
||||||
|
|
|
@ -21,8 +21,7 @@ import net.minecraft.util.math.Vec3f;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import org.apache.commons.lang3.tuple.ImmutableTriple;
|
import org.apache.commons.lang3.tuple.ImmutableTriple;
|
||||||
import org.apache.commons.lang3.tuple.Triple;
|
import org.apache.commons.lang3.tuple.Triple;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.util.function.QuadFunction;
|
import org.dimdev.dimdoors.api.util.function.QuadFunction;
|
||||||
import org.dimdev.dimdoors.block.door.DimensionalDoorBlock;
|
import org.dimdev.dimdoors.block.door.DimensionalDoorBlock;
|
||||||
import org.dimdev.dimdoors.block.door.DimensionalTrapdoorBlock;
|
import org.dimdev.dimdoors.block.door.DimensionalTrapdoorBlock;
|
||||||
|
@ -69,7 +68,7 @@ public class DimensionalDoorItemRegistrar {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleEntry(Identifier identifier, Item original) {
|
public void handleEntry(Identifier identifier, Item original) {
|
||||||
if (DimensionalDoorsInitializer.getConfig().getDoorsConfig().isAllowed(identifier)) {
|
if (DimensionalDoors.getConfig().getDoorsConfig().isAllowed(identifier)) {
|
||||||
if (original instanceof TallBlockItem) {
|
if (original instanceof TallBlockItem) {
|
||||||
Block block = ((TallBlockItem) original).getBlock();
|
Block block = ((TallBlockItem) original).getBlock();
|
||||||
handleEntry(identifier, original, block, AutoGenDimensionalDoorItem::new);
|
handleEntry(identifier, original, block, AutoGenDimensionalDoorItem::new);
|
||||||
|
@ -113,7 +112,7 @@ public class DimensionalDoorItemRegistrar {
|
||||||
|
|
||||||
private void register(Identifier identifier, Item original, Block block, Function<Block, BlockItem> dimItem) {
|
private void register(Identifier identifier, Item original, Block block, Function<Block, BlockItem> dimItem) {
|
||||||
if (!DoorData.PARENT_ITEMS.contains(original)) {
|
if (!DoorData.PARENT_ITEMS.contains(original)) {
|
||||||
Identifier gennedId = Util.id(PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
|
Identifier gennedId = DimensionalDoors.id(PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
|
||||||
BlockItem item = Registry.register(registry, gennedId, dimItem.apply(block));
|
BlockItem item = Registry.register(registry, gennedId, dimItem.apply(block));
|
||||||
placementFunctions.put(original, item::place);
|
placementFunctions.put(original, item::place);
|
||||||
if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {
|
if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {
|
||||||
|
|
|
@ -5,7 +5,8 @@ import net.minecraft.block.Block;
|
||||||
import net.minecraft.entity.EquipmentSlot;
|
import net.minecraft.entity.EquipmentSlot;
|
||||||
import net.minecraft.item.*;
|
import net.minecraft.item.*;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.entity.ModEntityTypes;
|
import org.dimdev.dimdoors.entity.ModEntityTypes;
|
||||||
import org.dimdev.dimdoors.fluid.ModFluids;
|
import org.dimdev.dimdoors.fluid.ModFluids;
|
||||||
|
@ -24,7 +25,7 @@ public final class ModItems {
|
||||||
public static final Registry<Item> REGISTRY = Registry.ITEM;
|
public static final Registry<Item> REGISTRY = Registry.ITEM;
|
||||||
|
|
||||||
public static final ItemGroup DIMENSIONAL_DOORS = FabricItemGroupBuilder
|
public static final ItemGroup DIMENSIONAL_DOORS = FabricItemGroupBuilder
|
||||||
.create(Util.id("dimensional_doors"))
|
.create(DimensionalDoors.id("dimensional_doors"))
|
||||||
.icon(() -> new ItemStack(ModItems.RIFT_BLADE))
|
.icon(() -> new ItemStack(ModItems.RIFT_BLADE))
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ import net.minecraft.util.hit.HitResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.DimensionalPortalBlock;
|
import org.dimdev.dimdoors.block.DimensionalPortalBlock;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
||||||
|
@ -74,7 +74,7 @@ public class RiftBladeItem extends SwordItem {
|
||||||
return new TypedActionResult<>(ActionResult.SUCCESS, stack);
|
return new TypedActionResult<>(ActionResult.SUCCESS, stack);
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".rift_miss")), true);
|
player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".rift_miss")), true);
|
||||||
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoors.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
||||||
return new TypedActionResult<>(ActionResult.FAIL, stack);
|
return new TypedActionResult<>(ActionResult.FAIL, stack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,6 @@ import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.loot.context.LootContext;
|
import net.minecraft.loot.context.LootContext;
|
||||||
import net.minecraft.loot.context.LootContextParameters;
|
import net.minecraft.loot.context.LootContextParameters;
|
||||||
import net.minecraft.loot.context.LootContextType;
|
|
||||||
import net.minecraft.loot.context.LootContextTypes;
|
import net.minecraft.loot.context.LootContextTypes;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.sound.SoundCategory;
|
import net.minecraft.sound.SoundCategory;
|
||||||
|
@ -24,7 +23,7 @@ import net.minecraft.util.hit.BlockHitResult;
|
||||||
import net.minecraft.util.hit.HitResult;
|
import net.minecraft.util.hit.HitResult;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.client.ToolTipHelper;
|
import org.dimdev.dimdoors.client.ToolTipHelper;
|
||||||
|
@ -35,7 +34,7 @@ import java.util.Objects;
|
||||||
|
|
||||||
public class RiftRemoverItem extends Item {
|
public class RiftRemoverItem extends Item {
|
||||||
public static final String ID = "rift_remover";
|
public static final String ID = "rift_remover";
|
||||||
public static final Identifier REMOVED_RIFT_LOOT_TABLE = new Identifier("dimdoors", "removed_rift");
|
public static final Identifier REMOVED_RIFT_LOOT_TABLE = DimensionalDoors.id("removed_rift");
|
||||||
|
|
||||||
public RiftRemoverItem(Settings settings) {
|
public RiftRemoverItem(Settings settings) {
|
||||||
super(settings);
|
super(settings);
|
||||||
|
@ -55,7 +54,7 @@ public class RiftRemoverItem extends Item {
|
||||||
if (world.isClient) {
|
if (world.isClient) {
|
||||||
if (!RaycastHelper.hitsDetachedRift(hit, world)) {
|
if (!RaycastHelper.hitsDetachedRift(hit, world)) {
|
||||||
player.sendMessage(MutableText.of(new TranslatableTextContent("tools.rift_miss")), true);
|
player.sendMessage(MutableText.of(new TranslatableTextContent("tools.rift_miss")), true);
|
||||||
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoors.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
||||||
}
|
}
|
||||||
return new TypedActionResult<>(ActionResult.FAIL, stack);
|
return new TypedActionResult<>(ActionResult.FAIL, stack);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@ import net.minecraft.util.Hand;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.Location;
|
import org.dimdev.dimdoors.api.util.Location;
|
||||||
import org.dimdev.dimdoors.api.util.RotatedLocation;
|
import org.dimdev.dimdoors.api.util.RotatedLocation;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
|
@ -67,7 +67,7 @@ public class RiftSignatureItem extends Item {
|
||||||
return ActionResult.SUCCESS;
|
return ActionResult.SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(ModDimensions.isPrivatePocketDimension(world) && !DimensionalDoorsInitializer.getConfig().getPocketsConfig().canUseRiftSignatureInPrivatePockets) {
|
if(ModDimensions.isPrivatePocketDimension(world) && !DimensionalDoors.getConfig().getPocketsConfig().canUseRiftSignatureInPrivatePockets) {
|
||||||
player.sendMessage(MutableText.of(new TranslatableTextContent("tools.signature_blocked")).formatted(Formatting.BLACK), true);
|
player.sendMessage(MutableText.of(new TranslatableTextContent("tools.signature_blocked")).formatted(Formatting.BLACK), true);
|
||||||
return ActionResult.FAIL;
|
return ActionResult.FAIL;
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,7 @@ public class RiftSignatureItem extends Item {
|
||||||
clearSource(stack); // TODO: But is this fair? It's a rather hidden way of unbinding your signature!
|
clearSource(stack); // TODO: But is this fair? It's a rather hidden way of unbinding your signature!
|
||||||
return ActionResult.FAIL;
|
return ActionResult.FAIL;
|
||||||
}
|
}
|
||||||
World sourceWorld = DimensionalDoorsInitializer.getWorld(target.world);
|
World sourceWorld = DimensionalDoors.getWorld(target.world);
|
||||||
sourceWorld.setBlockState(target.getBlockPos(), ModBlocks.DETACHED_RIFT.getDefaultState());
|
sourceWorld.setBlockState(target.getBlockPos(), ModBlocks.DETACHED_RIFT.getDefaultState());
|
||||||
DetachedRiftBlockEntity rift1 = (DetachedRiftBlockEntity) target.getBlockEntity();
|
DetachedRiftBlockEntity rift1 = (DetachedRiftBlockEntity) target.getBlockEntity();
|
||||||
rift1.setDestination(RiftReference.tryMakeRelative(target, new Location((ServerWorld) world, pos)));
|
rift1.setDestination(RiftReference.tryMakeRelative(target, new Location((ServerWorld) world, pos)));
|
||||||
|
|
|
@ -16,7 +16,7 @@ import net.minecraft.util.TypedActionResult;
|
||||||
import net.minecraft.util.hit.HitResult;
|
import net.minecraft.util.hit.HitResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
||||||
|
@ -39,7 +39,7 @@ public class RiftStabilizerItem extends Item {
|
||||||
return new TypedActionResult<>(ActionResult.SUCCESS, stack);
|
return new TypedActionResult<>(ActionResult.SUCCESS, stack);
|
||||||
} else {
|
} else {
|
||||||
player.sendMessage(MutableText.of(new TranslatableTextContent("tools.rift_miss")), true);
|
player.sendMessage(MutableText.of(new TranslatableTextContent("tools.rift_miss")), true);
|
||||||
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoors.getConfig().getGraphicsConfig().highlightRiftCoreFor;
|
||||||
return new TypedActionResult<>(ActionResult.FAIL, stack);
|
return new TypedActionResult<>(ActionResult.FAIL, stack);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ import net.minecraft.util.Hand;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.Location;
|
import org.dimdev.dimdoors.api.util.Location;
|
||||||
import org.dimdev.dimdoors.api.util.RotatedLocation;
|
import org.dimdev.dimdoors.api.util.RotatedLocation;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
|
@ -71,7 +71,7 @@ public class StabilizedRiftSignatureItem extends Item { // TODO: common supercla
|
||||||
// Don't clear source, stabilized signatures always stay bound
|
// Don't clear source, stabilized signatures always stay bound
|
||||||
return ActionResult.FAIL;
|
return ActionResult.FAIL;
|
||||||
}
|
}
|
||||||
World targetWorld = DimensionalDoorsInitializer.getWorld(target.world);
|
World targetWorld = DimensionalDoors.getWorld(target.world);
|
||||||
targetWorld.setBlockState(target.getBlockPos(), ModBlocks.DETACHED_RIFT.getDefaultState());
|
targetWorld.setBlockState(target.getBlockPos(), ModBlocks.DETACHED_RIFT.getDefaultState());
|
||||||
DetachedRiftBlockEntity rift1 = (DetachedRiftBlockEntity) target.getBlockEntity();
|
DetachedRiftBlockEntity rift1 = (DetachedRiftBlockEntity) target.getBlockEntity();
|
||||||
rift1.register();
|
rift1.register();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package org.dimdev.dimdoors.listener;
|
package org.dimdev.dimdoors.listener;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.event.UseItemOnBlockCallback;
|
import org.dimdev.dimdoors.api.event.UseItemOnBlockCallback;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
|
||||||
|
@ -19,7 +19,7 @@ public class UseDoorItemOnBlockCallbackListener implements UseItemOnBlockCallbac
|
||||||
public ActionResult useItemOnBlock(PlayerEntity player, World world, Hand hand, BlockHitResult hitResult) {
|
public ActionResult useItemOnBlock(PlayerEntity player, World world, Hand hand, BlockHitResult hitResult) {
|
||||||
if (world.getBlockState(hitResult.getBlockPos()).getBlock() != ModBlocks.DETACHED_RIFT) return ActionResult.PASS;
|
if (world.getBlockState(hitResult.getBlockPos()).getBlock() != ModBlocks.DETACHED_RIFT) return ActionResult.PASS;
|
||||||
ItemStack stack = player.getStackInHand(hand);
|
ItemStack stack = player.getStackInHand(hand);
|
||||||
DimensionalDoorItemRegistrar registrar = DimensionalDoorsInitializer.getDimensionalDoorItemRegistrar();
|
DimensionalDoorItemRegistrar registrar = DimensionalDoors.getDimensionalDoorItemRegistrar();
|
||||||
Item item = stack.getItem();
|
Item item = stack.getItem();
|
||||||
if (registrar.isRegistered(item)) {
|
if (registrar.isRegistered(item)) {
|
||||||
return registrar.place(item, new ItemPlacementContext(player, hand, stack, hitResult));
|
return registrar.place(item, new ItemPlacementContext(player, hand, stack, hitResult));
|
||||||
|
|
|
@ -6,7 +6,7 @@ import net.minecraft.entity.damage.DamageSource;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.mixin.accessor.EntityAccessor;
|
import org.dimdev.dimdoors.mixin.accessor.EntityAccessor;
|
||||||
import org.dimdev.dimdoors.world.ModDimensions;
|
import org.dimdev.dimdoors.world.ModDimensions;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
@ -42,7 +42,7 @@ public abstract class PlayerEntityMixin extends LivingEntity {
|
||||||
|
|
||||||
@Unique
|
@Unique
|
||||||
protected void doOnDeathStuff(DamageSource source, CallbackInfo ci) {
|
protected void doOnDeathStuff(DamageSource source, CallbackInfo ci) {
|
||||||
if (ModDimensions.isPocketDimension(this.world) || DimensionalDoorsInitializer.getConfig().getLimboConfig().universalLimbo) {
|
if (ModDimensions.isPocketDimension(this.world) || DimensionalDoors.getConfig().getLimboConfig().universalLimbo) {
|
||||||
((EntityAccessor) this).setRemovalReason(null);
|
((EntityAccessor) this).setRemovalReason(null);
|
||||||
this.dead = false;
|
this.dead = false;
|
||||||
this.setHealth(this.getMaxHealth());
|
this.setHealth(this.getMaxHealth());
|
||||||
|
|
|
@ -2,8 +2,7 @@ package org.dimdev.dimdoors.mixin.client;
|
||||||
|
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
|
||||||
import org.dimdev.dimdoors.ModConfig;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
|
|
@ -7,8 +7,6 @@ import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
|
||||||
import org.dimdev.dimdoors.ModConfig;
|
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
|
|
@ -1,41 +1,25 @@
|
||||||
package org.dimdev.dimdoors.mixin.client;
|
package org.dimdev.dimdoors.mixin.client;
|
||||||
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
|
||||||
import net.minecraft.client.render.*;
|
import net.minecraft.client.render.*;
|
||||||
import net.minecraft.client.render.model.ModelLoader;
|
import net.minecraft.client.render.model.ModelLoader;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import org.dimdev.dimdoors.client.CustomBreakBlockHandler;
|
import org.dimdev.dimdoors.client.CustomBreakBlockHandler;
|
||||||
import org.dimdev.dimdoors.listener.pocket.PocketListenerUtil;
|
|
||||||
import org.dimdev.dimdoors.world.ModDimensions;
|
|
||||||
import org.dimdev.dimdoors.world.pocket.type.addon.SkyAddon;
|
|
||||||
import org.spongepowered.asm.mixin.Final;
|
import org.spongepowered.asm.mixin.Final;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
|
||||||
import org.spongepowered.asm.mixin.gen.Accessor;
|
|
||||||
import org.spongepowered.asm.mixin.gen.Invoker;
|
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Constant;
|
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.ModifyConstant;
|
|
||||||
import org.spongepowered.asm.mixin.injection.ModifyVariable;
|
|
||||||
import org.spongepowered.asm.mixin.injection.Slice;
|
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import net.minecraft.util.math.Matrix4f;
|
import net.minecraft.util.math.Matrix4f;
|
||||||
import net.minecraft.util.math.Vec3f;
|
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
|
||||||
import net.minecraft.world.World;
|
|
||||||
|
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Mixin(WorldRenderer.class)
|
@Mixin(WorldRenderer.class)
|
||||||
|
|
|
@ -7,14 +7,15 @@ import net.minecraft.util.Hand;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.network.ServerPacketListener;
|
import org.dimdev.dimdoors.network.ServerPacketListener;
|
||||||
import org.dimdev.dimdoors.network.SimplePacket;
|
import org.dimdev.dimdoors.network.SimplePacket;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class HitBlockWithItemC2SPacket implements SimplePacket<ServerPacketListener> {
|
public class HitBlockWithItemC2SPacket implements SimplePacket<ServerPacketListener> {
|
||||||
public static final Identifier ID = Util.id("hit_block_with_item");
|
public static final Identifier ID = DimensionalDoors.id("hit_block_with_item");
|
||||||
|
|
||||||
private Hand hand;
|
private Hand hand;
|
||||||
private BlockPos pos;
|
private BlockPos pos;
|
||||||
|
|
|
@ -2,14 +2,15 @@ package org.dimdev.dimdoors.network.packet.c2s;
|
||||||
|
|
||||||
import net.minecraft.network.PacketByteBuf;
|
import net.minecraft.network.PacketByteBuf;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.network.ServerPacketListener;
|
import org.dimdev.dimdoors.network.ServerPacketListener;
|
||||||
import org.dimdev.dimdoors.network.SimplePacket;
|
import org.dimdev.dimdoors.network.SimplePacket;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class NetworkHandlerInitializedC2SPacket implements SimplePacket<ServerPacketListener> {
|
public class NetworkHandlerInitializedC2SPacket implements SimplePacket<ServerPacketListener> {
|
||||||
public static final Identifier ID = Util.id("network_handler_initialized");
|
public static final Identifier ID = DimensionalDoors.id("network_handler_initialized");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SimplePacket<ServerPacketListener> read(PacketByteBuf buf) throws IOException {
|
public SimplePacket<ServerPacketListener> read(PacketByteBuf buf) throws IOException {
|
||||||
|
|
|
@ -4,14 +4,15 @@ import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.Environment;
|
import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.network.PacketByteBuf;
|
import net.minecraft.network.PacketByteBuf;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.network.SimplePacket;
|
import org.dimdev.dimdoors.network.SimplePacket;
|
||||||
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class MonolithAggroParticlesPacket implements SimplePacket<ClientPacketListener> {
|
public class MonolithAggroParticlesPacket implements SimplePacket<ClientPacketListener> {
|
||||||
public static final Identifier ID = Util.id("monolith_aggro_particles");
|
public static final Identifier ID = DimensionalDoors.id("monolith_aggro_particles");
|
||||||
|
|
||||||
private int aggro;
|
private int aggro;
|
||||||
|
|
||||||
|
|
|
@ -2,14 +2,15 @@ package org.dimdev.dimdoors.network.packet.s2c;
|
||||||
|
|
||||||
import net.minecraft.network.PacketByteBuf;
|
import net.minecraft.network.PacketByteBuf;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.network.SimplePacket;
|
import org.dimdev.dimdoors.network.SimplePacket;
|
||||||
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class MonolithTeleportParticlesPacket implements SimplePacket<ClientPacketListener> {
|
public class MonolithTeleportParticlesPacket implements SimplePacket<ClientPacketListener> {
|
||||||
public static final Identifier ID = Util.id("monolith_tp_particles");
|
public static final Identifier ID = DimensionalDoors.id("monolith_tp_particles");
|
||||||
|
|
||||||
public MonolithTeleportParticlesPacket() {
|
public MonolithTeleportParticlesPacket() {
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,14 +5,15 @@ import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraft.network.PacketByteBuf;
|
import net.minecraft.network.PacketByteBuf;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.network.SimplePacket;
|
import org.dimdev.dimdoors.network.SimplePacket;
|
||||||
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class PlayerInventorySlotUpdateS2CPacket implements SimplePacket<ClientPacketListener> {
|
public class PlayerInventorySlotUpdateS2CPacket implements SimplePacket<ClientPacketListener> {
|
||||||
public static final Identifier ID = Util.id("player_inventory_slot_update");
|
public static final Identifier ID = DimensionalDoors.id("player_inventory_slot_update");
|
||||||
|
|
||||||
private int slot;
|
private int slot;
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
|
|
|
@ -5,14 +5,15 @@ import net.fabricmc.api.Environment;
|
||||||
import net.minecraft.network.PacketByteBuf;
|
import net.minecraft.network.PacketByteBuf;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.network.SimplePacket;
|
import org.dimdev.dimdoors.network.SimplePacket;
|
||||||
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class RenderBreakBlockS2CPacket implements SimplePacket<ClientPacketListener> {
|
public class RenderBreakBlockS2CPacket implements SimplePacket<ClientPacketListener> {
|
||||||
public static final Identifier ID = Util.id("render_break_block");
|
public static final Identifier ID = DimensionalDoors.id("render_break_block");
|
||||||
|
|
||||||
private BlockPos pos;
|
private BlockPos pos;
|
||||||
private int stage;
|
private int stage;
|
||||||
|
|
|
@ -7,7 +7,8 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.network.SimplePacket;
|
import org.dimdev.dimdoors.network.SimplePacket;
|
||||||
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
import org.dimdev.dimdoors.network.client.ClientPacketListener;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddon;
|
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddon;
|
||||||
|
@ -16,7 +17,7 @@ import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class SyncPocketAddonsS2CPacket implements SimplePacket<ClientPacketListener> {
|
public class SyncPocketAddonsS2CPacket implements SimplePacket<ClientPacketListener> {
|
||||||
public static final Identifier ID = Util.id("sync_pocket_addons");
|
public static final Identifier ID = DimensionalDoors.id("sync_pocket_addons");
|
||||||
|
|
||||||
private RegistryKey<World> world;
|
private RegistryKey<World> world;
|
||||||
private int gridSize;
|
private int gridSize;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package org.dimdev.dimdoors.particle;
|
package org.dimdev.dimdoors.particle;
|
||||||
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.particle.client.LimboAshParticle;
|
import org.dimdev.dimdoors.particle.client.LimboAshParticle;
|
||||||
import org.dimdev.dimdoors.particle.client.MonolithParticle;
|
import org.dimdev.dimdoors.particle.client.MonolithParticle;
|
||||||
import org.dimdev.dimdoors.particle.client.RiftParticle;
|
import org.dimdev.dimdoors.particle.client.RiftParticle;
|
||||||
|
@ -7,7 +8,6 @@ import org.dimdev.dimdoors.particle.client.RiftParticleEffect;
|
||||||
|
|
||||||
import net.minecraft.particle.DefaultParticleType;
|
import net.minecraft.particle.DefaultParticleType;
|
||||||
import net.minecraft.particle.ParticleType;
|
import net.minecraft.particle.ParticleType;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
|
@ -21,9 +21,9 @@ public class ModParticleTypes {
|
||||||
public static final DefaultParticleType LIMBO_ASH = FabricParticleTypes.simple(false);
|
public static final DefaultParticleType LIMBO_ASH = FabricParticleTypes.simple(false);
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
Registry.register(Registry.PARTICLE_TYPE, Util.id("monolith"), MONOLITH);
|
Registry.register(Registry.PARTICLE_TYPE, DimensionalDoors.id("monolith"), MONOLITH);
|
||||||
Registry.register(Registry.PARTICLE_TYPE, Util.id("rift"), RIFT);
|
Registry.register(Registry.PARTICLE_TYPE, DimensionalDoors.id("rift"), RIFT);
|
||||||
Registry.register(Registry.PARTICLE_TYPE, Util.id("limbo_ash"), LIMBO_ASH);
|
Registry.register(Registry.PARTICLE_TYPE, DimensionalDoors.id("limbo_ash"), LIMBO_ASH);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Environment(EnvType.CLIENT)
|
@Environment(EnvType.CLIENT)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
package org.dimdev.dimdoors.particle.client;
|
package org.dimdev.dimdoors.particle.client;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.client.MonolithModel;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.client.MonolithRenderer;
|
import org.dimdev.dimdoors.client.MonolithRenderer;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
|
@ -10,13 +10,11 @@ import net.minecraft.client.particle.ParticleFactory;
|
||||||
import net.minecraft.client.particle.ParticleTextureSheet;
|
import net.minecraft.client.particle.ParticleTextureSheet;
|
||||||
import net.minecraft.client.render.Camera;
|
import net.minecraft.client.render.Camera;
|
||||||
import net.minecraft.client.render.OverlayTexture;
|
import net.minecraft.client.render.OverlayTexture;
|
||||||
import net.minecraft.client.render.RenderLayer;
|
|
||||||
import net.minecraft.client.render.VertexConsumer;
|
import net.minecraft.client.render.VertexConsumer;
|
||||||
import net.minecraft.client.render.VertexConsumerProvider;
|
import net.minecraft.client.render.VertexConsumerProvider;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
import net.minecraft.client.util.math.MatrixStack;
|
||||||
import net.minecraft.client.world.ClientWorld;
|
import net.minecraft.client.world.ClientWorld;
|
||||||
import net.minecraft.particle.DefaultParticleType;
|
import net.minecraft.particle.DefaultParticleType;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import net.minecraft.util.math.Vec3f;
|
import net.minecraft.util.math.Vec3f;
|
||||||
|
|
||||||
import net.fabricmc.api.EnvType;
|
import net.fabricmc.api.EnvType;
|
||||||
|
@ -39,7 +37,7 @@ public class MonolithParticle extends Particle {
|
||||||
matrices.scale(-1.0F, -1.0F, 1.0F);
|
matrices.scale(-1.0F, -1.0F, 1.0F);
|
||||||
matrices.translate(0.0D, -1.1009999513626099D, 1.5D);
|
matrices.translate(0.0D, -1.1009999513626099D, 1.5D);
|
||||||
VertexConsumerProvider.Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers();
|
VertexConsumerProvider.Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers();
|
||||||
VertexConsumer vertexConsumer2 = immediate.getBuffer(MonolithRenderer.getInstance().getLayer(Util.id("textures/mob/monolith/monolith14.png")));
|
VertexConsumer vertexConsumer2 = immediate.getBuffer(MonolithRenderer.getInstance().getLayer(DimensionalDoors.id("textures/mob/monolith/monolith14.png")));
|
||||||
MonolithRenderer.getInstance().render(matrices, vertexConsumer2, 0xf000f0, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F);
|
MonolithRenderer.getInstance().render(matrices, vertexConsumer2, 0xf000f0, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F);
|
||||||
immediate.draw();
|
immediate.draw();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@ package org.dimdev.dimdoors.pockets;
|
||||||
|
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
|
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.rift.registry.LinkProperties;
|
import org.dimdev.dimdoors.rift.registry.LinkProperties;
|
||||||
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
|
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
|
||||||
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
|
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
|
||||||
|
@ -12,8 +12,8 @@ import java.util.Map;
|
||||||
public record PocketGenerationContext(ServerWorld world, VirtualLocation sourceVirtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
public record PocketGenerationContext(ServerWorld world, VirtualLocation sourceVirtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
||||||
public Map<String, Double> toVariableMap(Map<String, Double> stringDoubleMap) {
|
public Map<String, Double> toVariableMap(Map<String, Double> stringDoubleMap) {
|
||||||
stringDoubleMap.put("depth", (double) this.sourceVirtualLocation.getDepth());
|
stringDoubleMap.put("depth", (double) this.sourceVirtualLocation.getDepth());
|
||||||
stringDoubleMap.put("public_size", (double) DimensionalDoorsInitializer.getConfig().getPocketsConfig().publicPocketSize);
|
stringDoubleMap.put("public_size", (double) DimensionalDoors.getConfig().getPocketsConfig().publicPocketSize);
|
||||||
stringDoubleMap.put("private_size", (double) DimensionalDoorsInitializer.getConfig().getPocketsConfig().privatePocketSize);
|
stringDoubleMap.put("private_size", (double) DimensionalDoors.getConfig().getPocketsConfig().privatePocketSize);
|
||||||
return stringDoubleMap;
|
return stringDoubleMap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,7 @@ import net.minecraft.server.world.ServerWorld;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.pockets.virtual.reference.PocketGeneratorReference;
|
import org.dimdev.dimdoors.pockets.virtual.reference.PocketGeneratorReference;
|
||||||
import org.dimdev.dimdoors.rift.registry.LinkProperties;
|
import org.dimdev.dimdoors.rift.registry.LinkProperties;
|
||||||
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
|
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
|
||||||
|
@ -16,14 +15,14 @@ import org.dimdev.dimdoors.world.pocket.type.Pocket;
|
||||||
public final class PocketGenerator {
|
public final class PocketGenerator {
|
||||||
private static final Logger LOGGER = LogManager.getLogger();
|
private static final Logger LOGGER = LogManager.getLogger();
|
||||||
|
|
||||||
public static final Identifier ALL_DUNGEONS = Util.id("dungeon");
|
public static final Identifier ALL_DUNGEONS = DimensionalDoors.id("dungeon");
|
||||||
public static final Identifier NETHER_DUNGEONS = Util.id("nether");
|
public static final Identifier NETHER_DUNGEONS = DimensionalDoors.id("nether");
|
||||||
public static final Identifier RUINS_DUNGEONS = Util.id("ruins");
|
public static final Identifier RUINS_DUNGEONS = DimensionalDoors.id("ruins");
|
||||||
public static final Identifier ATLANTIS_DUNGEONS = Util.id("atlantis");
|
public static final Identifier ATLANTIS_DUNGEONS = DimensionalDoors.id("atlantis");
|
||||||
public static final Identifier JUNGLE_DUNGEONS = Util.id("jungle");
|
public static final Identifier JUNGLE_DUNGEONS = DimensionalDoors.id("jungle");
|
||||||
public static final Identifier SNOW_DUNGEONS = Util.id("snow");
|
public static final Identifier SNOW_DUNGEONS = DimensionalDoors.id("snow");
|
||||||
public static final Identifier PYRAMID_DUNGEONS = Util.id("pyramid");
|
public static final Identifier PYRAMID_DUNGEONS = DimensionalDoors.id("pyramid");
|
||||||
public static final Identifier END_DUNGEONS = Util.id("end");
|
public static final Identifier END_DUNGEONS = DimensionalDoors.id("end");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
private static Pocket prepareAndPlacePocket(ServerWorld world, PocketTemplate pocketTemplate, VirtualLocation virtualLocation, boolean setup) {
|
private static Pocket prepareAndPlacePocket(ServerWorld world, PocketTemplate pocketTemplate, VirtualLocation virtualLocation, boolean setup) {
|
||||||
|
@ -38,11 +37,11 @@ public final class PocketGenerator {
|
||||||
|
|
||||||
|
|
||||||
public static Pocket generatePrivatePocketV2(VirtualLocation virtualLocation) {
|
public static Pocket generatePrivatePocketV2(VirtualLocation virtualLocation) {
|
||||||
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.PERSONAL), Util.id("private"), virtualLocation, null, null);
|
return generateFromPocketGroupV2(DimensionalDoors.getWorld(ModDimensions.PERSONAL), DimensionalDoors.id("private"), virtualLocation, null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Pocket generatePublicPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
public static Pocket generatePublicPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
||||||
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.PUBLIC), Util.id("public"), virtualLocation, linkTo, linkProperties);
|
return generateFromPocketGroupV2(DimensionalDoors.getWorld(ModDimensions.PUBLIC), DimensionalDoors.id("public"), virtualLocation, linkTo, linkProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Pocket generateFromPocketGroupV2(ServerWorld world, Identifier group, VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
public static Pocket generateFromPocketGroupV2(ServerWorld world, Identifier group, VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
||||||
|
@ -55,11 +54,11 @@ public final class PocketGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Pocket generateDungeonPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
public static Pocket generateDungeonPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
|
||||||
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.DUNGEON), Util.id("dungeon"), virtualLocation, linkTo, linkProperties);
|
return generateFromPocketGroupV2(DimensionalDoors.getWorld(ModDimensions.DUNGEON), DimensionalDoors.id("dungeon"), virtualLocation, linkTo, linkProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Pocket generateDungeonPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties, Identifier group) {
|
public static Pocket generateDungeonPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties, Identifier group) {
|
||||||
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.DUNGEON), group, virtualLocation, linkTo, linkProperties);
|
return generateFromPocketGroupV2(DimensionalDoors.getWorld(ModDimensions.DUNGEON), group, virtualLocation, linkTo, linkProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.resource.ResourceManager;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
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.dimdev.dimdoors.Util;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.*;
|
import org.dimdev.dimdoors.api.util.*;
|
||||||
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
||||||
import org.dimdev.dimdoors.pockets.virtual.VirtualPocket;
|
import org.dimdev.dimdoors.pockets.virtual.VirtualPocket;
|
||||||
|
@ -130,6 +130,6 @@ public class PocketLoader implements SimpleSynchronousResourceReloadListener {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Identifier getFabricId() {
|
public Identifier getFabricId() {
|
||||||
return Util.id("schematics_v2");
|
return DimensionalDoors.id("schematics_v2");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import net.minecraft.world.World;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.BlockPlacementType;
|
import org.dimdev.dimdoors.api.util.BlockPlacementType;
|
||||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.util.schematic.Schematic;
|
import org.dimdev.dimdoors.util.schematic.Schematic;
|
||||||
|
@ -65,7 +65,7 @@ public class PocketTemplate {
|
||||||
|
|
||||||
public void place(Pocket pocket, BlockPlacementType placementType) {
|
public void place(Pocket pocket, BlockPlacementType placementType) {
|
||||||
pocket.setSize(schematic.getWidth(), schematic.getHeight(), schematic.getLength());
|
pocket.setSize(schematic.getWidth(), schematic.getHeight(), schematic.getLength());
|
||||||
ServerWorld world = DimensionalDoorsInitializer.getWorld(pocket.getWorld());
|
ServerWorld world = DimensionalDoors.getWorld(pocket.getWorld());
|
||||||
BlockPos origin = pocket.getOrigin();
|
BlockPos origin = pocket.getOrigin();
|
||||||
SchematicPlacer.place(this.schematic, world, origin, placementType);
|
SchematicPlacer.place(this.schematic, world, origin, placementType);
|
||||||
}
|
}
|
||||||
|
@ -73,13 +73,13 @@ public class PocketTemplate {
|
||||||
public Map<BlockPos, RiftBlockEntity> getAbsoluteRifts(Pocket pocket) {
|
public Map<BlockPos, RiftBlockEntity> getAbsoluteRifts(Pocket pocket) {
|
||||||
pocket.setSize(schematic.getWidth(), schematic.getHeight(), schematic.getLength());
|
pocket.setSize(schematic.getWidth(), schematic.getHeight(), schematic.getLength());
|
||||||
Map<BlockPos, RiftBlockEntity> absoluteRifts = SchematicPlacer.getAbsoluteRifts(this.schematic, pocket.getOrigin());
|
Map<BlockPos, RiftBlockEntity> absoluteRifts = SchematicPlacer.getAbsoluteRifts(this.schematic, pocket.getOrigin());
|
||||||
World world = DimensionalDoorsInitializer.getWorld(pocket.getWorld());
|
World world = DimensionalDoors.getWorld(pocket.getWorld());
|
||||||
absoluteRifts.values().forEach(rift -> rift.setWorld(world));
|
absoluteRifts.values().forEach(rift -> rift.setWorld(world));
|
||||||
return absoluteRifts;
|
return absoluteRifts;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void place(LazyGenerationPocket pocket, Chunk chunk, BlockPos originalOrigin, BlockPlacementType placementType) {
|
public void place(LazyGenerationPocket pocket, Chunk chunk, BlockPos originalOrigin, BlockPlacementType placementType) {
|
||||||
SchematicPlacer.place(this.schematic, DimensionalDoorsInitializer.getWorld(pocket.getWorld()), chunk, originalOrigin, placementType);
|
SchematicPlacer.place(this.schematic, DimensionalDoors.getWorld(pocket.getWorld()), chunk, originalOrigin, placementType);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isReplacingPlaceholders() {
|
public static boolean isReplacingPlaceholders() {
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.Objects;
|
||||||
import net.minecraft.loot.context.LootContextParameters;
|
import net.minecraft.loot.context.LootContextParameters;
|
||||||
import net.minecraft.util.math.Vec3d;
|
import net.minecraft.util.math.Vec3d;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.entity.ModEntityTypes;
|
import org.dimdev.dimdoors.entity.ModEntityTypes;
|
||||||
|
@ -31,7 +31,6 @@ import net.minecraft.loot.context.LootContext;
|
||||||
import net.minecraft.loot.context.LootContextTypes;
|
import net.minecraft.loot.context.LootContextTypes;
|
||||||
import net.minecraft.nbt.NbtCompound;
|
import net.minecraft.nbt.NbtCompound;
|
||||||
import net.minecraft.server.world.ServerWorld;
|
import net.minecraft.server.world.ServerWorld;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.StructureWorldAccess;
|
import net.minecraft.world.StructureWorldAccess;
|
||||||
|
|
||||||
|
@ -64,10 +63,10 @@ public class TemplateUtils {
|
||||||
LootTable table;
|
LootTable table;
|
||||||
if (tile instanceof ChestBlockEntity) {
|
if (tile instanceof ChestBlockEntity) {
|
||||||
logger.debug("Now populating chest.");
|
logger.debug("Now populating chest.");
|
||||||
table = world.getServer().getLootManager().getTable(Util.id("dungeon_chest"));
|
table = world.getServer().getLootManager().getTable(DimensionalDoors.id("dungeon_chest"));
|
||||||
} else {
|
} else {
|
||||||
logger.debug("Now populating dispenser.");
|
logger.debug("Now populating dispenser.");
|
||||||
table = world.getServer().getLootManager().getTable(Util.id("dispenser_projectiles"));
|
table = world.getServer().getLootManager().getTable(DimensionalDoors.id("dispenser_projectiles"));
|
||||||
}
|
}
|
||||||
LootContext ctx = new LootContext.Builder(world).random(world.random).parameter(LootContextParameters.ORIGIN, Vec3d.of(tile.getPos())).build(LootContextTypes.CHEST);
|
LootContext ctx = new LootContext.Builder(world).random(world.random).parameter(LootContextParameters.ORIGIN, Vec3d.of(tile.getPos())).build(LootContextTypes.CHEST);
|
||||||
table.supplyInventory(inventory, ctx);
|
table.supplyInventory(inventory, ctx);
|
||||||
|
@ -77,7 +76,7 @@ public class TemplateUtils {
|
||||||
}
|
}
|
||||||
|
|
||||||
static public void registerRifts(List<? extends RiftBlockEntity> rifts, VirtualTarget linkTo, LinkProperties linkProperties, Pocket pocket) {
|
static public void registerRifts(List<? extends RiftBlockEntity> rifts, VirtualTarget linkTo, LinkProperties linkProperties, Pocket pocket) {
|
||||||
ServerWorld world = DimensionalDoorsInitializer.getWorld(pocket.getWorld());
|
ServerWorld world = DimensionalDoors.getWorld(pocket.getWorld());
|
||||||
HashMap<RiftBlockEntity, Float> entranceWeights = new HashMap<>();
|
HashMap<RiftBlockEntity, Float> entranceWeights = new HashMap<>();
|
||||||
|
|
||||||
for (RiftBlockEntity rift : rifts) { // Find an entrance
|
for (RiftBlockEntity rift : rifts) { // Find an entrance
|
||||||
|
|
|
@ -29,7 +29,7 @@ import net.minecraft.world.gen.chunk.ChunkGeneratorSettings;
|
||||||
import net.minecraft.world.gen.noise.NoiseConfig;
|
import net.minecraft.world.gen.noise.NoiseConfig;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
|
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
|
||||||
|
@ -90,7 +90,7 @@ public class ChunkGenerator extends PocketGenerator {
|
||||||
|
|
||||||
LOGGER.info("Generating chunk pocket at location " + pocket.getOrigin());
|
LOGGER.info("Generating chunk pocket at location " + pocket.getOrigin());
|
||||||
|
|
||||||
ServerWorld genWorld = DimensionalDoorsInitializer.getWorld(RegistryKey.of(Registry.WORLD_KEY, dimensionID));
|
ServerWorld genWorld = DimensionalDoors.getWorld(RegistryKey.of(Registry.WORLD_KEY, dimensionID));
|
||||||
net.minecraft.world.gen.chunk.ChunkGenerator genWorldChunkGenerator = genWorld.getChunkManager().getChunkGenerator();
|
net.minecraft.world.gen.chunk.ChunkGenerator genWorldChunkGenerator = genWorld.getChunkManager().getChunkGenerator();
|
||||||
|
|
||||||
NoiseConfig config = NoiseConfig.create(ChunkGeneratorSettings.createMissingSettings(), world.getRegistryManager().get(Registry.NOISE_KEY), world.getSeed());
|
NoiseConfig config = NoiseConfig.create(ChunkGeneratorSettings.createMissingSettings(), world.getRegistryManager().get(Registry.NOISE_KEY), world.getSeed());
|
||||||
|
|
|
@ -15,7 +15,7 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.pockets.TemplateUtils;
|
import org.dimdev.dimdoors.pockets.TemplateUtils;
|
||||||
import org.dimdev.dimdoors.pockets.modifier.LazyModifier;
|
import org.dimdev.dimdoors.pockets.modifier.LazyModifier;
|
||||||
import org.dimdev.dimdoors.pockets.modifier.Modifier;
|
import org.dimdev.dimdoors.pockets.modifier.Modifier;
|
||||||
|
@ -125,14 +125,14 @@ public abstract class LazyPocketGenerator extends PocketGenerator {
|
||||||
abstract public LazyPocketGenerator getNewInstance();
|
abstract public LazyPocketGenerator getNewInstance();
|
||||||
|
|
||||||
public void setupChunk(Pocket pocket, Chunk chunk, boolean setupLootTables) {
|
public void setupChunk(Pocket pocket, Chunk chunk, boolean setupLootTables) {
|
||||||
MinecraftServer server = DimensionalDoorsInitializer.getServer();
|
MinecraftServer server = DimensionalDoors.getServer();
|
||||||
chunk.getBlockEntityPositions().stream().map(chunk::getBlockEntity).forEach(blockEntity -> { // RiftBlockEntities should already be initialized here
|
chunk.getBlockEntityPositions().stream().map(chunk::getBlockEntity).forEach(blockEntity -> { // RiftBlockEntities should already be initialized here
|
||||||
if (setupLootTables && blockEntity instanceof Inventory) {
|
if (setupLootTables && blockEntity instanceof Inventory) {
|
||||||
Inventory inventory = (Inventory) blockEntity;
|
Inventory inventory = (Inventory) blockEntity;
|
||||||
server.send(new ServerTask(server.getTicks(), () -> {
|
server.send(new ServerTask(server.getTicks(), () -> {
|
||||||
if (inventory.isEmpty()) {
|
if (inventory.isEmpty()) {
|
||||||
if (blockEntity instanceof ChestBlockEntity || blockEntity instanceof DispenserBlockEntity) {
|
if (blockEntity instanceof ChestBlockEntity || blockEntity instanceof DispenserBlockEntity) {
|
||||||
TemplateUtils.setupLootTable(DimensionalDoorsInitializer.getWorld(pocket.getWorld()), blockEntity, inventory, LOGGER);
|
TemplateUtils.setupLootTable(DimensionalDoors.getWorld(pocket.getWorld()), blockEntity, inventory, LOGGER);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
|
|
@ -20,8 +20,7 @@ import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.util.Location;
|
import org.dimdev.dimdoors.api.util.Location;
|
||||||
import org.dimdev.dimdoors.api.util.ReferenceSerializable;
|
import org.dimdev.dimdoors.api.util.ReferenceSerializable;
|
||||||
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
||||||
|
@ -44,7 +43,7 @@ import java.util.function.Supplier;
|
||||||
|
|
||||||
public abstract class PocketGenerator implements Weighted<PocketGenerationContext>, ReferenceSerializable {
|
public abstract class PocketGenerator implements Weighted<PocketGenerationContext>, ReferenceSerializable {
|
||||||
private static final Logger LOGGER = LogManager.getLogger();
|
private static final Logger LOGGER = LogManager.getLogger();
|
||||||
public static final Registry<PocketGeneratorType<? extends PocketGenerator>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketGeneratorType<? extends PocketGenerator>>(RegistryKey.ofRegistry(Util.id("pocket_generator_type")), Lifecycle.stable(), null)).buildAndRegister();
|
public static final Registry<PocketGeneratorType<? extends PocketGenerator>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketGeneratorType<? extends PocketGenerator>>(RegistryKey.ofRegistry(DimensionalDoors.id("pocket_generator_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
public static final String RESOURCE_STARTING_PATH = "pockets/generator"; //TODO: might want to restructure data packs
|
public static final String RESOURCE_STARTING_PATH = "pockets/generator"; //TODO: might want to restructure data packs
|
||||||
|
|
||||||
private static final String defaultWeightEquation = "5"; // TODO: make config
|
private static final String defaultWeightEquation = "5"; // TODO: make config
|
||||||
|
@ -300,16 +299,16 @@ public abstract class PocketGenerator implements Weighted<PocketGenerationContex
|
||||||
public abstract Vec3i getSize(PocketGenerationContext parameters);
|
public abstract Vec3i getSize(PocketGenerationContext parameters);
|
||||||
|
|
||||||
public interface PocketGeneratorType<T extends PocketGenerator> {
|
public interface PocketGeneratorType<T extends PocketGenerator> {
|
||||||
PocketGeneratorType<SchematicGenerator> SCHEMATIC = register(Util.id(SchematicGenerator.KEY), SchematicGenerator::new);
|
PocketGeneratorType<SchematicGenerator> SCHEMATIC = register(DimensionalDoors.id(SchematicGenerator.KEY), SchematicGenerator::new);
|
||||||
PocketGeneratorType<ChunkGenerator> CHUNK = register(Util.id(ChunkGenerator.KEY), ChunkGenerator::new);
|
PocketGeneratorType<ChunkGenerator> CHUNK = register(DimensionalDoors.id(ChunkGenerator.KEY), ChunkGenerator::new);
|
||||||
PocketGeneratorType<VoidGenerator> VOID = register(Util.id(VoidGenerator.KEY), VoidGenerator::new);
|
PocketGeneratorType<VoidGenerator> VOID = register(DimensionalDoors.id(VoidGenerator.KEY), VoidGenerator::new);
|
||||||
|
|
||||||
PocketGenerator fromNbt(NbtCompound nbt, ResourceManager manager);
|
PocketGenerator fromNbt(NbtCompound nbt, ResourceManager manager);
|
||||||
|
|
||||||
NbtCompound toNbt(NbtCompound nbt);
|
NbtCompound toNbt(NbtCompound nbt);
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerPocketGeneratorTypes(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerPocketGeneratorTypes(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <U extends PocketGenerator> PocketGeneratorType<U> register(Identifier id, Supplier<U> constructor) {
|
static <U extends PocketGenerator> PocketGeneratorType<U> register(Identifier id, Supplier<U> constructor) {
|
||||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.util.math.Vec3i;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
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.dimdev.dimdoors.Util;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.BlockPlacementType;
|
import org.dimdev.dimdoors.api.util.BlockPlacementType;
|
||||||
import org.dimdev.dimdoors.api.util.Path;
|
import org.dimdev.dimdoors.api.util.Path;
|
||||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||||
|
@ -51,7 +51,7 @@ public class SchematicGenerator extends LazyPocketGenerator{
|
||||||
public SchematicGenerator(String id) {
|
public SchematicGenerator(String id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
|
||||||
this.templateID = Util.id(id);
|
this.templateID = DimensionalDoors.id(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getId() {
|
public String getId() {
|
||||||
|
@ -77,7 +77,7 @@ public class SchematicGenerator extends LazyPocketGenerator{
|
||||||
super.fromNbt(nbt, manager);
|
super.fromNbt(nbt, manager);
|
||||||
|
|
||||||
this.id = nbt.getString("id"); // TODO: should we force having the "dimdoors:" in the json?
|
this.id = nbt.getString("id"); // TODO: should we force having the "dimdoors:" in the json?
|
||||||
this.templateID = Util.id(id);
|
this.templateID = DimensionalDoors.id(id);
|
||||||
if (nbt.contains("origin", NbtType.INT_ARRAY)) {
|
if (nbt.contains("origin", NbtType.INT_ARRAY)) {
|
||||||
int[] originInts = nbt.getIntArray("origin");
|
int[] originInts = nbt.getIntArray("origin");
|
||||||
this.origin = new BlockPos(originInts[0], originInts[1], originInts[2]);
|
this.origin = new BlockPos(originInts[0], originInts[1], originInts[2]);
|
||||||
|
|
|
@ -11,7 +11,7 @@ import net.minecraft.world.World;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.BlockBoxUtil;
|
import org.dimdev.dimdoors.api.util.BlockBoxUtil;
|
||||||
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
|
||||||
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
||||||
|
@ -88,7 +88,7 @@ public class AbsoluteRiftBlockEntityModifier extends AbstractLazyModifier {
|
||||||
@Override
|
@Override
|
||||||
public void apply(PocketGenerationContext parameters, RiftManager manager) {
|
public void apply(PocketGenerationContext parameters, RiftManager manager) {
|
||||||
if (!manager.isPocketLazy()) { // rifts is guaranteed to exist at this stage since this modifier is not supposed to be loaded from json
|
if (!manager.isPocketLazy()) { // rifts is guaranteed to exist at this stage since this modifier is not supposed to be loaded from json
|
||||||
World world = DimensionalDoorsInitializer.getWorld(manager.getPocket().getWorld());
|
World world = DimensionalDoors.getWorld(manager.getPocket().getWorld());
|
||||||
rifts.values().forEach(world::addBlockEntity);
|
rifts.values().forEach(world::addBlockEntity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,8 +11,7 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.util.ReferenceSerializable;
|
import org.dimdev.dimdoors.api.util.ReferenceSerializable;
|
||||||
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
||||||
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
||||||
|
@ -22,7 +21,7 @@ import java.util.Collection;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public interface Modifier extends ReferenceSerializable {
|
public interface Modifier extends ReferenceSerializable {
|
||||||
Registry<ModifierType<? extends Modifier>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<ModifierType<? extends Modifier>>(RegistryKey.ofRegistry(Util.id("modifier_type")), Lifecycle.stable(), null)).buildAndRegister();
|
Registry<ModifierType<? extends Modifier>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<ModifierType<? extends Modifier>>(RegistryKey.ofRegistry(DimensionalDoors.id("modifier_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
|
|
||||||
String RESOURCE_STARTING_PATH = "pockets/modifier"; //TODO: might want to restructure data packs
|
String RESOURCE_STARTING_PATH = "pockets/modifier"; //TODO: might want to restructure data packs
|
||||||
|
|
||||||
|
@ -95,13 +94,13 @@ public interface Modifier extends ReferenceSerializable {
|
||||||
void apply(PocketGenerationContext parameters, Pocket.PocketBuilder<?, ?> builder);
|
void apply(PocketGenerationContext parameters, Pocket.PocketBuilder<?, ?> builder);
|
||||||
|
|
||||||
interface ModifierType<T extends Modifier> {
|
interface ModifierType<T extends Modifier> {
|
||||||
ModifierType<ShellModifier> SHELL_MODIFIER_TYPE = register(Util.id(ShellModifier.KEY), ShellModifier::new);
|
ModifierType<ShellModifier> SHELL_MODIFIER_TYPE = register(DimensionalDoors.id(ShellModifier.KEY), ShellModifier::new);
|
||||||
ModifierType<DimensionalDoorModifier> DIMENSIONAL_DOOR_MODIFIER_TYPE = register(Util.id(DimensionalDoorModifier.KEY), DimensionalDoorModifier::new);
|
ModifierType<DimensionalDoorModifier> DIMENSIONAL_DOOR_MODIFIER_TYPE = register(DimensionalDoors.id(DimensionalDoorModifier.KEY), DimensionalDoorModifier::new);
|
||||||
ModifierType<PocketEntranceModifier> PUBLIC_MODIFIER_TYPE = register(Util.id(PocketEntranceModifier.KEY), PocketEntranceModifier::new);
|
ModifierType<PocketEntranceModifier> PUBLIC_MODIFIER_TYPE = register(DimensionalDoors.id(PocketEntranceModifier.KEY), PocketEntranceModifier::new);
|
||||||
ModifierType<RiftDataModifier> RIFT_DATA_MODIFIER_TYPE = register(Util.id(RiftDataModifier.KEY), RiftDataModifier::new);
|
ModifierType<RiftDataModifier> RIFT_DATA_MODIFIER_TYPE = register(DimensionalDoors.id(RiftDataModifier.KEY), RiftDataModifier::new);
|
||||||
ModifierType<RelativeReferenceModifier> RELATIVE_REFERENCE_MODIFIER_TYPE = register(Util.id(RelativeReferenceModifier.KEY), RelativeReferenceModifier::new);
|
ModifierType<RelativeReferenceModifier> RELATIVE_REFERENCE_MODIFIER_TYPE = register(DimensionalDoors.id(RelativeReferenceModifier.KEY), RelativeReferenceModifier::new);
|
||||||
ModifierType<OffsetModifier> OFFSET_MODIFIER_TYPE = register(Util.id(OffsetModifier.KEY), OffsetModifier::new);
|
ModifierType<OffsetModifier> OFFSET_MODIFIER_TYPE = register(DimensionalDoors.id(OffsetModifier.KEY), OffsetModifier::new);
|
||||||
ModifierType<AbsoluteRiftBlockEntityModifier> ABSOLUTE_RIFT_BLOCK_ENTITY_MODIFIER_TYPE = register(Util.id(AbsoluteRiftBlockEntityModifier.KEY), AbsoluteRiftBlockEntityModifier::new);
|
ModifierType<AbsoluteRiftBlockEntityModifier> ABSOLUTE_RIFT_BLOCK_ENTITY_MODIFIER_TYPE = register(DimensionalDoors.id(AbsoluteRiftBlockEntityModifier.KEY), AbsoluteRiftBlockEntityModifier::new);
|
||||||
|
|
||||||
Modifier fromNbt(NbtCompound nbt, ResourceManager manager);
|
Modifier fromNbt(NbtCompound nbt, ResourceManager manager);
|
||||||
|
|
||||||
|
@ -112,7 +111,7 @@ public interface Modifier extends ReferenceSerializable {
|
||||||
NbtCompound toNbt(NbtCompound nbt);
|
NbtCompound toNbt(NbtCompound nbt);
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerModifierTypes(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerModifierTypes(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <U extends Modifier> ModifierType<U> register(Identifier id, Supplier<U> factory) {
|
static <U extends Modifier> ModifierType<U> register(Identifier id, Supplier<U> factory) {
|
||||||
|
|
|
@ -10,8 +10,7 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
||||||
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
||||||
import org.dimdev.dimdoors.pockets.virtual.reference.IdReference;
|
import org.dimdev.dimdoors.pockets.virtual.reference.IdReference;
|
||||||
|
@ -27,7 +26,7 @@ import java.util.function.Supplier;
|
||||||
public interface ImplementedVirtualPocket extends VirtualPocket {
|
public interface ImplementedVirtualPocket extends VirtualPocket {
|
||||||
String RESOURCE_STARTING_PATH = "pockets/virtual"; //TODO: might want to restructure data packs
|
String RESOURCE_STARTING_PATH = "pockets/virtual"; //TODO: might want to restructure data packs
|
||||||
|
|
||||||
Registry<VirtualPocketType<? extends ImplementedVirtualPocket>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<VirtualPocketType<? extends ImplementedVirtualPocket>>(RegistryKey.ofRegistry(Util.id("virtual_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
|
Registry<VirtualPocketType<? extends ImplementedVirtualPocket>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<VirtualPocketType<? extends ImplementedVirtualPocket>>(RegistryKey.ofRegistry(DimensionalDoors.id("virtual_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
|
|
||||||
static ImplementedVirtualPocket deserialize(NbtElement nbt, @Nullable ResourceManager manager) {
|
static ImplementedVirtualPocket deserialize(NbtElement nbt, @Nullable ResourceManager manager) {
|
||||||
switch (nbt.getType()) {
|
switch (nbt.getType()) {
|
||||||
|
@ -79,11 +78,11 @@ public interface ImplementedVirtualPocket extends VirtualPocket {
|
||||||
String getKey();
|
String getKey();
|
||||||
|
|
||||||
interface VirtualPocketType<T extends ImplementedVirtualPocket> {
|
interface VirtualPocketType<T extends ImplementedVirtualPocket> {
|
||||||
VirtualPocketType<NoneVirtualPocket> NONE = register(Util.id(NoneVirtualPocket.KEY), () -> NoneVirtualPocket.NONE);
|
VirtualPocketType<NoneVirtualPocket> NONE = register(DimensionalDoors.id(NoneVirtualPocket.KEY), () -> NoneVirtualPocket.NONE);
|
||||||
VirtualPocketType<IdReference> ID_REFERENCE = register(Util.id(IdReference.KEY), IdReference::new);
|
VirtualPocketType<IdReference> ID_REFERENCE = register(DimensionalDoors.id(IdReference.KEY), IdReference::new);
|
||||||
VirtualPocketType<TagReference> TAG_REFERENCE = register(Util.id(TagReference.KEY), TagReference::new);
|
VirtualPocketType<TagReference> TAG_REFERENCE = register(DimensionalDoors.id(TagReference.KEY), TagReference::new);
|
||||||
VirtualPocketType<ConditionalSelector> CONDITIONAL_SELECTOR = register(Util.id(ConditionalSelector.KEY), ConditionalSelector::new);
|
VirtualPocketType<ConditionalSelector> CONDITIONAL_SELECTOR = register(DimensionalDoors.id(ConditionalSelector.KEY), ConditionalSelector::new);
|
||||||
VirtualPocketType<PathSelector> PATH_SELECTOR = register(Util.id(PathSelector.KEY), PathSelector::new);
|
VirtualPocketType<PathSelector> PATH_SELECTOR = register(DimensionalDoors.id(PathSelector.KEY), PathSelector::new);
|
||||||
|
|
||||||
ImplementedVirtualPocket fromNbt(NbtCompound nbt, @Nullable ResourceManager manager);
|
ImplementedVirtualPocket fromNbt(NbtCompound nbt, @Nullable ResourceManager manager);
|
||||||
|
|
||||||
|
@ -94,7 +93,7 @@ public interface ImplementedVirtualPocket extends VirtualPocket {
|
||||||
NbtCompound toNbt(NbtCompound nbt);
|
NbtCompound toNbt(NbtCompound nbt);
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerVirtualSingularPocketTypes(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerVirtualSingularPocketTypes(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <U extends ImplementedVirtualPocket> VirtualPocketType<U> register(Identifier id, Supplier<U> factory) {
|
static <U extends ImplementedVirtualPocket> VirtualPocketType<U> register(Identifier id, Supplier<U> factory) {
|
||||||
|
|
|
@ -4,7 +4,8 @@ import com.google.common.base.MoreObjects;
|
||||||
import net.minecraft.nbt.NbtCompound;
|
import net.minecraft.nbt.NbtCompound;
|
||||||
import net.minecraft.resource.ResourceManager;
|
import net.minecraft.resource.ResourceManager;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
|
||||||
import org.dimdev.dimdoors.pockets.PocketLoader;
|
import org.dimdev.dimdoors.pockets.PocketLoader;
|
||||||
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
||||||
|
@ -20,7 +21,7 @@ public class IdReference extends PocketGeneratorReference {
|
||||||
super.fromNbt(nbt, manager);
|
super.fromNbt(nbt, manager);
|
||||||
|
|
||||||
// TODO: make the json need the "dimdoors:" as well and load id via Identifier#tryParse instead
|
// TODO: make the json need the "dimdoors:" as well and load id via Identifier#tryParse instead
|
||||||
id = Util.id(nbt.getString("id"));
|
id = DimensionalDoors.id(nbt.getString("id"));
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.chunk.Chunk;
|
import net.minecraft.world.chunk.Chunk;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.pockets.generator.LazyPocketGenerator;
|
import org.dimdev.dimdoors.pockets.generator.LazyPocketGenerator;
|
||||||
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
|
||||||
import org.dimdev.dimdoors.pockets.modifier.LazyCompatibleModifier;
|
import org.dimdev.dimdoors.pockets.modifier.LazyCompatibleModifier;
|
||||||
|
@ -50,12 +50,12 @@ public abstract class PocketGeneratorReference extends AbstractVirtualPocket {
|
||||||
LOGGER.debug("Exception Stacktrace", e);
|
LOGGER.debug("Exception Stacktrace", e);
|
||||||
try {
|
try {
|
||||||
// FIXME: do we actually want to have it serialize to the broken String equation we input?
|
// FIXME: do we actually want to have it serialize to the broken String equation we input?
|
||||||
this.weightEquation = Equation.newEquation(Equation.parse(DimensionalDoorsInitializer.getConfig().getPocketsConfig().defaultWeightEquation)::apply, stringBuilder -> stringBuilder.append(weight));
|
this.weightEquation = Equation.newEquation(Equation.parse(DimensionalDoors.getConfig().getPocketsConfig().defaultWeightEquation)::apply, stringBuilder -> stringBuilder.append(weight));
|
||||||
} catch (EquationParseException equationParseException) {
|
} catch (EquationParseException equationParseException) {
|
||||||
LOGGER.debug("Defaulting to default weight equation for {}", this);
|
LOGGER.debug("Defaulting to default weight equation for {}", this);
|
||||||
LOGGER.debug("Exception Stacktrace", e);
|
LOGGER.debug("Exception Stacktrace", e);
|
||||||
// FIXME: do we actually want to have it serialize to the broken String equation we input?
|
// FIXME: do we actually want to have it serialize to the broken String equation we input?
|
||||||
this.weightEquation = Equation.newEquation(stringDoubleMap -> (double) DimensionalDoorsInitializer.getConfig().getPocketsConfig().fallbackWeight, stringBuilder -> stringBuilder.append(weight));
|
this.weightEquation = Equation.newEquation(stringDoubleMap -> (double) DimensionalDoors.getConfig().getPocketsConfig().fallbackWeight, stringBuilder -> stringBuilder.append(weight));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -179,10 +179,10 @@ public abstract class PocketGeneratorReference extends AbstractVirtualPocket {
|
||||||
Chunk chunk = LazyPocketGenerator.generationQueue.remove();
|
Chunk chunk = LazyPocketGenerator.generationQueue.remove();
|
||||||
|
|
||||||
LazyCompatibleModifier.runQueuedModifications(chunk);
|
LazyCompatibleModifier.runQueuedModifications(chunk);
|
||||||
MinecraftServer server = DimensionalDoorsInitializer.getServer();
|
MinecraftServer server = DimensionalDoors.getServer();
|
||||||
DimensionalDoorsInitializer.getServer().send(new ServerTask(server.getTicks(), () -> (lazyPocket).chunkLoaded(chunk)));
|
DimensionalDoors.getServer().send(new ServerTask(server.getTicks(), () -> (lazyPocket).chunkLoaded(chunk)));
|
||||||
}
|
}
|
||||||
LazyCompatibleModifier.runLeftoverModifications(DimensionalDoorsInitializer.getWorld(lazyPocket.getWorld()));
|
LazyCompatibleModifier.runLeftoverModifications(DimensionalDoors.getWorld(lazyPocket.getWorld()));
|
||||||
} else {
|
} else {
|
||||||
LazyPocketGenerator.currentlyGenerating = false;
|
LazyPocketGenerator.currentlyGenerating = false;
|
||||||
LazyPocketGenerator.generationQueue.clear();
|
LazyPocketGenerator.generationQueue.clear();
|
||||||
|
|
|
@ -7,14 +7,15 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
|
|
||||||
public abstract class RegistryVertex {
|
public abstract class RegistryVertex {
|
||||||
public static final Registry<RegistryVertexType> registry = FabricRegistryBuilder.createSimple(RegistryVertex.RegistryVertexType.class, Util.id("registry_vertex")).attribute(RegistryAttribute.MODDED).buildAndRegister();
|
public static final Registry<RegistryVertexType> registry = FabricRegistryBuilder.createSimple(RegistryVertex.RegistryVertexType.class, DimensionalDoors.id("registry_vertex")).attribute(RegistryAttribute.MODDED).buildAndRegister();
|
||||||
|
|
||||||
private RegistryKey<World> world; // The dimension to store this object in. Links are stored in both registries.
|
private RegistryKey<World> world; // The dimension to store this object in. Links are stored in both registries.
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ import net.minecraft.util.math.random.Random;
|
||||||
import org.apache.logging.log4j.Level;
|
import org.apache.logging.log4j.Level;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.rift.target.EntityTarget;
|
import org.dimdev.dimdoors.api.rift.target.EntityTarget;
|
||||||
import org.dimdev.dimdoors.api.util.Location;
|
import org.dimdev.dimdoors.api.util.Location;
|
||||||
import org.dimdev.dimdoors.api.util.TeleportUtil;
|
import org.dimdev.dimdoors.api.util.TeleportUtil;
|
||||||
|
@ -64,7 +64,7 @@ public class EscapeTarget extends VirtualTarget implements EntityTarget { // TOD
|
||||||
if (((ServerPlayerEntity) entity.world.getPlayerByUuid(uuid)).getSpawnPointPosition() != null) {
|
if (((ServerPlayerEntity) entity.world.getPlayerByUuid(uuid)).getSpawnPointPosition() != null) {
|
||||||
destLoc = new Location(((ServerPlayerEntity) entity.world.getPlayerByUuid(uuid)).getSpawnPointDimension(), ((ServerPlayerEntity) entity.world.getPlayerByUuid(uuid)).getSpawnPointPosition());
|
destLoc = new Location(((ServerPlayerEntity) entity.world.getPlayerByUuid(uuid)).getSpawnPointDimension(), ((ServerPlayerEntity) entity.world.getPlayerByUuid(uuid)).getSpawnPointPosition());
|
||||||
} else {
|
} else {
|
||||||
destLoc = new Location(DimensionalDoorsInitializer.getServer().getOverworld(), DimensionalDoorsInitializer.getServer().getOverworld().getSpawnPos());
|
destLoc = new Location(DimensionalDoors.getServer().getOverworld(), DimensionalDoors.getServer().getOverworld().getSpawnPos());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ public class EscapeTarget extends VirtualTarget implements EntityTarget { // TOD
|
||||||
entity.fallDistance = 0;
|
entity.fallDistance = 0;
|
||||||
Random random = Random.create();
|
Random random = Random.create();
|
||||||
BlockPos.iterateOutwards(location.pos.add(0, -3, 0), 3, 2, 3).forEach((pos1 -> {
|
BlockPos.iterateOutwards(location.pos.add(0, -3, 0), 3, 2, 3).forEach((pos1 -> {
|
||||||
if (random.nextFloat() < (1 / ((float) location.pos.getSquaredDistance(pos1))) * DimensionalDoorsInitializer.getConfig().getLimboConfig().limboBlocksCorruptingOverworldAmount) {
|
if (random.nextFloat() < (1 / ((float) location.pos.getSquaredDistance(pos1))) * DimensionalDoors.getConfig().getLimboConfig().limboBlocksCorruptingOverworldAmount) {
|
||||||
Block block = location.getWorld().getBlockState(pos1).getBlock();
|
Block block = location.getWorld().getBlockState(pos1).getBlock();
|
||||||
if (UnravelUtil.unravelBlocksMap.containsKey(block))
|
if (UnravelUtil.unravelBlocksMap.containsKey(block))
|
||||||
location.getWorld().setBlockState(pos1, UnravelUtil.unravelBlocksMap.get(block).getDefaultState());
|
location.getWorld().setBlockState(pos1, UnravelUtil.unravelBlocksMap.get(block).getDefaultState());
|
||||||
|
|
|
@ -9,7 +9,7 @@ import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.rift.target.Target;
|
import org.dimdev.dimdoors.api.rift.target.Target;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
|
||||||
|
@ -135,7 +135,7 @@ public class RandomTarget extends VirtualTarget { // TODO: Split into DungeonTar
|
||||||
|
|
||||||
if (virtualLocation.getDepth() <= 0) {
|
if (virtualLocation.getDepth() <= 0) {
|
||||||
// This will lead to the overworld
|
// This will lead to the overworld
|
||||||
ServerWorld world = DimensionalDoorsInitializer.getWorld(virtualLocation.getWorld());
|
ServerWorld world = DimensionalDoors.getWorld(virtualLocation.getWorld());
|
||||||
BlockPos pos = world.getTopPosition(Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, new BlockPos(virtualLocation.getX(), 0, virtualLocation.getZ()));
|
BlockPos pos = world.getTopPosition(Heightmap.Type.MOTION_BLOCKING_NO_LEAVES, new BlockPos(virtualLocation.getX(), 0, virtualLocation.getZ()));
|
||||||
if (pos.getY() == -1) {
|
if (pos.getY() == -1) {
|
||||||
// No blocks at that XZ (hole in bedrock)
|
// No blocks at that XZ (hole in bedrock)
|
||||||
|
|
|
@ -8,8 +8,7 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.rift.target.Target;
|
import org.dimdev.dimdoors.api.rift.target.Target;
|
||||||
import org.dimdev.dimdoors.api.util.Location;
|
import org.dimdev.dimdoors.api.util.Location;
|
||||||
import org.dimdev.dimdoors.api.util.RGBA;
|
import org.dimdev.dimdoors.api.util.RGBA;
|
||||||
|
@ -23,7 +22,7 @@ import java.util.function.Function;
|
||||||
* entity. Only virtual targets can be saved to NBT.
|
* entity. Only virtual targets can be saved to NBT.
|
||||||
*/
|
*/
|
||||||
public abstract class VirtualTarget implements Target {
|
public abstract class VirtualTarget implements Target {
|
||||||
public static final Registry<VirtualTargetType<?>> REGISTRY = FabricRegistryBuilder.<VirtualTargetType<?>, SimpleRegistry<VirtualTargetType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(Util.id("virtual_type")), Lifecycle.stable(), null)).buildAndRegister();
|
public static final Registry<VirtualTargetType<?>> REGISTRY = FabricRegistryBuilder.<VirtualTargetType<?>, SimpleRegistry<VirtualTargetType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(DimensionalDoors.id("virtual_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
public static final RGBA COLOR = new RGBA(1, 0, 0, 1);
|
public static final RGBA COLOR = new RGBA(1, 0, 0, 1);
|
||||||
|
|
||||||
protected Location location;
|
protected Location location;
|
||||||
|
@ -120,7 +119,7 @@ public abstract class VirtualTarget implements Target {
|
||||||
}
|
}
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerVirtualTargetTypes(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerVirtualTargetTypes(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
package org.dimdev.dimdoors.screen;
|
package org.dimdev.dimdoors.screen;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import net.minecraft.screen.ScreenHandlerType;
|
import net.minecraft.screen.ScreenHandlerType;
|
||||||
import net.minecraft.util.Identifier;
|
|
||||||
|
import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry;
|
||||||
|
|
||||||
public class ModScreenHandlerTypes {
|
public class ModScreenHandlerTypes {
|
||||||
|
|
||||||
public static final ScreenHandlerType<TesselatingScreenHandler> TESSELATING_LOOM = ScreenHandlerRegistry.registerSimple(new Identifier("dimdoors", "tesselating_loom"), TesselatingScreenHandler::new);
|
public static final ScreenHandlerType<TesselatingScreenHandler> TESSELATING_LOOM = ScreenHandlerRegistry.registerSimple(DimensionalDoors.id("tesselating_loom"), TesselatingScreenHandler::new);
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,8 @@ package org.dimdev.dimdoors.sound;
|
||||||
import net.minecraft.sound.SoundEvent;
|
import net.minecraft.sound.SoundEvent;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
public final class ModSoundEvents {
|
public final class ModSoundEvents {
|
||||||
public static final SoundEvent CRACK = register("crack");
|
public static final SoundEvent CRACK = register("crack");
|
||||||
|
@ -24,7 +25,7 @@ public final class ModSoundEvents {
|
||||||
public static final SoundEvent TESSELATING_WEAVE = register("tesselating_weave");
|
public static final SoundEvent TESSELATING_WEAVE = register("tesselating_weave");
|
||||||
|
|
||||||
private static SoundEvent register(String id) {
|
private static SoundEvent register(String id) {
|
||||||
Identifier identifier = Util.id(id);
|
Identifier identifier = DimensionalDoors.id(id);
|
||||||
return Registry.register(Registry.SOUND_EVENT, identifier, new SoundEvent(identifier));
|
return Registry.register(Registry.SOUND_EVENT, identifier, new SoundEvent(identifier));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
package org.dimdev.dimdoors.tag;
|
package org.dimdev.dimdoors.tag;
|
||||||
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
|
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.tag.TagKey;
|
import net.minecraft.tag.TagKey;
|
||||||
import net.minecraft.util.Identifier;
|
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
|
|
||||||
public class ModBlockTags {
|
public class ModBlockTags {
|
||||||
|
@ -37,6 +38,6 @@ public class ModBlockTags {
|
||||||
public static final TagKey<Block> DECAY_TO_AMALGAM = of("decay_to_amalgam");
|
public static final TagKey<Block> DECAY_TO_AMALGAM = of("decay_to_amalgam");
|
||||||
|
|
||||||
private static TagKey<Block> of(String id) {
|
private static TagKey<Block> of(String id) {
|
||||||
return TagKey.of(Registry.BLOCK_KEY, new Identifier("dimdoors", id));
|
return TagKey.of(Registry.BLOCK_KEY, DimensionalDoors.id(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package org.dimdev.dimdoors.world;
|
package org.dimdev.dimdoors.world;
|
||||||
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.entity.ModEntityTypes;
|
import org.dimdev.dimdoors.entity.ModEntityTypes;
|
||||||
import org.dimdev.dimdoors.particle.ModParticleTypes;
|
import org.dimdev.dimdoors.particle.ModParticleTypes;
|
||||||
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
import org.dimdev.dimdoors.sound.ModSoundEvents;
|
||||||
|
@ -8,7 +9,6 @@ import org.dimdev.dimdoors.world.feature.ModFeatures;
|
||||||
import net.minecraft.entity.SpawnGroup;
|
import net.minecraft.entity.SpawnGroup;
|
||||||
import net.minecraft.sound.BiomeMoodSound;
|
import net.minecraft.sound.BiomeMoodSound;
|
||||||
import net.minecraft.sound.MusicSound;
|
import net.minecraft.sound.MusicSound;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import net.minecraft.util.registry.BuiltinRegistries;
|
import net.minecraft.util.registry.BuiltinRegistries;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
|
@ -64,10 +64,10 @@ public final class ModBiomes {
|
||||||
.spawnSettings(new SpawnSettings.Builder().build())
|
.spawnSettings(new SpawnSettings.Builder().build())
|
||||||
.temperature(0.8f)
|
.temperature(0.8f)
|
||||||
.temperatureModifier(Biome.TemperatureModifier.NONE);
|
.temperatureModifier(Biome.TemperatureModifier.NONE);
|
||||||
PERSONAL_WHITE_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("white_void"));
|
PERSONAL_WHITE_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, DimensionalDoors.id("white_void"));
|
||||||
PUBLIC_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("black_void"));
|
PUBLIC_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, DimensionalDoors.id("black_void"));
|
||||||
DUNGEON_DANGEROUS_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("dangerous_black_void"));
|
DUNGEON_DANGEROUS_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, DimensionalDoors.id("dangerous_black_void"));
|
||||||
LIMBO_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("limbo"));
|
LIMBO_KEY = RegistryKey.of(Registry.BIOME_KEY, DimensionalDoors.id("limbo"));
|
||||||
PERSONAL_WHITE_VOID_BIOME = voidBiomeBuilder.effects(createEffect(true)).build();
|
PERSONAL_WHITE_VOID_BIOME = voidBiomeBuilder.effects(createEffect(true)).build();
|
||||||
PUBLIC_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build();
|
PUBLIC_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build();
|
||||||
DUNGEON_DANGEROUS_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build();
|
DUNGEON_DANGEROUS_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build();
|
||||||
|
|
|
@ -6,19 +6,20 @@ import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.dimension.DimensionType;
|
import net.minecraft.world.dimension.DimensionType;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.world.pocket.BlankChunkGenerator;
|
import org.dimdev.dimdoors.world.pocket.BlankChunkGenerator;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public final class ModDimensions {
|
public final class ModDimensions {
|
||||||
public static final RegistryKey<World> LIMBO = RegistryKey.of(Registry.WORLD_KEY, Util.id("limbo"));
|
public static final RegistryKey<World> LIMBO = RegistryKey.of(Registry.WORLD_KEY, DimensionalDoors.id("limbo"));
|
||||||
public static final RegistryKey<World> PERSONAL = RegistryKey.of(Registry.WORLD_KEY, Util.id("personal_pockets"));
|
public static final RegistryKey<World> PERSONAL = RegistryKey.of(Registry.WORLD_KEY, DimensionalDoors.id("personal_pockets"));
|
||||||
public static final RegistryKey<World> PUBLIC = RegistryKey.of(Registry.WORLD_KEY, Util.id("public_pockets"));
|
public static final RegistryKey<World> PUBLIC = RegistryKey.of(Registry.WORLD_KEY, DimensionalDoors.id("public_pockets"));
|
||||||
public static final RegistryKey<World> DUNGEON = RegistryKey.of(Registry.WORLD_KEY, Util.id("dungeon_pockets"));
|
public static final RegistryKey<World> DUNGEON = RegistryKey.of(Registry.WORLD_KEY, DimensionalDoors.id("dungeon_pockets"));
|
||||||
|
|
||||||
public static final RegistryKey<DimensionType> LIMBO_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, Util.id("limbo"));
|
public static final RegistryKey<DimensionType> LIMBO_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, DimensionalDoors.id("limbo"));
|
||||||
public static final RegistryKey<DimensionType> POCKET_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, Util.id("personal_pockets"));
|
public static final RegistryKey<DimensionType> POCKET_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, DimensionalDoors.id("personal_pockets"));
|
||||||
|
|
||||||
public static DimensionType LIMBO_TYPE;
|
public static DimensionType LIMBO_TYPE;
|
||||||
public static DimensionType POCKET_TYPE;
|
public static DimensionType POCKET_TYPE;
|
||||||
|
@ -53,6 +54,6 @@ public final class ModDimensions {
|
||||||
ModDimensions.PUBLIC_POCKET_DIMENSION = server.getWorld(PUBLIC);
|
ModDimensions.PUBLIC_POCKET_DIMENSION = server.getWorld(PUBLIC);
|
||||||
ModDimensions.DUNGEON_POCKET_DIMENSION = server.getWorld(DUNGEON);
|
ModDimensions.DUNGEON_POCKET_DIMENSION = server.getWorld(DUNGEON);
|
||||||
});
|
});
|
||||||
Registry.register(Registry.CHUNK_GENERATOR, Util.id("blank"), BlankChunkGenerator.CODEC);
|
Registry.register(Registry.CHUNK_GENERATOR, DimensionalDoors.id("blank"), BlankChunkGenerator.CODEC);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,8 +11,7 @@ import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.world.decay.predicates.SimpleBlockDecayPredicate;
|
import org.dimdev.dimdoors.world.decay.predicates.SimpleBlockDecayPredicate;
|
||||||
import org.dimdev.dimdoors.world.decay.predicates.SimpleTagDecayPredicate;
|
import org.dimdev.dimdoors.world.decay.predicates.SimpleTagDecayPredicate;
|
||||||
|
|
||||||
|
@ -20,7 +19,7 @@ import java.util.Set;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public interface DecayPredicate {
|
public interface DecayPredicate {
|
||||||
Registry<DecayPredicateType<? extends DecayPredicate>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<DecayPredicateType<? extends DecayPredicate>>(RegistryKey.ofRegistry(Util.id("decay_predicate_type")), Lifecycle.stable(), null)).buildAndRegister();
|
Registry<DecayPredicateType<? extends DecayPredicate>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<DecayPredicateType<? extends DecayPredicate>>(RegistryKey.ofRegistry(DimensionalDoors.id("decay_predicate_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
|
|
||||||
DecayPredicate NONE = new DecayPredicate() {
|
DecayPredicate NONE = new DecayPredicate() {
|
||||||
private static final String ID = "none";
|
private static final String ID = "none";
|
||||||
|
@ -76,16 +75,16 @@ public interface DecayPredicate {
|
||||||
Set<Block> constructApplicableBlocks();
|
Set<Block> constructApplicableBlocks();
|
||||||
|
|
||||||
interface DecayPredicateType<T extends DecayPredicate> {
|
interface DecayPredicateType<T extends DecayPredicate> {
|
||||||
DecayPredicateType<DecayPredicate> NONE_PREDICATE_TYPE = register(Util.id("none"), () -> NONE);
|
DecayPredicateType<DecayPredicate> NONE_PREDICATE_TYPE = register(DimensionalDoors.id("none"), () -> NONE);
|
||||||
DecayPredicateType<SimpleTagDecayPredicate> SIMPLE_TAG_PREDICATE_TYPE = register(Util.id(SimpleTagDecayPredicate.KEY), SimpleTagDecayPredicate::new);
|
DecayPredicateType<SimpleTagDecayPredicate> SIMPLE_TAG_PREDICATE_TYPE = register(DimensionalDoors.id(SimpleTagDecayPredicate.KEY), SimpleTagDecayPredicate::new);
|
||||||
DecayPredicateType<SimpleBlockDecayPredicate> SIMPLE_BLOCK_PREDICATE_TYPE = register(Util.id(SimpleBlockDecayPredicate.KEY), SimpleBlockDecayPredicate::new);
|
DecayPredicateType<SimpleBlockDecayPredicate> SIMPLE_BLOCK_PREDICATE_TYPE = register(DimensionalDoors.id(SimpleBlockDecayPredicate.KEY), SimpleBlockDecayPredicate::new);
|
||||||
|
|
||||||
DecayPredicate fromNbt(NbtCompound nbt);
|
DecayPredicate fromNbt(NbtCompound nbt);
|
||||||
|
|
||||||
NbtCompound toNbt(NbtCompound nbt);
|
NbtCompound toNbt(NbtCompound nbt);
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerDecayPredicates(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerDecayPredicates(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <U extends DecayPredicate> DecayPredicateType<U> register(Identifier id, Supplier<U> factory) {
|
static <U extends DecayPredicate> DecayPredicateType<U> register(Identifier id, Supplier<U> factory) {
|
||||||
|
|
|
@ -10,8 +10,7 @@ import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.world.decay.processors.DoorDecayProccessor;
|
import org.dimdev.dimdoors.world.decay.processors.DoorDecayProccessor;
|
||||||
import org.dimdev.dimdoors.world.decay.processors.DoubleDecayProcessor;
|
import org.dimdev.dimdoors.world.decay.processors.DoubleDecayProcessor;
|
||||||
import org.dimdev.dimdoors.world.decay.processors.SelfDecayProcessor;
|
import org.dimdev.dimdoors.world.decay.processors.SelfDecayProcessor;
|
||||||
|
@ -20,7 +19,7 @@ import org.dimdev.dimdoors.world.decay.processors.SimpleDecayProcesor;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public interface DecayProcessor {
|
public interface DecayProcessor {
|
||||||
Registry<DecayProcessor.DecayProcessorType<? extends DecayProcessor>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<DecayProcessor.DecayProcessorType<? extends DecayProcessor>>(RegistryKey.ofRegistry(Util.id("decay_processor_type")), Lifecycle.stable(), null)).buildAndRegister();
|
Registry<DecayProcessor.DecayProcessorType<? extends DecayProcessor>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<DecayProcessor.DecayProcessorType<? extends DecayProcessor>>(RegistryKey.ofRegistry(DimensionalDoors.id("decay_processor_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
|
|
||||||
DecayProcessor NONE = new DecayProcessor() {
|
DecayProcessor NONE = new DecayProcessor() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -69,18 +68,18 @@ public interface DecayProcessor {
|
||||||
int process(World world, BlockPos pos, BlockState origin, BlockState target);
|
int process(World world, BlockPos pos, BlockState origin, BlockState target);
|
||||||
|
|
||||||
interface DecayProcessorType<T extends DecayProcessor> {
|
interface DecayProcessorType<T extends DecayProcessor> {
|
||||||
DecayProcessorType<SimpleDecayProcesor> SIMPLE_PROCESSOR_TYPE = register(Util.id(SimpleDecayProcesor.KEY), SimpleDecayProcesor::new);
|
DecayProcessorType<SimpleDecayProcesor> SIMPLE_PROCESSOR_TYPE = register(DimensionalDoors.id(SimpleDecayProcesor.KEY), SimpleDecayProcesor::new);
|
||||||
DecayProcessorType<DecayProcessor> NONE_PROCESSOR_TYPE = register(Util.id("none"), () -> NONE);
|
DecayProcessorType<DecayProcessor> NONE_PROCESSOR_TYPE = register(DimensionalDoors.id("none"), () -> NONE);
|
||||||
DecayProcessorType<SelfDecayProcessor> SELF = register(Util.id(SelfDecayProcessor.KEY), SelfDecayProcessor::instance);
|
DecayProcessorType<SelfDecayProcessor> SELF = register(DimensionalDoors.id(SelfDecayProcessor.KEY), SelfDecayProcessor::instance);
|
||||||
DecayProcessorType<? extends DecayProcessor> DOOR_PROCESSOR_TYPE = register(Util.id(DoorDecayProccessor.KEY), DoorDecayProccessor::new);
|
DecayProcessorType<? extends DecayProcessor> DOOR_PROCESSOR_TYPE = register(DimensionalDoors.id(DoorDecayProccessor.KEY), DoorDecayProccessor::new);
|
||||||
DecayProcessorType<? extends DecayProcessor> DOUBLE_PROCESSOR_TYPE = register(Util.id(DoubleDecayProcessor.KEY), DoubleDecayProcessor::new);
|
DecayProcessorType<? extends DecayProcessor> DOUBLE_PROCESSOR_TYPE = register(DimensionalDoors.id(DoubleDecayProcessor.KEY), DoubleDecayProcessor::new);
|
||||||
|
|
||||||
DecayProcessor fromNbt(NbtCompound nbt);
|
DecayProcessor fromNbt(NbtCompound nbt);
|
||||||
|
|
||||||
NbtCompound toNbt(NbtCompound nbt);
|
NbtCompound toNbt(NbtCompound nbt);
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerDecayProcessors(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerDecayProcessors(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <U extends DecayProcessor> DecayProcessorType<U> register(Identifier id, Supplier<U> factory) {
|
static <U extends DecayProcessor> DecayProcessorType<U> register(Identifier id, Supplier<U> factory) {
|
||||||
|
|
|
@ -17,8 +17,7 @@ import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
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.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
import org.dimdev.dimdoors.api.util.ResourceUtil;
|
||||||
import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler;
|
import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler;
|
||||||
import org.dimdev.dimdoors.network.packet.s2c.RenderBreakBlockS2CPacket;
|
import org.dimdev.dimdoors.network.packet.s2c.RenderBreakBlockS2CPacket;
|
||||||
|
@ -45,7 +44,7 @@ public final class LimboDecay {
|
||||||
public static void applySpreadDecay(ServerWorld world, BlockPos pos) {
|
public static void applySpreadDecay(ServerWorld world, BlockPos pos) {
|
||||||
//Check if we randomly apply decay spread or not. This can be used to moderate the frequency of
|
//Check if we randomly apply decay spread or not. This can be used to moderate the frequency of
|
||||||
//full spread decay checks, which can also shift its performance impact on the game.
|
//full spread decay checks, which can also shift its performance impact on the game.
|
||||||
if (RANDOM.nextDouble() < DimensionalDoorsInitializer.getConfig().getLimboConfig().decaySpreadChance) {
|
if (RANDOM.nextDouble() < DimensionalDoors.getConfig().getLimboConfig().decaySpreadChance) {
|
||||||
BlockState origin = world.getBlockState(pos);
|
BlockState origin = world.getBlockState(pos);
|
||||||
|
|
||||||
//Apply decay to the blocks above, below, and on all four sides.
|
//Apply decay to the blocks above, below, and on all four sides.
|
||||||
|
@ -79,7 +78,7 @@ public final class LimboDecay {
|
||||||
ExtendedServerPlayNetworkHandler.get(player.networkHandler).getDimDoorsPacketHandler().sendPacket(new RenderBreakBlockS2CPacket(pos, 5));
|
ExtendedServerPlayNetworkHandler.get(player.networkHandler).getDimDoorsPacketHandler().sendPacket(new RenderBreakBlockS2CPacket(pos, 5));
|
||||||
});
|
});
|
||||||
world.playSound(null, pos.getX(), pos.getY(), pos.getZ(), ModSoundEvents.TEARING, SoundCategory.BLOCKS, 0.5f, 1f);
|
world.playSound(null, pos.getX(), pos.getY(), pos.getZ(), ModSoundEvents.TEARING, SoundCategory.BLOCKS, 0.5f, 1f);
|
||||||
queueDecay(world, pos, origin, pattern, DimensionalDoorsInitializer.getConfig().getLimboConfig().limboDecay);
|
queueDecay(world, pos, origin, pattern, DimensionalDoors.getConfig().getLimboConfig().limboDecay);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -137,7 +136,7 @@ public final class LimboDecay {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Identifier getFabricId() {
|
public Identifier getFabricId() {
|
||||||
return Util.id("decay_pattern");
|
return DimensionalDoors.id("decay_pattern");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBiomeTags;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.fluid.Fluids;
|
import net.minecraft.fluid.Fluids;
|
||||||
import net.minecraft.structure.rule.BlockMatchRuleTest;
|
import net.minecraft.structure.rule.BlockMatchRuleTest;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryEntry;
|
import net.minecraft.util.registry.RegistryEntry;
|
||||||
import net.minecraft.util.registry.RegistryEntryList;
|
import net.minecraft.util.registry.RegistryEntryList;
|
||||||
|
@ -14,7 +13,7 @@ import net.minecraft.world.gen.GenerationStep;
|
||||||
import net.minecraft.world.gen.YOffset;
|
import net.minecraft.world.gen.YOffset;
|
||||||
import net.minecraft.world.gen.feature.*;
|
import net.minecraft.world.gen.feature.*;
|
||||||
import net.minecraft.world.gen.placementmodifier.*;
|
import net.minecraft.world.gen.placementmodifier.*;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.block.ModBlocks;
|
import org.dimdev.dimdoors.block.ModBlocks;
|
||||||
import org.dimdev.dimdoors.world.feature.gateway.LimboGatewayFeature;
|
import org.dimdev.dimdoors.world.feature.gateway.LimboGatewayFeature;
|
||||||
import org.dimdev.dimdoors.world.feature.gateway.schematic.*;
|
import org.dimdev.dimdoors.world.feature.gateway.schematic.*;
|
||||||
|
@ -29,8 +28,8 @@ public final class ModFeatures {
|
||||||
public static final SchematicGateway TWO_PILLARS_GATEWAY = new TwoPillarsGateway();
|
public static final SchematicGateway TWO_PILLARS_GATEWAY = new TwoPillarsGateway();
|
||||||
public static final SchematicGateway END_GATEWAY = new EndGateway();
|
public static final SchematicGateway END_GATEWAY = new EndGateway();
|
||||||
|
|
||||||
public static final Feature<SchematicGatewayFeatureConfig> SCHEMATIC_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, Util.id("schematic_gateway"), new SchematicGatewayFeature(SchematicGatewayFeatureConfig.CODEC));
|
public static final Feature<SchematicGatewayFeatureConfig> SCHEMATIC_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, DimensionalDoors.id("schematic_gateway"), new SchematicGatewayFeature(SchematicGatewayFeatureConfig.CODEC));
|
||||||
public static final Feature<DefaultFeatureConfig> LIMBO_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, Util.id("limbo_gateway"), new LimboGatewayFeature());
|
public static final Feature<DefaultFeatureConfig> LIMBO_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, DimensionalDoors.id("limbo_gateway"), new LimboGatewayFeature());
|
||||||
|
|
||||||
public static void init() {
|
public static void init() {
|
||||||
SANDSTONE_PILLARS_GATEWAY.init();
|
SANDSTONE_PILLARS_GATEWAY.init();
|
||||||
|
@ -54,10 +53,10 @@ public final class ModFeatures {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Placed {
|
public static class Placed {
|
||||||
public static final RegistryEntry<PlacedFeature> SANDSTONE_PILLARS_PLACED_FEATURE = PlacedFeatures.register("dimdoors:sandstone_pillars", Configured.SANDSTONE_PILLARS_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoorsInitializer.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of()));
|
public static final RegistryEntry<PlacedFeature> SANDSTONE_PILLARS_PLACED_FEATURE = PlacedFeatures.register("dimdoors:sandstone_pillars", Configured.SANDSTONE_PILLARS_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoors.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of()));
|
||||||
public static final RegistryEntry<PlacedFeature> TWO_PILLARS_PLACED_FEATURE = PlacedFeatures.register("dimdoors:two_pillars", Configured.TWO_PILLARS_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoorsInitializer.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of()));
|
public static final RegistryEntry<PlacedFeature> TWO_PILLARS_PLACED_FEATURE = PlacedFeatures.register("dimdoors:two_pillars", Configured.TWO_PILLARS_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoors.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of()));
|
||||||
public static final RegistryEntry<PlacedFeature> END_GATEWAY_PLACED_FEATURE = PlacedFeatures.register("dimdoors:end_gateway", Configured.END_GATEWAY_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoorsInitializer.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of()));
|
public static final RegistryEntry<PlacedFeature> END_GATEWAY_PLACED_FEATURE = PlacedFeatures.register("dimdoors:end_gateway", Configured.END_GATEWAY_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoors.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of()));
|
||||||
public static final RegistryEntry<PlacedFeature> LIMBO_GATEWAY_PLACED_FEATURE = PlacedFeatures.register("dimdoors:limbo_gateway", Configured.LIMBO_GATEWAY_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoorsInitializer.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP, BiomePlacementModifier.of()));
|
public static final RegistryEntry<PlacedFeature> LIMBO_GATEWAY_PLACED_FEATURE = PlacedFeatures.register("dimdoors:limbo_gateway", Configured.LIMBO_GATEWAY_CONFIGURED_FEATURE, List.of(RarityFilterPlacementModifier.of(DimensionalDoors.getConfig().getWorldConfig().gatewayGenChance), SquarePlacementModifier.of(), PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP, BiomePlacementModifier.of()));
|
||||||
public static final RegistryEntry<PlacedFeature> SOLID_STATIC_ORE_PLACED_FEATURE = PlacedFeatures.register("dimdoors:solid_static_ore", Configured.SOLID_STATIC_ORE_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(3), HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.getTop()), SquarePlacementModifier.of(), BiomePlacementModifier.of()));
|
public static final RegistryEntry<PlacedFeature> SOLID_STATIC_ORE_PLACED_FEATURE = PlacedFeatures.register("dimdoors:solid_static_ore", Configured.SOLID_STATIC_ORE_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(3), HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.getTop()), SquarePlacementModifier.of(), BiomePlacementModifier.of()));
|
||||||
public static final RegistryEntry<PlacedFeature> DECAYED_BLOCK_ORE_PLACED_FEATURE = PlacedFeatures.register("dimdoors:decayed_block_ore", Configured.DECAYED_BLOCK_ORE_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(4), HeightRangePlacementModifier.uniform(YOffset.fixed(0), YOffset.fixed(79)), SquarePlacementModifier.of(), BiomePlacementModifier.of()));
|
public static final RegistryEntry<PlacedFeature> DECAYED_BLOCK_ORE_PLACED_FEATURE = PlacedFeatures.register("dimdoors:decayed_block_ore", Configured.DECAYED_BLOCK_ORE_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(4), HeightRangePlacementModifier.uniform(YOffset.fixed(0), YOffset.fixed(79)), SquarePlacementModifier.of(), BiomePlacementModifier.of()));
|
||||||
public static final RegistryEntry<PlacedFeature> ETERNAL_FLUID_SPRING_PLACED_FEATURE = PlacedFeatures.register("dimdoors:eternal_fluid_spring", Configured.ETERNAL_FLUID_SPRING_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(25), SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.fixed(192)), BiomePlacementModifier.of()));
|
public static final RegistryEntry<PlacedFeature> ETERNAL_FLUID_SPRING_PLACED_FEATURE = PlacedFeatures.register("dimdoors:eternal_fluid_spring", Configured.ETERNAL_FLUID_SPRING_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(25), SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.fixed(192)), BiomePlacementModifier.of()));
|
||||||
|
|
|
@ -7,7 +7,7 @@ import java.util.function.BiPredicate;
|
||||||
|
|
||||||
import com.google.common.collect.BiMap;
|
import com.google.common.collect.BiMap;
|
||||||
import com.google.common.collect.HashBiMap;
|
import com.google.common.collect.HashBiMap;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.pockets.TemplateUtils;
|
import org.dimdev.dimdoors.pockets.TemplateUtils;
|
||||||
import org.dimdev.dimdoors.api.util.BlockPlacementType;
|
import org.dimdev.dimdoors.api.util.BlockPlacementType;
|
||||||
import org.dimdev.dimdoors.util.schematic.Schematic;
|
import org.dimdev.dimdoors.util.schematic.Schematic;
|
||||||
|
@ -32,7 +32,7 @@ public abstract class SchematicGateway implements Gateway, BiPredicate<Structure
|
||||||
public void init() {
|
public void init() {
|
||||||
String schematicJarDirectory = "/data/dimdoors/gateways/";
|
String schematicJarDirectory = "/data/dimdoors/gateways/";
|
||||||
|
|
||||||
try (InputStream stream = DimensionalDoorsInitializer.class.getResourceAsStream(schematicJarDirectory + this.id + ".schem")) {
|
try (InputStream stream = DimensionalDoors.class.getResourceAsStream(schematicJarDirectory + this.id + ".schem")) {
|
||||||
if (stream == null) {
|
if (stream == null) {
|
||||||
throw new RuntimeException("Schematic '" + this.id + "' was not found in the jar or config directory, neither with the .schem extension, nor with the .schematic extension.");
|
throw new RuntimeException("Schematic '" + this.id + "' was not found in the jar or config directory, neither with the .schem extension, nor with the .schematic extension.");
|
||||||
}
|
}
|
||||||
|
@ -47,7 +47,7 @@ public abstract class SchematicGateway implements Gateway, BiPredicate<Structure
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void generate(StructureWorldAccess world, BlockPos pos) {
|
public final void generate(StructureWorldAccess world, BlockPos pos) {
|
||||||
if (DimensionalDoorsInitializer.getConfig()
|
if (DimensionalDoors.getConfig()
|
||||||
.getWorldConfig()
|
.getWorldConfig()
|
||||||
.gatewayDimBlacklist
|
.gatewayDimBlacklist
|
||||||
.contains(world.toServerWorld().getRegistryKey().getValue().toString())
|
.contains(world.toServerWorld().getRegistryKey().getValue().toString())
|
||||||
|
|
|
@ -22,7 +22,7 @@ import java.util.Map;
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static org.dimdev.dimdoors.DimensionalDoorsInitializer.getServer;
|
import static org.dimdev.dimdoors.DimensionalDoors.getServer;
|
||||||
|
|
||||||
public class DimensionalRegistry implements ComponentV3 {
|
public class DimensionalRegistry implements ComponentV3 {
|
||||||
public static final int RIFT_DATA_VERSION = 1; // Increment this number every time a new schema is added
|
public static final int RIFT_DATA_VERSION = 1; // Increment this number every time a new schema is added
|
||||||
|
|
|
@ -8,7 +8,7 @@ import net.minecraft.util.math.Vec3i;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.math.GridUtil;
|
import org.dimdev.dimdoors.api.util.math.GridUtil;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.AbstractPocket;
|
import org.dimdev.dimdoors.world.pocket.type.AbstractPocket;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.IdReferencePocket;
|
import org.dimdev.dimdoors.world.pocket.type.IdReferencePocket;
|
||||||
|
@ -31,7 +31,7 @@ public class PocketDirectory {
|
||||||
RegistryKey<World> worldKey;
|
RegistryKey<World> worldKey;
|
||||||
|
|
||||||
public PocketDirectory(RegistryKey<World> worldKey) {
|
public PocketDirectory(RegistryKey<World> worldKey) {
|
||||||
this.gridSize = DimensionalDoorsInitializer.getConfig().getPocketsConfig().pocketGridSize;
|
this.gridSize = DimensionalDoors.getConfig().getPocketsConfig().pocketGridSize;
|
||||||
this.worldKey = worldKey;
|
this.worldKey = worldKey;
|
||||||
this.nextIDMap = new TreeMap<>();
|
this.nextIDMap = new TreeMap<>();
|
||||||
this.pockets = new HashMap<>();
|
this.pockets = new HashMap<>();
|
||||||
|
|
|
@ -12,7 +12,7 @@ import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.Heightmap;
|
import net.minecraft.world.Heightmap;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.util.Location;
|
import org.dimdev.dimdoors.api.util.Location;
|
||||||
import org.dimdev.dimdoors.world.ModDimensions;
|
import org.dimdev.dimdoors.world.ModDimensions;
|
||||||
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
|
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
|
||||||
|
@ -71,7 +71,7 @@ public class VirtualLocation {
|
||||||
virtualLocation = null; // TODO: door was placed in a pockets dim but outside of a pockets...
|
virtualLocation = null; // TODO: door was placed in a pockets dim but outside of a pockets...
|
||||||
}
|
}
|
||||||
} else if (ModDimensions.isLimboDimension(location.getWorld())) { // TODO: convert to interface on worldprovider
|
} else if (ModDimensions.isLimboDimension(location.getWorld())) { // TODO: convert to interface on worldprovider
|
||||||
virtualLocation = new VirtualLocation(location.world, location.getX(), location.getZ(), DimensionalDoorsInitializer.getConfig().getDungeonsConfig().maxDungeonDepth);
|
virtualLocation = new VirtualLocation(location.world, location.getX(), location.getZ(), DimensionalDoors.getConfig().getDungeonsConfig().maxDungeonDepth);
|
||||||
} // TODO: nether coordinate transform
|
} // TODO: nether coordinate transform
|
||||||
|
|
||||||
if (virtualLocation == null) {
|
if (virtualLocation == null) {
|
||||||
|
@ -81,13 +81,13 @@ public class VirtualLocation {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Location projectToWorld(boolean acceptLimbo) {
|
public Location projectToWorld(boolean acceptLimbo) {
|
||||||
ServerWorld world = DimensionalDoorsInitializer.getServer().getWorld(this.world);
|
ServerWorld world = DimensionalDoors.getServer().getWorld(this.world);
|
||||||
|
|
||||||
if (!acceptLimbo && ModDimensions.isLimboDimension(world)) {
|
if (!acceptLimbo && ModDimensions.isLimboDimension(world)) {
|
||||||
world = world.getServer().getOverworld();
|
world = world.getServer().getOverworld();
|
||||||
}
|
}
|
||||||
|
|
||||||
float spread = DimensionalDoorsInitializer.getConfig().getGeneralConfig().depthSpreadFactor * this.depth;
|
float spread = DimensionalDoors.getConfig().getGeneralConfig().depthSpreadFactor * this.depth;
|
||||||
int newX = (int) (this.x + spread * 2 * (Math.random() - 0.5));
|
int newX = (int) (this.x + spread * 2 * (Math.random() - 0.5));
|
||||||
int newZ = (int) (this.z + spread * 2 * (Math.random() - 0.5));
|
int newZ = (int) (this.z + spread * 2 * (Math.random() - 0.5));
|
||||||
//BlockPos pos = world.getTopPosition(Heightmap.Type.WORLD_SURFACE, new BlockPos(newX, 1, newZ));
|
//BlockPos pos = world.getTopPosition(Heightmap.Type.WORLD_SURFACE, new BlockPos(newX, 1, newZ));
|
||||||
|
|
|
@ -9,15 +9,14 @@ import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.world.pocket.PocketDirectory;
|
import org.dimdev.dimdoors.world.pocket.PocketDirectory;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public abstract class AbstractPocket<V extends AbstractPocket<?>> {
|
public abstract class AbstractPocket<V extends AbstractPocket<?>> {
|
||||||
public static final Registry<AbstractPocketType<? extends AbstractPocket<?>>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<AbstractPocketType<? extends AbstractPocket<?>>>(RegistryKey.ofRegistry(Util.id("abstract_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
|
public static final Registry<AbstractPocketType<? extends AbstractPocket<?>>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<AbstractPocketType<? extends AbstractPocket<?>>>(RegistryKey.ofRegistry(DimensionalDoors.id("abstract_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
|
|
||||||
protected Integer id;
|
protected Integer id;
|
||||||
protected RegistryKey<World> world;
|
protected RegistryKey<World> world;
|
||||||
|
@ -83,11 +82,11 @@ public abstract class AbstractPocket<V extends AbstractPocket<?>> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface AbstractPocketType<T extends AbstractPocket<?>> {
|
public interface AbstractPocketType<T extends AbstractPocket<?>> {
|
||||||
AbstractPocketType<IdReferencePocket> ID_REFERENCE = register(Util.id(IdReferencePocket.KEY), IdReferencePocket::new, IdReferencePocket::builder);
|
AbstractPocketType<IdReferencePocket> ID_REFERENCE = register(DimensionalDoors.id(IdReferencePocket.KEY), IdReferencePocket::new, IdReferencePocket::builder);
|
||||||
|
|
||||||
AbstractPocketType<Pocket> POCKET = register(Util.id(Pocket.KEY), Pocket::new, Pocket::builder);
|
AbstractPocketType<Pocket> POCKET = register(DimensionalDoors.id(Pocket.KEY), Pocket::new, Pocket::builder);
|
||||||
AbstractPocketType<PrivatePocket> PRIVATE_POCKET = register(Util.id(PrivatePocket.KEY), PrivatePocket::new, PrivatePocket::builderPrivatePocket);
|
AbstractPocketType<PrivatePocket> PRIVATE_POCKET = register(DimensionalDoors.id(PrivatePocket.KEY), PrivatePocket::new, PrivatePocket::builderPrivatePocket);
|
||||||
AbstractPocketType<LazyGenerationPocket> LAZY_GENERATION_POCKET = register(Util.id(LazyGenerationPocket.KEY), LazyGenerationPocket::new, LazyGenerationPocket::builderLazyGenerationPocket);
|
AbstractPocketType<LazyGenerationPocket> LAZY_GENERATION_POCKET = register(DimensionalDoors.id(LazyGenerationPocket.KEY), LazyGenerationPocket::new, LazyGenerationPocket::builderLazyGenerationPocket);
|
||||||
|
|
||||||
|
|
||||||
T fromNbt(NbtCompound nbt);
|
T fromNbt(NbtCompound nbt);
|
||||||
|
@ -99,7 +98,7 @@ public abstract class AbstractPocket<V extends AbstractPocket<?>> {
|
||||||
AbstractPocketBuilder<?, T> builder();
|
AbstractPocketBuilder<?, T> builder();
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerAbstractPocketTypes(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerAbstractPocketTypes(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <U extends AbstractPocket<P>, P extends AbstractPocket<P>> AbstractPocketType<U> register(Identifier id, Supplier<U> supplier, Supplier<? extends AbstractPocketBuilder<?, U>> factorySupplier) {
|
static <U extends AbstractPocket<P>, P extends AbstractPocket<P>> AbstractPocketType<U> register(Identifier id, Supplier<U> supplier, Supplier<? extends AbstractPocketBuilder<?, U>> factorySupplier) {
|
||||||
|
|
|
@ -13,7 +13,7 @@ import net.minecraft.util.math.ChunkPos;
|
||||||
import net.minecraft.util.math.Vec3i;
|
import net.minecraft.util.math.Vec3i;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
|
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
|
||||||
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
|
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.addon.AddonProvider;
|
import org.dimdev.dimdoors.world.pocket.type.addon.AddonProvider;
|
||||||
|
@ -142,7 +142,7 @@ public class Pocket extends AbstractPocket<Pocket> implements AddonProvider {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<BlockPos, BlockEntity> getBlockEntities() {
|
public Map<BlockPos, BlockEntity> getBlockEntities() {
|
||||||
ServerWorld serverWorld = DimensionalDoorsInitializer.getWorld(this.getWorld());
|
ServerWorld serverWorld = DimensionalDoors.getWorld(this.getWorld());
|
||||||
Map<BlockPos, BlockEntity> blockEntities = new HashMap<>();
|
Map<BlockPos, BlockEntity> blockEntities = new HashMap<>();
|
||||||
ChunkPos.stream(new ChunkPos(new BlockPos(box.getMinX(), box.getMinY(), box.getMinZ())), new ChunkPos(new BlockPos(box.getMaxX(), box.getMaxY(), box.getMaxZ()))).forEach(chunkPos -> serverWorld.getChunk(chunkPos.x, chunkPos.z).getBlockEntities().forEach((blockPos, blockEntity) -> {
|
ChunkPos.stream(new ChunkPos(new BlockPos(box.getMinX(), box.getMinY(), box.getMinZ())), new ChunkPos(new BlockPos(box.getMaxX(), box.getMaxY(), box.getMaxZ()))).forEach(chunkPos -> serverWorld.getChunk(chunkPos.x, chunkPos.z).getBlockEntities().forEach((blockPos, blockEntity) -> {
|
||||||
if (this.box.contains(blockPos)) blockEntities.put(blockPos, blockEntity);
|
if (this.box.contains(blockPos)) blockEntities.put(blockPos, blockEntity);
|
||||||
|
|
|
@ -9,8 +9,7 @@ import net.minecraft.text.TranslatableTextContent;
|
||||||
import net.minecraft.util.DyeColor;
|
import net.minecraft.util.DyeColor;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.api.util.EntityUtils;
|
import org.dimdev.dimdoors.api.util.EntityUtils;
|
||||||
import org.dimdev.dimdoors.block.AncientFabricBlock;
|
import org.dimdev.dimdoors.block.AncientFabricBlock;
|
||||||
import org.dimdev.dimdoors.block.FabricBlock;
|
import org.dimdev.dimdoors.block.FabricBlock;
|
||||||
|
@ -20,7 +19,7 @@ import org.dimdev.dimdoors.world.pocket.type.PocketColor;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.PrivatePocket;
|
import org.dimdev.dimdoors.world.pocket.type.PrivatePocket;
|
||||||
|
|
||||||
public class DyeableAddon implements PocketAddon {
|
public class DyeableAddon implements PocketAddon {
|
||||||
public static Identifier ID = Util.id("dyeable");
|
public static Identifier ID = DimensionalDoors.id("dyeable");
|
||||||
|
|
||||||
private static final int BLOCKS_PAINTED_PER_DYE = 1000000;
|
private static final int BLOCKS_PAINTED_PER_DYE = 1000000;
|
||||||
|
|
||||||
|
@ -36,7 +35,7 @@ public class DyeableAddon implements PocketAddon {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void repaint(Pocket pocket, DyeColor dyeColor) {
|
private void repaint(Pocket pocket, DyeColor dyeColor) {
|
||||||
ServerWorld serverWorld = DimensionalDoorsInitializer.getWorld(pocket.getWorld());
|
ServerWorld serverWorld = DimensionalDoors.getWorld(pocket.getWorld());
|
||||||
BlockState innerWall = ModBlocks.fabricFromDye(dyeColor).getDefaultState();
|
BlockState innerWall = ModBlocks.fabricFromDye(dyeColor).getDefaultState();
|
||||||
BlockState outerWall = ModBlocks.ancientFabricFromDye(dyeColor).getDefaultState();
|
BlockState outerWall = ModBlocks.ancientFabricFromDye(dyeColor).getDefaultState();
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,7 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.util.registry.SimpleRegistry;
|
import net.minecraft.util.registry.SimpleRegistry;
|
||||||
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
import org.dimdev.dimdoors.world.pocket.type.Pocket;
|
import org.dimdev.dimdoors.world.pocket.type.Pocket;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.addon.blockbreak.BlockBreakContainer;
|
import org.dimdev.dimdoors.world.pocket.type.addon.blockbreak.BlockBreakContainer;
|
||||||
|
|
||||||
|
@ -16,7 +15,7 @@ import java.util.Map;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public interface PocketAddon {
|
public interface PocketAddon {
|
||||||
Registry<PocketAddonType<? extends PocketAddon>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketAddonType<? extends PocketAddon>>(RegistryKey.ofRegistry(Util.id("pocket_applicable_addon_type")), Lifecycle.stable(), null)).buildAndRegister();
|
Registry<PocketAddonType<? extends PocketAddon>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketAddonType<? extends PocketAddon>>(RegistryKey.ofRegistry(DimensionalDoors.id("pocket_applicable_addon_type")), Lifecycle.stable(), null)).buildAndRegister();
|
||||||
|
|
||||||
static PocketAddon deserialize(NbtCompound nbt) {
|
static PocketAddon deserialize(NbtCompound nbt) {
|
||||||
Identifier id = Identifier.tryParse(nbt.getString("type")); // TODO: NONE PocketAddon type;
|
Identifier id = Identifier.tryParse(nbt.getString("type")); // TODO: NONE PocketAddon type;
|
||||||
|
@ -97,7 +96,7 @@ public interface PocketAddon {
|
||||||
Identifier identifier();
|
Identifier identifier();
|
||||||
|
|
||||||
static void register() {
|
static void register() {
|
||||||
DimensionalDoorsInitializer.apiSubscribers.forEach(d -> d.registerPocketAddonTypes(REGISTRY));
|
DimensionalDoors.apiSubscribers.forEach(d -> d.registerPocketAddonTypes(REGISTRY));
|
||||||
}
|
}
|
||||||
|
|
||||||
static <U extends PocketAddon> PocketAddonType<U> register(Identifier id, Supplier<U> factory, Supplier<PocketBuilderAddon<U>> addonSupplier) {
|
static <U extends PocketAddon> PocketAddonType<U> register(Identifier id, Supplier<U> factory, Supplier<PocketBuilderAddon<U>> addonSupplier) {
|
||||||
|
|
|
@ -15,14 +15,15 @@ import net.minecraft.util.hit.BlockHitResult;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.util.math.Direction;
|
import net.minecraft.util.math.Direction;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.api.event.UseItemOnBlockCallback;
|
import org.dimdev.dimdoors.api.event.UseItemOnBlockCallback;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.Pocket;
|
import org.dimdev.dimdoors.world.pocket.type.Pocket;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class PreventBlockModificationAddon implements AutoSyncedAddon, AttackBlockCallback, PlayerBlockBreakEvents.Before, UseItemOnBlockCallback {
|
public class PreventBlockModificationAddon implements AutoSyncedAddon, AttackBlockCallback, PlayerBlockBreakEvents.Before, UseItemOnBlockCallback {
|
||||||
public static Identifier ID = Util.id("prevent_block_modification");
|
public static Identifier ID = DimensionalDoors.id("prevent_block_modification");
|
||||||
|
|
||||||
//AttackBlockCallback
|
//AttackBlockCallback
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -6,13 +6,14 @@ import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.registry.Registry;
|
import net.minecraft.util.registry.Registry;
|
||||||
import net.minecraft.util.registry.RegistryKey;
|
import net.minecraft.util.registry.RegistryKey;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.Pocket;
|
import org.dimdev.dimdoors.world.pocket.type.Pocket;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
public class SkyAddon implements AutoSyncedAddon {
|
public class SkyAddon implements AutoSyncedAddon {
|
||||||
public static Identifier ID = Util.id("sky");
|
public static Identifier ID = DimensionalDoors.id("sky");
|
||||||
|
|
||||||
private RegistryKey<World> world;
|
private RegistryKey<World> world;
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
package org.dimdev.dimdoors.world.pocket.type.addon.blockbreak;
|
package org.dimdev.dimdoors.world.pocket.type.addon.blockbreak;
|
||||||
|
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import org.dimdev.dimdoors.Util;
|
|
||||||
|
import org.dimdev.dimdoors.DimensionalDoors;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddonContainer;
|
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddonContainer;
|
||||||
import org.dimdev.dimdoors.world.pocket.type.addon.PocketAddon;
|
import org.dimdev.dimdoors.world.pocket.type.addon.PocketAddon;
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
public class BlockBreakContainer extends AutoSyncedAddonContainer<TryBlockBreakEventAddon> {
|
public class BlockBreakContainer extends AutoSyncedAddonContainer<TryBlockBreakEventAddon> {
|
||||||
public static Identifier ID = Util.id("block_break_container");
|
public static Identifier ID = DimensionalDoors.id("block_break_container");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PocketAddonType<? extends PocketAddon> getType() {
|
public PocketAddonType<? extends PocketAddon> getType() {
|
||||||
|
|
6
src/main/resources/data/c/tags/items/diamonds.json
Normal file
6
src/main/resources/data/c/tags/items/diamonds.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"minecraft:iron_ingot"
|
||||||
|
]
|
||||||
|
}
|
6
src/main/resources/data/c/tags/items/iron_ingots.json
Normal file
6
src/main/resources/data/c/tags/items/iron_ingots.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"replace": false,
|
||||||
|
"values": [
|
||||||
|
"minecraft:gold_ingot"
|
||||||
|
]
|
||||||
|
}
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"pattern": [
|
|
||||||
"##",
|
|
||||||
"##",
|
|
||||||
"##"
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"tag": "c:gold_ingots"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"item": "dimdoors:gold_door",
|
|
||||||
"count": 3
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shaped",
|
|
||||||
"pattern": [
|
|
||||||
"##",
|
|
||||||
"##",
|
|
||||||
"##"
|
|
||||||
],
|
|
||||||
"key": {
|
|
||||||
"#": {
|
|
||||||
"item": "minecraft:quartz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"result": {
|
|
||||||
"item": "dimdoors:quartz_door",
|
|
||||||
"count": 1
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{
|
|
||||||
"type": "minecraft:crafting_shapeless",
|
|
||||||
"ingredients": [
|
|
||||||
{
|
|
||||||
"item": "minecraft:ender_pearl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:iron_sword"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"item": "minecraft:ender_pearl"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"result": {
|
|
||||||
"item": "dimdoors:rift_blade"
|
|
||||||
}
|
|
||||||
}
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue