Move all recipes (except dimdoors) to json

This commit is contained in:
Shrish Deshpande 2022-12-08 18:28:49 +05:30
parent a386cef409
commit 3b481c356a
107 changed files with 344 additions and 539 deletions

View file

@ -0,0 +1,2 @@
package org.dimdev.dimdoors.datagen;public class DimdoorsRecipeProvider {
}

View file

@ -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);

View file

@ -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) {

View file

@ -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

View file

@ -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);
}
}

View file

@ -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",

View file

@ -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) {

View file

@ -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);

View file

@ -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;

View file

@ -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));

View file

@ -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) {

View file

@ -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);

View file

@ -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 {

View file

@ -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));
} }
} }
} }

View file

@ -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);
} }
} }

View file

@ -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

View file

@ -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();
} }

View file

@ -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 -> {

View file

@ -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());

View file

@ -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> {

View file

@ -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);

View file

@ -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;

View file

@ -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) {

View file

@ -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);

View file

@ -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();

View file

@ -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) {

View file

@ -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());

View file

@ -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) {

View file

@ -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) {

View file

@ -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) {

View file

@ -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})
); );
} }

View file

@ -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

View file

@ -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);

View file

@ -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)

View file

@ -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;

View file

@ -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) {

View file

@ -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();

View file

@ -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);
} }
} }

View file

@ -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);
} }

View file

@ -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)));

View file

@ -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);
} }
} }

View file

@ -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();

View file

@ -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));

View file

@ -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());

View file

@ -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;

View file

@ -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;

View file

@ -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)

View file

@ -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;

View file

@ -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 {

View file

@ -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;

View file

@ -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() {
} }

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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)

View file

@ -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();
} }

View file

@ -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;
} }
} }

View file

@ -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);
} }
/* /*

View file

@ -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");
} }
} }

View file

@ -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() {

View file

@ -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

View file

@ -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());

View file

@ -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);
} }
} }
})); }));

View file

@ -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) {

View file

@ -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]);

View file

@ -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);
} }
} }

View file

@ -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) {

View file

@ -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) {

View file

@ -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;
} }

View file

@ -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();

View file

@ -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.

View file

@ -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());

View file

@ -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)

View file

@ -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")

View file

@ -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() {
} }
} }

View file

@ -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));
} }

View file

@ -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));
} }
} }

View file

@ -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();

View file

@ -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);
} }
} }

View file

@ -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) {

View file

@ -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) {

View file

@ -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");
} }
} }

View file

@ -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()));

View file

@ -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())

View file

@ -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

View file

@ -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<>();

View file

@ -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));

View file

@ -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) {

View file

@ -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);

View file

@ -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();

View file

@ -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) {

View file

@ -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

View file

@ -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;

View file

@ -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() {

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:iron_ingot"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:gold_ingot"
]
}

View file

@ -1,17 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"##",
"##",
"##"
],
"key": {
"#": {
"tag": "c:gold_ingots"
}
},
"result": {
"item": "dimdoors:gold_door",
"count": 3
}
}

View file

@ -1,17 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"##",
"##",
"##"
],
"key": {
"#": {
"item": "minecraft:quartz"
}
},
"result": {
"item": "dimdoors:quartz_door",
"count": 1
}
}

View file

@ -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