Made util method to deal with Identifiers for dimdoors namespace

This commit is contained in:
Waterpicker 2022-09-28 06:18:14 -05:00
parent dca6fdc9bf
commit c9064574ed
82 changed files with 511 additions and 531 deletions

View file

@ -16,6 +16,7 @@ import net.minecraft.text.MutableText;
import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.criteria.PocketSpawnPointSetCondition;
import org.dimdev.dimdoors.criteria.RiftTrackedCriterion;
import org.dimdev.dimdoors.item.ModItems;
@ -28,7 +29,7 @@ public class AdvancementTab implements Consumer<Consumer<Advancement>> {
return new AdvancementDisplay(item.asItem().getDefaultStack(),
MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey)),
MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey + ".desc")),
new Identifier("dimdoors:textures/block/unravelled_fabric.png"),
Util.id("textures/block/unravelled_fabric.png"),
AdvancementFrame.TASK,
true,
true,
@ -40,7 +41,7 @@ public class AdvancementTab implements Consumer<Consumer<Advancement>> {
return new AdvancementDisplay(item.asItem().getDefaultStack(),
MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey)),
MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey + ".desc")),
new Identifier("dimdoors:textures/block/unravelled_fabric.png"),
Util.id("textures/block/unravelled_fabric.png"),
advancementFrame,
true,
true,
@ -123,7 +124,7 @@ public class AdvancementTab implements Consumer<Consumer<Advancement>> {
Advancement.Builder.create()
.display(makeDisplay(ModItems.BLACK_FABRIC, "darklight"))
.parent(doorToAdventure)
.criterion("get_fabric", InventoryChangedCriterion.Conditions.items(ItemPredicate.Builder.create().tag(TagKey.of(Registry.ITEM_KEY, new Identifier("dimdoors", "fabric"))).build()))
.criterion("get_fabric", InventoryChangedCriterion.Conditions.items(ItemPredicate.Builder.create().tag(TagKey.of(Registry.ITEM_KEY, Util.id("fabric"))).build()))
.build(advancementConsumer, "dimdoors:dimdoors/darklight");
Advancement enterLimbo = Advancement.Builder.create()
.display(makeDisplay(ModItems.MONOLITH_SPAWNER, "enter_limbo"))

View file

@ -10,6 +10,7 @@ import net.minecraft.data.client.Models;
import net.minecraft.data.client.TextureMap;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.block.ModBlocks;
public class BlockStateProvider extends FabricModelProvider {
@ -22,11 +23,11 @@ public class BlockStateProvider extends FabricModelProvider {
generator.registerDoor(ModBlocks.GOLD_DOOR);
generator.registerDoor(ModBlocks.STONE_DOOR);
generator.registerDoor(ModBlocks.QUARTZ_DOOR);
registerDoor(generator, Registry.BLOCK.get(new Identifier("dimdoors", "iron_dimensional_door")), Blocks.IRON_DOOR);
registerDoor(generator, Registry.BLOCK.get(new Identifier("dimdoors", "gold_dimensional_door")), ModBlocks.GOLD_DOOR);
registerDoor(generator, Registry.BLOCK.get(new Identifier("dimdoors", "quartz_dimensional_door")), ModBlocks.QUARTZ_DOOR);
registerDoor(generator, Registry.BLOCK.get(new Identifier("dimdoors", "oak_dimensional_door")), Blocks.OAK_DOOR);
// registerDoor(generator, Registry.BLOCK.get(new Identifier("dimdoors", "dungeon_door")), ModBlocks.STONE_DOOR);
registerDoor(generator, Registry.BLOCK.get(Util.id("iron_dimensional_door")), Blocks.IRON_DOOR);
registerDoor(generator, Registry.BLOCK.get(Util.id("gold_dimensional_door")), ModBlocks.GOLD_DOOR);
registerDoor(generator, Registry.BLOCK.get(Util.id("quartz_dimensional_door")), ModBlocks.QUARTZ_DOOR);
registerDoor(generator, Registry.BLOCK.get(Util.id("oak_dimensional_door")), Blocks.OAK_DOOR);
// registerDoor(generator, Registry.BLOCK.get(Util.id("dungeon_door")), ModBlocks.STONE_DOOR);
}
public void registerDoor(BlockStateModelGenerator generator, Block doorBlock, Block textureSource) {

View file

@ -1,20 +1,19 @@
package org.dimdev.dimdoors.datagen;
import java.util.Map;
import java.util.function.Consumer;
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
import net.minecraft.advancement.criterion.InventoryChangedCriterion;
import net.minecraft.block.Block;
import net.minecraft.block.Blocks;
import net.minecraft.data.server.recipe.RecipeJsonProvider;
import net.minecraft.data.server.recipe.ShapedRecipeJsonBuilder;
import net.minecraft.item.DyeItem;
import net.minecraft.util.DyeColor;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.item.ModItems;
import net.minecraft.advancement.criterion.InventoryChangedCriterion;
import net.minecraft.block.Block;
import net.minecraft.item.DyeItem;
import net.minecraft.util.DyeColor;
import net.minecraft.util.Identifier;
import java.util.Map;
import java.util.function.Consumer;
public class FabricRecipeProvider extends net.fabricmc.fabric.api.datagen.v1.provider.FabricRecipeProvider {
@ -31,7 +30,7 @@ public class FabricRecipeProvider extends net.fabricmc.fabric.api.datagen.v1.pro
.pattern("XX")
.input('X', Blocks.STONE)
.criterion("inventory_changed", InventoryChangedCriterion.Conditions.items(Blocks.STONE))
.offerTo(exporter, new Identifier("dimdoors", "stone_door"));
.offerTo(exporter, Util.id("stone_door"));
for (Map.Entry<DyeColor, Block> entry : ModBlocks.FABRIC_BLOCKS.entrySet()) {
DyeColor dyeColor = entry.getKey();
@ -44,7 +43,7 @@ public class FabricRecipeProvider extends net.fabricmc.fabric.api.datagen.v1.pro
.pattern(" X ")
.input('X', ModItems.WORLD_THREAD)
.input('D', DyeItem.byColor(dyeColor))
.offerTo(exporter, new Identifier("dimdoors", dyeColor.getName() + "_fabric"));
.offerTo(exporter, Util.id(dyeColor.getName() + "_fabric"));
}
}

View file

@ -3,7 +3,7 @@ package org.dimdev.dimdoors;
import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentFactoryRegistry;
import dev.onyxstudios.cca.api.v3.chunk.ChunkComponentInitializer;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import dev.onyxstudios.cca.api.v3.component.ComponentKey;
import dev.onyxstudios.cca.api.v3.component.ComponentRegistryV3;
@ -18,9 +18,9 @@ import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
@SuppressWarnings("UnstableApiUsage")
public class DimensionalDoorsComponents implements LevelComponentInitializer, ItemComponentInitializer, ChunkComponentInitializer {
public static final ComponentKey<DimensionalRegistry> DIMENSIONAL_REGISTRY_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(new Identifier("dimdoors:dimensional_registry"), DimensionalRegistry.class);
public static final ComponentKey<CounterComponent> COUNTER_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(new Identifier("dimdoors:counter"), CounterComponent.class);
public static final ComponentKey<ChunkLazilyGeneratedComponent> CHUNK_LAZILY_GENERATED_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(new Identifier("dimdoors:chunk_lazily_generated"), ChunkLazilyGeneratedComponent.class);
public static final ComponentKey<DimensionalRegistry> DIMENSIONAL_REGISTRY_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(Util.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<ChunkLazilyGeneratedComponent> CHUNK_LAZILY_GENERATED_COMPONENT_KEY = ComponentRegistryV3.INSTANCE.getOrCreate(Util.id("chunk_lazily_generated"), ChunkLazilyGeneratedComponent.class);
@Override
public void registerLevelComponentFactories(LevelComponentFactoryRegistry registry) {

View file

@ -1,37 +1,43 @@
package org.dimdev.dimdoors;
import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
import java.util.function.Supplier;
import net.minecraft.util.registry.Registry;
import me.shedaniel.autoconfig.AutoConfig;
import me.shedaniel.autoconfig.ConfigHolder;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerChunkEvents;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
import net.fabricmc.fabric.api.event.player.AttackBlockCallback;
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
import net.fabricmc.fabric.api.event.player.UseItemCallback;
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import net.minecraft.resource.ResourceType;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.api.DimensionalDoorsApi;
import org.dimdev.dimdoors.api.event.UseItemOnBlockCallback;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.block.door.DimensionalDoorBlockRegistrar;
import org.dimdev.dimdoors.block.door.data.condition.Condition;
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
import org.dimdev.dimdoors.command.ModCommands;
import org.dimdev.dimdoors.command.PocketCommand;
import org.dimdev.dimdoors.criteria.ModCriteria;
import org.dimdev.dimdoors.enchantment.ModEnchants;
import org.dimdev.dimdoors.entity.ModEntityTypes;
import org.dimdev.dimdoors.criteria.ModCriteria;
import org.dimdev.dimdoors.entity.stat.ModStats;
import org.dimdev.dimdoors.api.event.UseItemOnBlockCallback;
import org.dimdev.dimdoors.fluid.ModFluids;
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
import org.dimdev.dimdoors.item.ModItems;
import org.dimdev.dimdoors.listener.AttackBlockCallbackListener;
import org.dimdev.dimdoors.listener.ChunkLoadListener;
import org.dimdev.dimdoors.listener.UseDoorItemOnBlockCallbackListener;
import org.dimdev.dimdoors.listener.pocket.PlayerBlockBreakEventBeforeListener;
import org.dimdev.dimdoors.listener.pocket.PocketAttackBlockCallbackListener;
import org.dimdev.dimdoors.listener.pocket.UseBlockCallbackListener;
import org.dimdev.dimdoors.listener.pocket.UseItemCallbackListener;
import org.dimdev.dimdoors.listener.pocket.UseItemOnBlockCallbackListener;
import org.dimdev.dimdoors.listener.pocket.*;
import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler;
import org.dimdev.dimdoors.particle.ModParticleTypes;
import org.dimdev.dimdoors.pockets.PocketLoader;
@ -45,30 +51,16 @@ import org.dimdev.dimdoors.world.ModBiomes;
import org.dimdev.dimdoors.world.ModDimensions;
import org.dimdev.dimdoors.world.decay.DecayPredicate;
import org.dimdev.dimdoors.world.decay.DecayProcessor;
import org.dimdev.dimdoors.world.feature.ModFeatures;
import org.dimdev.dimdoors.world.decay.LimboDecay;
import org.dimdev.dimdoors.world.feature.ModFeatures;
import org.dimdev.dimdoors.world.pocket.type.AbstractPocket;
import org.dimdev.dimdoors.world.pocket.type.addon.PocketAddon;
import org.jetbrains.annotations.NotNull;
import net.minecraft.resource.ResourceType;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerChunkEvents;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
import net.fabricmc.fabric.api.event.player.AttackBlockCallback;
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
import net.fabricmc.fabric.api.event.player.UseItemCallback;
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import java.nio.file.Path;
import java.util.Collections;
import java.util.List;
import java.util.function.Supplier;
public class DimensionalDoorsInitializer implements ModInitializer {
public static List<DimensionalDoorsApi> apiSubscribers = Collections.emptyList();
@ -138,8 +130,8 @@ public class DimensionalDoorsInitializer implements ModInitializer {
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(PocketLoader.getInstance());
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(LimboDecay.DecayLoader.getInstance());
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("dimdoors", "default"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().defaultPocketsResourcePackActivationType.asResourcePackActivationType());
ResourceManagerHelper.registerBuiltinResourcePack(new Identifier("dimdoors", "classic"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().classicPocketsResourcePackActivationType.asResourcePackActivationType());
ResourceManagerHelper.registerBuiltinResourcePack(Util.id("default"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().defaultPocketsResourcePackActivationType.asResourcePackActivationType());
ResourceManagerHelper.registerBuiltinResourcePack(Util.id("classic"), dimDoorsMod, CONFIG_MANAGER.get().getPocketsConfig().classicPocketsResourcePackActivationType.asResourcePackActivationType());
registerListeners();
apiSubscribers.forEach(DimensionalDoorsApi::postInitialize);

View file

@ -1,5 +1,17 @@
package org.dimdev.dimdoors;
import me.shedaniel.autoconfig.ConfigData;
import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.autoconfig.serializer.ConfigSerializer;
import me.shedaniel.autoconfig.util.Utils;
import me.shedaniel.cloth.clothconfig.shadowed.blue.endless.jankson.Jankson;
import me.shedaniel.clothconfig2.gui.entries.SelectionListEntry;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.EnvironmentInterface;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import net.minecraft.util.Identifier;
import org.jetbrains.annotations.NotNull;
import java.io.BufferedWriter;
import java.io.IOException;
import java.nio.file.Files;
@ -9,21 +21,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Set;
import me.shedaniel.autoconfig.ConfigData;
import me.shedaniel.autoconfig.annotation.Config;
import me.shedaniel.autoconfig.serializer.ConfigSerializer;
import me.shedaniel.autoconfig.util.Utils;
import me.shedaniel.cloth.clothconfig.shadowed.blue.endless.jankson.Jankson;
import me.shedaniel.clothconfig2.gui.entries.SelectionListEntry;
import org.jetbrains.annotations.NotNull;
import net.minecraft.util.Identifier;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.EnvironmentInterface;
import net.fabricmc.fabric.api.resource.ResourcePackActivationType;
import static me.shedaniel.autoconfig.annotation.ConfigEntry.*;
import static me.shedaniel.autoconfig.annotation.ConfigEntry.Category;
import static me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.*;
import static me.shedaniel.autoconfig.annotation.ConfigEntry.Gui.EnumHandler.EnumDisplayOption.BUTTON;

View file

@ -0,0 +1,9 @@
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

@ -1,22 +1,16 @@
package org.dimdev.dimdoors.api.client;
import java.util.Collections;
import net.minecraft.util.math.random.Random;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import org.dimdev.dimdoors.client.ModShaders;
import org.dimdev.dimdoors.mixin.client.accessor.RenderLayerAccessor;
import net.minecraft.client.model.ModelPart;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.RenderPhase;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.VertexFormat;
import net.minecraft.client.render.VertexFormats;
import net.minecraft.client.render.*;
import net.minecraft.client.render.block.entity.EndPortalBlockEntityRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.client.ModShaders;
import java.util.Collections;
@Environment(EnvType.CLIENT)
public final class DimensionalPortalRenderer {
@ -41,7 +35,7 @@ public final class DimensionalPortalRenderer {
}
static {
WARP_PATH = new Identifier("dimdoors:textures/other/warp.png");
WARP_PATH = Util.id("textures/other/warp.png");
DIMENSIONAL_PORTAL_SHADER = new RenderPhase.Shader(ModShaders::getDimensionalPortal);
RENDER_LAYER = RenderLayerFactory.create(
"dimensional_portal",

View file

@ -2,8 +2,6 @@ package org.dimdev.dimdoors.api.util;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import net.minecraft.block.BlockState;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.fluid.FluidState;
@ -14,6 +12,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
public class Location {
public static final Codec<Location> CODEC = RecordCodecBuilder.create(instance -> {

View file

@ -7,13 +7,13 @@ import net.minecraft.block.Material;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.tag.TagKey;
import net.minecraft.util.DyeColor;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.registry.Registry;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
public class FabricBlock extends Block {
public static final TagKey<Block> BLOCK_TAG = TagKey.of(Registry.BLOCK_KEY, new Identifier("dimdoors", "fabric"));
public static final TagKey<Block> BLOCK_TAG = TagKey.of(Registry.BLOCK_KEY, Util.id("fabric"));
FabricBlock(DyeColor color) {
super(FabricBlockSettings.of(Material.STONE, color).strength(1.2F).luminance(15));

View file

@ -15,8 +15,8 @@ import net.minecraft.text.MutableText;
import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
import org.dimdev.dimdoors.listener.BlockRegistryEntryAddedListener;
@ -58,7 +58,7 @@ public class DimensionalDoorBlockRegistrar {
}
private void register(Identifier identifier, Block original, BiFunction<AbstractBlock.Settings, Block, ? extends Block> constructor) {
Identifier gennedId = new Identifier("dimdoors", PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
Identifier gennedId = Util.id(PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
Block dimBlock = Registry.register(registry, gennedId, constructor.apply(FabricBlockSettings.copy(original), original));
ModBlockEntityTypes.ENTRANCE_RIFT.addBlock(dimBlock);
mappedDoorBlocks.put(gennedId, identifier);

View file

@ -1,30 +1,28 @@
package org.dimdev.dimdoors.block.door.data;
import java.util.*;
import java.util.function.Consumer;
import com.google.common.collect.ImmutableMap;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import net.minecraft.item.ItemGroup;
import org.dimdev.dimdoors.block.door.DimensionalDoorBlock;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
import org.dimdev.dimdoors.item.DimensionalDoorItem;
import org.dimdev.dimdoors.item.ItemExtensions;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.util.TriState;
import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.Util;
import net.minecraft.util.registry.Registry;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.fabricmc.fabric.api.util.TriState;
import org.dimdev.dimdoors.block.door.DimensionalDoorBlock;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
import org.dimdev.dimdoors.item.DimensionalDoorItem;
import org.dimdev.dimdoors.item.ItemExtensions;
import org.dimdev.dimdoors.item.ModItems;
import org.dimdev.dimdoors.mixin.accessor.ItemGroupAccessor;
import java.util.*;
import java.util.function.Consumer;
@SuppressWarnings("OptionalUsedAsFieldOrParameterType")
public final class DoorData implements AutoCloseable {
private static final Map<String, ItemGroup> itemGroupCache = new HashMap<>();

View file

@ -1,22 +1,21 @@
package org.dimdev.dimdoors.block.door.data.condition;
import java.util.Objects;
import java.util.function.Function;
import com.google.gson.JsonObject;
import com.mojang.serialization.Lifecycle;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import java.util.Objects;
import java.util.function.Function;
public interface Condition {
Registry<ConditionType<?>> REGISTRY = FabricRegistryBuilder.<ConditionType<?>, SimpleRegistry<ConditionType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(new Identifier("dimdoors", "rift_data_condition")), Lifecycle.stable(), null)).buildAndRegister();
Registry<ConditionType<?>> REGISTRY = FabricRegistryBuilder.<ConditionType<?>, SimpleRegistry<ConditionType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(Util.id("rift_data_condition")), Lifecycle.stable(), null)).buildAndRegister();
boolean matches(EntranceRiftBlockEntity rift);
@ -53,7 +52,7 @@ public interface Condition {
}
static <T extends Condition> ConditionType<T> register(String name, Function<JsonObject, T> fromJson) {
return Registry.register(REGISTRY, new Identifier("dimdoors", name), json -> fromJson.apply(json));
return Registry.register(REGISTRY, Util.id(name), json -> fromJson.apply(json));
}
}
}

View file

@ -1,12 +1,11 @@
package org.dimdev.dimdoors.block.door.data.condition;
import com.google.gson.JsonObject;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
public record WorldMatchCondition(RegistryKey<World> world) implements Condition {
public static WorldMatchCondition fromJson(JsonObject json) {

View file

@ -1,33 +1,31 @@
package org.dimdev.dimdoors.client;
import java.util.Objects;
import com.flowpowered.math.TrigMath;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.LightmapTextureManager;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
import org.dimdev.dimdoors.client.tesseract.Tesseract;
import org.dimdev.dimdoors.api.util.RGBA;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.block.entity.BlockEntityRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Hand;
import net.minecraft.util.Identifier;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.RGBA;
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
import org.dimdev.dimdoors.client.tesseract.Tesseract;
import org.dimdev.dimdoors.item.ModItems;
import org.dimdev.dimdoors.rift.targets.IdMarker;
import java.util.Objects;
@Environment(EnvType.CLIENT)
public class DetachedRiftBlockEntityRenderer implements BlockEntityRenderer<DetachedRiftBlockEntity> {
public static final Identifier TESSERACT_PATH = new Identifier("dimdoors:textures/other/tesseract.png");
public static final Identifier TESSERACT_PATH = Util.id("textures/other/tesseract.png");
private static final RGBA DEFAULT_COLOR = new RGBA(1, 0.5f, 1, 1);
private static final Tesseract TESSERACT = new Tesseract();

View file

@ -9,6 +9,7 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.math.Matrix4f;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.listener.pocket.PocketListenerUtil;
import org.dimdev.dimdoors.world.ModDimensions;
import org.dimdev.dimdoors.world.pocket.type.addon.SkyAddon;
@ -16,8 +17,8 @@ import org.dimdev.dimdoors.world.pocket.type.addon.SkyAddon;
import java.util.List;
public class DimensionRenderering {
private static final Identifier MOON_RENDER_PATH = new Identifier("dimdoors:textures/other/limbo_moon.png");
private static final Identifier SUN_RENDER_PATH = new Identifier("dimdoors:textures/other/limbo_sun.png");
private static final Identifier MOON_RENDER_PATH = Util.id("textures/other/limbo_moon.png");
private static final Identifier SUN_RENDER_PATH = Util.id("textures/other/limbo_sun.png");
public static void initClient() {
DimensionRenderingRegistry.CloudRenderer noCloudRenderer = context -> {

View file

@ -10,6 +10,7 @@ import net.minecraft.state.property.Property;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.block.door.DimensionalDoorBlockRegistrar;
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
import org.jetbrains.annotations.Nullable;
@ -19,7 +20,7 @@ import java.util.Set;
import java.util.stream.Collectors;
public class DimensionalDoorModelVariantProvider implements ModelVariantProvider {
private static final Identifier childItem = new Identifier("dimdoors:item/child_item");
private static final Identifier childItem = Util.id("item/child_item");
@Override
public @Nullable UnbakedModel loadModelVariant(ModelIdentifier modelId, ModelProviderContext context) throws ModelProviderException {

View file

@ -1,6 +1,6 @@
package org.dimdev.dimdoors.client;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.entity.MaskEntity;
//import software.bernie.geckolib3.model.AnimatedGeoModel;
@ -8,16 +8,16 @@ import org.dimdev.dimdoors.entity.MaskEntity;
//public class MaskModel extends AnimatedGeoModel<MaskEntity> {
// @Override
// public Identifier getModelLocation(MaskEntity object) {
// return new Identifier("dimdoors:geo/mob/mask/mask.geo.json");
// return Util.id("geo/mob/mask/mask.geo.json");
// }
//
// @Override
// public Identifier getTextureLocation(MaskEntity object) {
// return new Identifier("dimdoors:textures/mob/mask/mask.png");
// return Util.id("textures/mob/mask/mask.png");
// }
//
// @Override
// public Identifier getAnimationFileLocation(MaskEntity animatable) {
// return new Identifier("dimdoors:animations/mob/mask/mask.animation.json");
// return Util.id("animations/mob/mask/mask.animation.json");
// }
//}

View file

@ -1,12 +1,11 @@
package org.dimdev.dimdoors.client;
import net.minecraft.client.render.entity.model.EntityModelLayer;
import net.minecraft.util.Identifier;
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
import net.minecraft.client.render.entity.model.EntityModelLayer;
import org.dimdev.dimdoors.Util;
public class ModEntityModelLayers {
public static EntityModelLayer MONOLITH = new EntityModelLayer(new Identifier("dimdoors:monolith"), "body");
public static EntityModelLayer MONOLITH = new EntityModelLayer(Util.id("monolith"), "body");
public static void initClient() {
EntityModelLayerRegistry.registerModelLayer(MONOLITH, MonolithModel::getTexturedModelData);

View file

@ -1,45 +1,41 @@
package org.dimdev.dimdoors.client;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.MobEntityRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.entity.MonolithEntity;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.entity.MobEntityRenderer;
import org.dimdev.dimdoors.entity.MonolithEntity;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.Identifier;
import org.jetbrains.annotations.Nullable;
@Environment(EnvType.CLIENT)
public class MonolithRenderer extends MobEntityRenderer<MonolithEntity, MonolithModel> {
public static final List<Identifier> MONOLITH_TEXTURES = Stream.of(
new Identifier("dimdoors:textures/mob/monolith/monolith0.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith1.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith2.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith3.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith4.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith5.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith6.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith7.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith8.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith9.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith10.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith11.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith12.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith13.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith14.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith15.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith16.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith17.png"),
new Identifier("dimdoors:textures/mob/monolith/monolith18.png")
Util.id("textures/mob/monolith/monolith0.png"),
Util.id("textures/mob/monolith/monolith1.png"),
Util.id("textures/mob/monolith/monolith2.png"),
Util.id("textures/mob/monolith/monolith3.png"),
Util.id("textures/mob/monolith/monolith4.png"),
Util.id("textures/mob/monolith/monolith5.png"),
Util.id("textures/mob/monolith/monolith6.png"),
Util.id("textures/mob/monolith/monolith7.png"),
Util.id("textures/mob/monolith/monolith8.png"),
Util.id("textures/mob/monolith/monolith9.png"),
Util.id("textures/mob/monolith/monolith10.png"),
Util.id("textures/mob/monolith/monolith11.png"),
Util.id("textures/mob/monolith/monolith12.png"),
Util.id("textures/mob/monolith/monolith13.png"),
Util.id("textures/mob/monolith/monolith14.png"),
Util.id("textures/mob/monolith/monolith15.png"),
Util.id("textures/mob/monolith/monolith16.png"),
Util.id("textures/mob/monolith/monolith17.png"),
Util.id("textures/mob/monolith/monolith18.png")
).collect(Collectors.toList());
private static MonolithModel INSTANCE;

View file

@ -1,25 +1,24 @@
package org.dimdev.dimdoors.client;
import net.minecraft.util.math.random.Random;
import com.flowpowered.math.vector.VectorNi;
import com.mojang.blaze3d.systems.RenderSystem;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.*;
import org.dimdev.dimdoors.api.client.RenderLayerFactory;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.random.Random;
import org.dimdev.dimdoors.Util;
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_ZERO;
@Environment(EnvType.CLIENT)
public class MyRenderLayer extends RenderLayer {
public static final Identifier WARP_PATH = new Identifier("dimdoors:textures/other/warp.png");
public static final Identifier WARP_PATH = Util.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);
private static final Identifier KEY_PATH = new Identifier("dimdoors:textures/other/keyhole.png");
private static final Identifier KEYHOLE_LIGHT = new Identifier("dimdoors:textures/other/keyhole_light.png");
private static final Identifier KEY_PATH = Util.id("textures/other/keyhole.png");
private static final Identifier KEYHOLE_LIGHT = Util.id("textures/other/keyhole_light.png");
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) {

View file

@ -8,6 +8,7 @@ import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
@ -17,7 +18,7 @@ import java.util.Objects;
public enum EntranceRiftProvider implements IBlockComponentProvider {
INSTANCE;
private static final Identifier ID = new Identifier("dimdoors", "entrance_rift_provider");
private static final Identifier ID = Util.id("entrance_rift_provider");
@Override
public void appendBody(ITooltip tooltip, IBlockAccessor accessor, IPluginConfig config) {

View file

@ -1,16 +1,16 @@
package org.dimdev.dimdoors.criteria;
import com.google.gson.JsonObject;
import net.minecraft.advancement.criterion.AbstractCriterion;
import net.minecraft.advancement.criterion.AbstractCriterionConditions;
import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer;
import net.minecraft.predicate.entity.EntityPredicate;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
public class PocketSpawnPointSetCondition extends AbstractCriterion<PocketSpawnPointSetCondition.Conditions> {
public static final Identifier ID = new Identifier("dimdoors", "pocket_spawn_point_set");
public static final Identifier ID = Util.id("pocket_spawn_point_set");
@Override
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {

View file

@ -1,16 +1,16 @@
package org.dimdev.dimdoors.criteria;
import com.google.gson.JsonObject;
import net.minecraft.advancement.criterion.AbstractCriterion;
import net.minecraft.advancement.criterion.AbstractCriterionConditions;
import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer;
import net.minecraft.predicate.entity.EntityPredicate;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
public class RiftTrackedCriterion extends AbstractCriterion<RiftTrackedCriterion.Conditions> {
public static final Identifier ID = new Identifier("dimdoors", "rift_tracked");
public static final Identifier ID = Util.id("rift_tracked");
@Override
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {

View file

@ -1,9 +1,6 @@
package org.dimdev.dimdoors.criteria;
import java.util.Objects;
import com.google.gson.JsonObject;
import net.minecraft.advancement.criterion.AbstractCriterion;
import net.minecraft.advancement.criterion.AbstractCriterionConditions;
import net.minecraft.block.Block;
@ -15,9 +12,12 @@ import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.tag.TagKey;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.Util;
import java.util.Objects;
public class TagBlockBreakCriteria extends AbstractCriterion<TagBlockBreakCriteria.Conditions> {
public static final Identifier ID = new Identifier("dimdoors", "tag_block_break");
public static final Identifier ID = Util.id("tag_block_break");
@Override
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {

View file

@ -3,7 +3,7 @@ package org.dimdev.dimdoors.enchantment;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.EnchantmentTarget;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.registry.Registry;
public class ModEnchants {
@ -12,7 +12,7 @@ public class ModEnchants {
public static void init() {
STRING_THEORY_ENCHANTMENT = Registry.register(
Registry.ENCHANTMENT,
new Identifier("dimdoors", "string_theory"),
Util.id("string_theory"),
new StringTheoryEnchantment(Enchantment.Rarity.UNCOMMON, EnchantmentTarget.WEARABLE, new EquipmentSlot[] {EquipmentSlot.FEET, EquipmentSlot.LEGS, EquipmentSlot.CHEST, EquipmentSlot.HEAD})
);
}

View file

@ -1,9 +1,8 @@
package org.dimdev.dimdoors.entity.stat;
import org.dimdev.dimdoors.mixin.accessor.StatsAccessor;
import net.minecraft.stat.StatFormatter;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.mixin.accessor.StatsAccessor;
public class ModStats {
public static final Identifier DEATHS_IN_POCKETS = StatsAccessor.invokeRegister("dimdoors:deaths_in_pocket", StatFormatter.DEFAULT);

View file

@ -1,9 +1,12 @@
package org.dimdev.dimdoors.fluid;
import java.util.function.Function;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler;
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry;
import net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.texture.Sprite;
import net.minecraft.fluid.FlowableFluid;
@ -16,12 +19,9 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.BlockRenderView;
import org.dimdev.dimdoors.Util;
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandler;
import net.fabricmc.fabric.api.client.render.fluid.v1.FluidRenderHandlerRegistry;
import net.fabricmc.fabric.api.event.client.ClientSpriteRegistryCallback;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
import java.util.function.Function;
public class ModFluids {
public static final FlowableFluid ETERNAL_FLUID = register("dimdoors:eternal_fluid", new EternalFluid.Still());
@ -35,7 +35,7 @@ public class ModFluids {
}
public static void initClient() {
setupFluidRendering(ModFluids.ETERNAL_FLUID, ModFluids.FLOWING_ETERNAL_FLUID, new Identifier("dimdoors:eternal_fluid"));
setupFluidRendering(ModFluids.ETERNAL_FLUID, ModFluids.FLOWING_ETERNAL_FLUID, Util.id("eternal_fluid"));
}
@Environment(EnvType.CLIENT)

View file

@ -22,6 +22,7 @@ import net.minecraft.util.registry.Registry;
import org.apache.commons.lang3.tuple.ImmutableTriple;
import org.apache.commons.lang3.tuple.Triple;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.function.QuadFunction;
import org.dimdev.dimdoors.block.door.DimensionalDoorBlock;
import org.dimdev.dimdoors.block.door.DimensionalTrapdoorBlock;
@ -112,7 +113,7 @@ public class DimensionalDoorItemRegistrar {
private void register(Identifier identifier, Item original, Block block, Function<Block, BlockItem> dimItem) {
if (!DoorData.PARENT_ITEMS.contains(original)) {
Identifier gennedId = new Identifier("dimdoors", PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
Identifier gennedId = Util.id(PREFIX + identifier.getNamespace() + "_" + identifier.getPath());
BlockItem item = Registry.register(registry, gennedId, dimItem.apply(block));
placementFunctions.put(original, item::place);
if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {

View file

@ -4,7 +4,7 @@ import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.minecraft.block.Block;
import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.*;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.entity.ModEntityTypes;
@ -24,7 +24,7 @@ public final class ModItems {
public static final Registry<Item> REGISTRY = Registry.ITEM;
public static final ItemGroup DIMENSIONAL_DOORS = FabricItemGroupBuilder
.create(new Identifier("dimdoors", "dimensional_doors"))
.create(Util.id("dimensional_doors"))
.icon(() -> new ItemStack(ModItems.RIFT_BLADE))
.build();

View file

@ -1,5 +1,11 @@
package org.dimdev.dimdoors.mixin;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.Identifier;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.mixin.accessor.EntityAccessor;
import org.dimdev.dimdoors.world.ModDimensions;
@ -11,13 +17,6 @@ import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.Identifier;
import net.minecraft.world.World;
@Mixin(value = PlayerEntity.class, priority = 900)
public abstract class PlayerEntityMixin extends LivingEntity {

View file

@ -1,13 +1,12 @@
package org.dimdev.dimdoors.mixin;
import java.util.Objects;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.RegistryKey;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.RegistryKey;
import java.util.Objects;
@Mixin(RegistryKey.class)
public class RegistryKeyMixin {

View file

@ -1,19 +1,18 @@
package org.dimdev.dimdoors.mixin;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import com.mojang.datafixers.util.Pair;
import net.minecraft.structure.pool.StructurePool;
import net.minecraft.structure.pool.StructurePoolElement;
import net.minecraft.structure.processor.StructureProcessorLists;
import net.minecraft.util.Identifier;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
import net.minecraft.structure.pool.StructurePool;
import net.minecraft.structure.pool.StructurePoolElement;
import net.minecraft.structure.processor.StructureProcessorLists;
import net.minecraft.util.Identifier;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
@Mixin(StructurePool.class)
public class StructurePoolMixin {

View file

@ -1,11 +1,10 @@
package org.dimdev.dimdoors.mixin.accessor;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
import net.minecraft.stat.StatFormatter;
import net.minecraft.stat.Stats;
import net.minecraft.util.Identifier;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(Stats.class)
public interface StatsAccessor {

View file

@ -26,7 +26,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.math.Matrix4f;
import net.minecraft.util.math.Vec3f;
import net.minecraft.util.registry.RegistryKey;

View file

@ -3,7 +3,6 @@ package org.dimdev.dimdoors.network;
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
import net.fabricmc.fabric.api.networking.v1.PacketSender;
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.PacketByteBuf;
@ -29,7 +28,8 @@ import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddon;
import java.io.IOException;
import java.util.*;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Supplier;
// each client has their own corresponding ServerPacketHandler, so feel free to add client specific data in here

View file

@ -1,12 +1,14 @@
package org.dimdev.dimdoors.network.client;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.function.Supplier;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.client.CustomBreakBlockHandler;
@ -18,16 +20,12 @@ import org.dimdev.dimdoors.network.packet.s2c.*;
import org.dimdev.dimdoors.particle.client.MonolithParticle;
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddon;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.function.Supplier;
@Environment(EnvType.CLIENT)
public class ClientPacketHandler implements ClientPacketListener {

View file

@ -7,14 +7,14 @@ import net.minecraft.util.Hand;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.network.ServerPacketListener;
import org.dimdev.dimdoors.network.SimplePacket;
import java.io.IOException;
public class HitBlockWithItemC2SPacket implements SimplePacket<ServerPacketListener> {
public static final Identifier ID = new Identifier("dimdoors", "hit_block_with_item");
public static final Identifier ID = Util.id("hit_block_with_item");
private Hand hand;
private BlockPos pos;

View file

@ -2,14 +2,14 @@ package org.dimdev.dimdoors.network.packet.c2s;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.network.ServerPacketListener;
import org.dimdev.dimdoors.network.SimplePacket;
import java.io.IOException;
public class NetworkHandlerInitializedC2SPacket implements SimplePacket<ServerPacketListener> {
public static final Identifier ID = new Identifier("dimdoors", "network_handler_initialized");
public static final Identifier ID = Util.id("network_handler_initialized");
@Override
public SimplePacket<ServerPacketListener> read(PacketByteBuf buf) throws IOException {

View file

@ -1,18 +1,17 @@
package org.dimdev.dimdoors.network.packet.s2c;
import java.io.IOException;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import java.io.IOException;
public class MonolithAggroParticlesPacket implements SimplePacket<ClientPacketListener> {
public static final Identifier ID = new Identifier("dimdoors", "monolith_aggro_particles");
public static final Identifier ID = Util.id("monolith_aggro_particles");
private int aggro;

View file

@ -1,15 +1,15 @@
package org.dimdev.dimdoors.network.packet.s2c;
import java.io.IOException;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import java.io.IOException;
public class MonolithTeleportParticlesPacket implements SimplePacket<ClientPacketListener> {
public static final Identifier ID = new Identifier("dimdoors", "monolith_tp_particles");
public static final Identifier ID = Util.id("monolith_tp_particles");
public MonolithTeleportParticlesPacket() {
}

View file

@ -5,14 +5,14 @@ import net.fabricmc.api.Environment;
import net.minecraft.item.ItemStack;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import java.io.IOException;
public class PlayerInventorySlotUpdateS2CPacket implements SimplePacket<ClientPacketListener> {
public static final Identifier ID = new Identifier("dimdoors:player_inventory_slot_update");
public static final Identifier ID = Util.id("player_inventory_slot_update");
private int slot;
private ItemStack stack;

View file

@ -5,13 +5,14 @@ import net.fabricmc.api.Environment;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import java.io.IOException;
public class RenderBreakBlockS2CPacket implements SimplePacket<ClientPacketListener> {
public static final Identifier ID = new Identifier("dimdoors:render_break_block");
public static final Identifier ID = Util.id("render_break_block");
private BlockPos pos;
private int stage;

View file

@ -7,16 +7,16 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddon;
import java.io.IOException;
import java.util.List;
public class SyncPocketAddonsS2CPacket implements SimplePacket<ClientPacketListener> {
public static final Identifier ID = new Identifier("dimdoors:sync_pocket_addons");
public static final Identifier ID = Util.id("sync_pocket_addons");
private RegistryKey<World> world;
private int gridSize;

View file

@ -7,7 +7,7 @@ import org.dimdev.dimdoors.particle.client.RiftParticleEffect;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.particle.ParticleType;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.registry.Registry;
import net.fabricmc.api.EnvType;
@ -21,9 +21,9 @@ public class ModParticleTypes {
public static final DefaultParticleType LIMBO_ASH = FabricParticleTypes.simple(false);
public static void init() {
Registry.register(Registry.PARTICLE_TYPE, new Identifier("dimdoors", "monolith"), MONOLITH);
Registry.register(Registry.PARTICLE_TYPE, new Identifier("dimdoors", "rift"), RIFT);
Registry.register(Registry.PARTICLE_TYPE, new Identifier("dimdoors", "limbo_ash"), LIMBO_ASH);
Registry.register(Registry.PARTICLE_TYPE, Util.id("monolith"), MONOLITH);
Registry.register(Registry.PARTICLE_TYPE, Util.id("rift"), RIFT);
Registry.register(Registry.PARTICLE_TYPE, Util.id("limbo_ash"), LIMBO_ASH);
}
@Environment(EnvType.CLIENT)

View file

@ -16,7 +16,7 @@ import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.particle.DefaultParticleType;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.math.Vec3f;
import net.fabricmc.api.EnvType;
@ -39,7 +39,7 @@ public class MonolithParticle extends Particle {
matrices.scale(-1.0F, -1.0F, 1.0F);
matrices.translate(0.0D, -1.1009999513626099D, 1.5D);
VertexConsumerProvider.Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers();
VertexConsumer vertexConsumer2 = immediate.getBuffer(MonolithRenderer.getInstance().getLayer(new Identifier("dimdoors:textures/mob/monolith/monolith14.png")));
VertexConsumer vertexConsumer2 = immediate.getBuffer(MonolithRenderer.getInstance().getLayer(Util.id("textures/mob/monolith/monolith14.png")));
MonolithRenderer.getInstance().render(matrices, vertexConsumer2, 0xf000f0, OverlayTexture.DEFAULT_UV, 1.0F, 1.0F, 1.0F, 1.0F);
immediate.draw();
}

View file

@ -1,29 +1,29 @@
package org.dimdev.dimdoors.pockets;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.pockets.virtual.reference.PocketGeneratorReference;
import org.dimdev.dimdoors.rift.registry.LinkProperties;
import org.dimdev.dimdoors.rift.targets.VirtualTarget;
import org.dimdev.dimdoors.world.ModDimensions;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
import net.minecraft.server.world.ServerWorld;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
public final class PocketGenerator {
private static final Logger LOGGER = LogManager.getLogger();
public static final Identifier ALL_DUNGEONS = new Identifier("dimdoors", "dungeon");
public static final Identifier NETHER_DUNGEONS = new Identifier("dimdoors", "nether");
public static final Identifier RUINS_DUNGEONS = new Identifier("dimdoors", "ruins");
public static final Identifier ATLANTIS_DUNGEONS = new Identifier("dimdoors", "atlantis");
public static final Identifier JUNGLE_DUNGEONS = new Identifier("dimdoors", "jungle");
public static final Identifier SNOW_DUNGEONS = new Identifier("dimdoors", "snow");
public static final Identifier PYRAMID_DUNGEONS = new Identifier("dimdoors", "pyramid");
public static final Identifier END_DUNGEONS = new Identifier("dimdoors", "end");
public static final Identifier ALL_DUNGEONS = Util.id("dungeon");
public static final Identifier NETHER_DUNGEONS = Util.id("nether");
public static final Identifier RUINS_DUNGEONS = Util.id("ruins");
public static final Identifier ATLANTIS_DUNGEONS = Util.id("atlantis");
public static final Identifier JUNGLE_DUNGEONS = Util.id("jungle");
public static final Identifier SNOW_DUNGEONS = Util.id("snow");
public static final Identifier PYRAMID_DUNGEONS = Util.id("pyramid");
public static final Identifier END_DUNGEONS = Util.id("end");
/*
private static Pocket prepareAndPlacePocket(ServerWorld world, PocketTemplate pocketTemplate, VirtualLocation virtualLocation, boolean setup) {
@ -38,11 +38,11 @@ public final class PocketGenerator {
public static Pocket generatePrivatePocketV2(VirtualLocation virtualLocation) {
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.PERSONAL), new Identifier("dimdoors", "private"), virtualLocation, null, null);
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.PERSONAL), Util.id("private"), virtualLocation, null, null);
}
public static Pocket generatePublicPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.PUBLIC), new Identifier("dimdoors", "public"), virtualLocation, linkTo, linkProperties);
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.PUBLIC), Util.id("public"), virtualLocation, linkTo, linkProperties);
}
public static Pocket generateFromPocketGroupV2(ServerWorld world, Identifier group, VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
@ -55,7 +55,7 @@ public final class PocketGenerator {
}
public static Pocket generateDungeonPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) {
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.DUNGEON), new Identifier("dimdoors", "dungeon"), virtualLocation, linkTo, linkProperties);
return generateFromPocketGroupV2(DimensionalDoorsInitializer.getWorld(ModDimensions.DUNGEON), Util.id("dungeon"), virtualLocation, linkTo, linkProperties);
}
public static Pocket generateDungeonPocketV2(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties, Identifier group) {

View file

@ -1,26 +1,23 @@
package org.dimdev.dimdoors.pockets;
import java.util.*;
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.resource.ResourceManager;
import net.minecraft.util.Identifier;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.*;
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
import org.dimdev.dimdoors.pockets.virtual.VirtualPocket;
import org.dimdev.dimdoors.util.schematic.Schematic;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import java.util.function.BiFunction;
import java.util.stream.Collectors;
import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener;
import net.minecraft.nbt.*;
import net.minecraft.resource.ResourceManager;
import net.minecraft.util.Identifier;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.api.util.NbtUtil;
import org.dimdev.dimdoors.api.util.Path;
import org.dimdev.dimdoors.api.util.SimpleTree;
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
import org.dimdev.dimdoors.pockets.virtual.VirtualPocket;
import org.dimdev.dimdoors.api.util.WeightedList;
import org.dimdev.dimdoors.api.util.ResourceUtil;
import org.dimdev.dimdoors.util.schematic.Schematic;
public class PocketLoader implements SimpleSynchronousResourceReloadListener {
private static final Logger LOGGER = LogManager.getLogger();
private static final PocketLoader INSTANCE = new PocketLoader();
@ -133,6 +130,6 @@ public class PocketLoader implements SimpleSynchronousResourceReloadListener {
@Override
public Identifier getFabricId() {
return new Identifier("dimdoors", "schematics_v2");
return Util.id("schematics_v2");
}
}

View file

@ -1,21 +1,20 @@
package org.dimdev.dimdoors.pockets;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraft.world.chunk.Chunk;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
import org.dimdev.dimdoors.api.util.BlockPlacementType;
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
import org.dimdev.dimdoors.util.schematic.Schematic;
import org.dimdev.dimdoors.util.schematic.SchematicPlacer;
import org.dimdev.dimdoors.world.pocket.type.LazyGenerationPocket;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.math.BlockPos;
import java.util.Map;
public class PocketTemplate {

View file

@ -31,7 +31,7 @@ import net.minecraft.loot.context.LootContext;
import net.minecraft.loot.context.LootContextTypes;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.StructureWorldAccess;
@ -64,10 +64,10 @@ public class TemplateUtils {
LootTable table;
if (tile instanceof ChestBlockEntity) {
logger.debug("Now populating chest.");
table = world.getServer().getLootManager().getTable(new Identifier("dimdoors:dungeon_chest"));
table = world.getServer().getLootManager().getTable(Util.id("dungeon_chest"));
} else {
logger.debug("Now populating dispenser.");
table = world.getServer().getLootManager().getTable(new Identifier("dimdoors:dispenser_projectiles"));
table = world.getServer().getLootManager().getTable(Util.id("dispenser_projectiles"));
}
LootContext ctx = new LootContext.Builder(world).random(world.random).parameter(LootContextParameters.ORIGIN, Vec3d.of(tile.getPos())).build(LootContextTypes.CHEST);
table.supplyInventory(inventory, ctx);

View file

@ -9,18 +9,22 @@ import net.minecraft.resource.ResourceManager;
import net.minecraft.server.world.ServerLightingProvider;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.Util;
import net.minecraft.util.math.*;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Box;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.math.Vec3i;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.ChunkRegion;
import net.minecraft.world.HeightLimitView;
import net.minecraft.world.Heightmap;
import net.minecraft.world.biome.Biome;
import net.minecraft.world.chunk.*;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.chunk.ChunkStatus;
import net.minecraft.world.chunk.ProtoChunk;
import net.minecraft.world.chunk.UpgradeData;
import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.chunk.Blender;
import net.minecraft.world.gen.chunk.ChunkGeneratorSettings;
import net.minecraft.world.gen.noise.NoiseConfig;
import org.apache.logging.log4j.LogManager;
@ -29,11 +33,11 @@ import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity;
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
import org.dimdev.dimdoors.rift.targets.PocketEntranceMarker;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.rift.targets.PocketEntranceMarker;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import java.util.ArrayList;
import java.util.List;
@ -109,12 +113,12 @@ public class ChunkGenerator extends PocketGenerator {
((ProtoChunk) protoChunk).setStatus(ChunkStatus.STRUCTURE_REFERENCES);
}
for (Chunk protoChunk : protoChunks) {
genWorldChunkGenerator.populateBiomes(genWorld.getRegistryManager().get(Registry.BIOME_KEY), Util.getMainWorkerExecutor(), config, Blender.getNoBlending(), genWorld.getStructureAccessor(), protoChunk);
genWorldChunkGenerator.populateBiomes(genWorld.getRegistryManager().get(Registry.BIOME_KEY), net.minecraft.util.Util.getMainWorkerExecutor(), config, Blender.getNoBlending(), genWorld.getStructureAccessor(), protoChunk);
((ProtoChunk) protoChunk).setStatus(ChunkStatus.BIOMES);
}
for (Chunk protoChunk : protoChunks) {
try {
genWorldChunkGenerator.populateNoise(Util.getMainWorkerExecutor(), Blender.getNoBlending(), config, genWorld.getStructureAccessor().forRegion(protoRegion), protoChunk).get();
genWorldChunkGenerator.populateNoise(net.minecraft.util.Util.getMainWorkerExecutor(), Blender.getNoBlending(), config, genWorld.getStructureAccessor().forRegion(protoRegion), protoChunk).get();
} catch (InterruptedException | ExecutionException e) {
e.printStackTrace();
}

View file

@ -21,26 +21,30 @@ import net.minecraft.util.registry.SimpleRegistry;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.Location;
import org.dimdev.dimdoors.api.util.ReferenceSerializable;
import org.dimdev.dimdoors.api.util.ResourceUtil;
import org.dimdev.dimdoors.pockets.TemplateUtils;
import org.dimdev.dimdoors.pockets.modifier.Modifier;
import org.dimdev.dimdoors.pockets.modifier.RiftManager;
import org.dimdev.dimdoors.api.util.Location;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.api.util.Weighted;
import org.dimdev.dimdoors.api.util.math.Equation;
import org.dimdev.dimdoors.api.util.math.Equation.EquationParseException;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.pockets.TemplateUtils;
import org.dimdev.dimdoors.pockets.modifier.Modifier;
import org.dimdev.dimdoors.pockets.modifier.RiftManager;
import org.dimdev.dimdoors.world.pocket.type.AbstractPocket;
import org.dimdev.dimdoors.world.pocket.type.LazyGenerationPocket;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import java.util.*;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.function.Supplier;
public abstract class PocketGenerator implements Weighted<PocketGenerationContext>, ReferenceSerializable {
private static final Logger LOGGER = LogManager.getLogger();
public static final Registry<PocketGeneratorType<? extends PocketGenerator>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketGeneratorType<? extends PocketGenerator>>(RegistryKey.ofRegistry(new Identifier("dimdoors", "pocket_generator_type")), Lifecycle.stable(), null)).buildAndRegister();
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 String RESOURCE_STARTING_PATH = "pockets/generator"; //TODO: might want to restructure data packs
private static final String defaultWeightEquation = "5"; // TODO: make config
@ -296,9 +300,9 @@ public abstract class PocketGenerator implements Weighted<PocketGenerationContex
public abstract Vec3i getSize(PocketGenerationContext parameters);
public interface PocketGeneratorType<T extends PocketGenerator> {
PocketGeneratorType<SchematicGenerator> SCHEMATIC = register(new Identifier("dimdoors", SchematicGenerator.KEY), SchematicGenerator::new);
PocketGeneratorType<ChunkGenerator> CHUNK = register(new Identifier("dimdoors", ChunkGenerator.KEY), ChunkGenerator::new);
PocketGeneratorType<VoidGenerator> VOID = register(new Identifier("dimdoors", VoidGenerator.KEY), VoidGenerator::new);
PocketGeneratorType<SchematicGenerator> SCHEMATIC = register(Util.id(SchematicGenerator.KEY), SchematicGenerator::new);
PocketGeneratorType<ChunkGenerator> CHUNK = register(Util.id(ChunkGenerator.KEY), ChunkGenerator::new);
PocketGeneratorType<VoidGenerator> VOID = register(Util.id(VoidGenerator.KEY), VoidGenerator::new);
PocketGenerator fromNbt(NbtCompound nbt, ResourceManager manager);

View file

@ -12,6 +12,7 @@ import net.minecraft.util.math.Vec3i;
import net.minecraft.world.chunk.Chunk;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.BlockPlacementType;
import org.dimdev.dimdoors.api.util.Path;
import org.dimdev.dimdoors.block.entity.RiftBlockEntity;
@ -50,7 +51,7 @@ public class SchematicGenerator extends LazyPocketGenerator{
public SchematicGenerator(String id) {
this.id = id;
this.templateID = new Identifier("dimdoors", id);
this.templateID = Util.id(id);
}
public String getId() {
@ -76,7 +77,7 @@ public class SchematicGenerator extends LazyPocketGenerator{
super.fromNbt(nbt, manager);
this.id = nbt.getString("id"); // TODO: should we force having the "dimdoors:" in the json?
this.templateID = new Identifier("dimdoors", id);
this.templateID = Util.id(id);
if (nbt.contains("origin", NbtType.INT_ARRAY)) {
int[] originInts = nbt.getIntArray("origin");
this.origin = new BlockPos(originInts[0], originInts[1], originInts[2]);

View file

@ -1,8 +1,6 @@
package org.dimdev.dimdoors.pockets.modifier;
import java.util.HashMap;
import java.util.Map;
import com.google.common.base.MoreObjects;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
@ -12,27 +10,27 @@ import net.minecraft.resource.ResourceManager;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.registry.Registry;
import com.google.common.base.MoreObjects;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.api.util.NbtEquations;
import org.dimdev.dimdoors.api.util.math.Equation;
import org.dimdev.dimdoors.api.util.math.Equation.EquationParseException;
import org.dimdev.dimdoors.block.door.DimensionalDoorBlock;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes;
import org.dimdev.dimdoors.block.entity.RiftData;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.pockets.PocketLoader;
import org.dimdev.dimdoors.rift.targets.IdMarker;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.api.util.NbtEquations;
import org.dimdev.dimdoors.api.util.math.Equation;
import org.dimdev.dimdoors.api.util.math.Equation.EquationParseException;
import org.dimdev.dimdoors.world.pocket.type.LazyGenerationPocket;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import java.util.HashMap;
import java.util.Map;
public class DimensionalDoorModifier extends AbstractLazyCompatibleModifier {
private static final Logger LOGGER = LogManager.getLogger();
public static final String KEY = "door";

View file

@ -11,8 +11,8 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.ReferenceSerializable;
import org.dimdev.dimdoors.api.util.ResourceUtil;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
@ -22,7 +22,7 @@ import java.util.Collection;
import java.util.function.Supplier;
public interface Modifier extends ReferenceSerializable {
Registry<ModifierType<? extends Modifier>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<ModifierType<? extends Modifier>>(RegistryKey.ofRegistry(new Identifier("dimdoors", "modifier_type")), Lifecycle.stable(), null)).buildAndRegister();
Registry<ModifierType<? extends Modifier>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<ModifierType<? extends Modifier>>(RegistryKey.ofRegistry(Util.id("modifier_type")), Lifecycle.stable(), null)).buildAndRegister();
String RESOURCE_STARTING_PATH = "pockets/modifier"; //TODO: might want to restructure data packs
@ -95,13 +95,13 @@ public interface Modifier extends ReferenceSerializable {
void apply(PocketGenerationContext parameters, Pocket.PocketBuilder<?, ?> builder);
interface ModifierType<T extends Modifier> {
ModifierType<ShellModifier> SHELL_MODIFIER_TYPE = register(new Identifier("dimdoors", ShellModifier.KEY), ShellModifier::new);
ModifierType<DimensionalDoorModifier> DIMENSIONAL_DOOR_MODIFIER_TYPE = register(new Identifier("dimdoors", DimensionalDoorModifier.KEY), DimensionalDoorModifier::new);
ModifierType<PocketEntranceModifier> PUBLIC_MODIFIER_TYPE = register(new Identifier("dimdoors", PocketEntranceModifier.KEY), PocketEntranceModifier::new);
ModifierType<RiftDataModifier> RIFT_DATA_MODIFIER_TYPE = register(new Identifier("dimdoors", RiftDataModifier.KEY), RiftDataModifier::new);
ModifierType<RelativeReferenceModifier> RELATIVE_REFERENCE_MODIFIER_TYPE = register(new Identifier("dimdoors", RelativeReferenceModifier.KEY), RelativeReferenceModifier::new);
ModifierType<OffsetModifier> OFFSET_MODIFIER_TYPE = register(new Identifier("dimdoors", OffsetModifier.KEY), OffsetModifier::new);
ModifierType<AbsoluteRiftBlockEntityModifier> ABSOLUTE_RIFT_BLOCK_ENTITY_MODIFIER_TYPE = register(new Identifier("dimdoors", AbsoluteRiftBlockEntityModifier.KEY), AbsoluteRiftBlockEntityModifier::new);
ModifierType<ShellModifier> SHELL_MODIFIER_TYPE = register(Util.id(ShellModifier.KEY), ShellModifier::new);
ModifierType<DimensionalDoorModifier> DIMENSIONAL_DOOR_MODIFIER_TYPE = register(Util.id(DimensionalDoorModifier.KEY), DimensionalDoorModifier::new);
ModifierType<PocketEntranceModifier> PUBLIC_MODIFIER_TYPE = register(Util.id(PocketEntranceModifier.KEY), PocketEntranceModifier::new);
ModifierType<RiftDataModifier> RIFT_DATA_MODIFIER_TYPE = register(Util.id(RiftDataModifier.KEY), RiftDataModifier::new);
ModifierType<RelativeReferenceModifier> RELATIVE_REFERENCE_MODIFIER_TYPE = register(Util.id(RelativeReferenceModifier.KEY), RelativeReferenceModifier::new);
ModifierType<OffsetModifier> OFFSET_MODIFIER_TYPE = register(Util.id(OffsetModifier.KEY), OffsetModifier::new);
ModifierType<AbsoluteRiftBlockEntityModifier> ABSOLUTE_RIFT_BLOCK_ENTITY_MODIFIER_TYPE = register(Util.id(AbsoluteRiftBlockEntityModifier.KEY), AbsoluteRiftBlockEntityModifier::new);
Modifier fromNbt(NbtCompound nbt, ResourceManager manager);

View file

@ -24,7 +24,7 @@ public class RelativeReferenceModifier extends AbstractModifier {
public Modifier fromNbt(NbtCompound nbt, ResourceManager manager) {
point_a = nbt.getInt("point_a");
point_b = nbt.getInt("point_b");
connection = nbt.contains("connection") ? ConnectionType.valueOf(nbt.getString("connection")) : ConnectionType.BOTH;
connection = nbt.contains("connection") ? ConnectionType.fromString(nbt.getString("connection")) : ConnectionType.BOTH;
return this;
}
@ -95,5 +95,10 @@ public class RelativeReferenceModifier extends AbstractModifier {
public String asString() {
return id;
}
public static ConnectionType fromString(String name) {
return "one_way".equals(name) ? ONE_WAY : BOTH;
}
}
}

View file

@ -1,6 +1,6 @@
package org.dimdev.dimdoors.pockets.virtual;
import com.mojang.serialization.*;
import com.mojang.serialization.Lifecycle;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.nbt.NbtCompound;
@ -10,14 +10,14 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.ResourceUtil;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.pockets.virtual.reference.IdReference;
import org.dimdev.dimdoors.pockets.virtual.reference.PocketGeneratorReference;
import org.dimdev.dimdoors.pockets.virtual.reference.TagReference;
import org.dimdev.dimdoors.pockets.virtual.selection.ConditionalSelector;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.pockets.virtual.selection.PathSelector;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.jetbrains.annotations.Nullable;
@ -27,7 +27,7 @@ import java.util.function.Supplier;
public interface ImplementedVirtualPocket extends VirtualPocket {
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(new Identifier("dimdoors", "virtual_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
Registry<VirtualPocketType<? extends ImplementedVirtualPocket>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<VirtualPocketType<? extends ImplementedVirtualPocket>>(RegistryKey.ofRegistry(Util.id("virtual_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
static ImplementedVirtualPocket deserialize(NbtElement nbt, @Nullable ResourceManager manager) {
switch (nbt.getType()) {
@ -79,11 +79,11 @@ public interface ImplementedVirtualPocket extends VirtualPocket {
String getKey();
interface VirtualPocketType<T extends ImplementedVirtualPocket> {
VirtualPocketType<NoneVirtualPocket> NONE = register(new Identifier("dimdoors", NoneVirtualPocket.KEY), () -> NoneVirtualPocket.NONE);
VirtualPocketType<IdReference> ID_REFERENCE = register(new Identifier("dimdoors", IdReference.KEY), IdReference::new);
VirtualPocketType<TagReference> TAG_REFERENCE = register(new Identifier("dimdoors", TagReference.KEY), TagReference::new);
VirtualPocketType<ConditionalSelector> CONDITIONAL_SELECTOR = register(new Identifier("dimdoors", ConditionalSelector.KEY), ConditionalSelector::new);
VirtualPocketType<PathSelector> PATH_SELECTOR = register(new Identifier("dimdoors", PathSelector.KEY), PathSelector::new);
VirtualPocketType<NoneVirtualPocket> NONE = register(Util.id(NoneVirtualPocket.KEY), () -> NoneVirtualPocket.NONE);
VirtualPocketType<IdReference> ID_REFERENCE = register(Util.id(IdReference.KEY), IdReference::new);
VirtualPocketType<TagReference> TAG_REFERENCE = register(Util.id(TagReference.KEY), TagReference::new);
VirtualPocketType<ConditionalSelector> CONDITIONAL_SELECTOR = register(Util.id(ConditionalSelector.KEY), ConditionalSelector::new);
VirtualPocketType<PathSelector> PATH_SELECTOR = register(Util.id(PathSelector.KEY), PathSelector::new);
ImplementedVirtualPocket fromNbt(NbtCompound nbt, @Nullable ResourceManager manager);

View file

@ -4,10 +4,11 @@ import com.google.common.base.MoreObjects;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.resource.ResourceManager;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
import org.dimdev.dimdoors.pockets.PocketLoader;
import org.dimdev.dimdoors.pockets.generator.PocketGenerator;
import org.dimdev.dimdoors.pockets.virtual.ImplementedVirtualPocket;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
public class IdReference extends PocketGeneratorReference {
public static final String KEY = "id";
@ -19,7 +20,7 @@ public class IdReference extends PocketGeneratorReference {
super.fromNbt(nbt, manager);
// TODO: make the json need the "dimdoors:" as well and load id via Identifier#tryParse instead
id = new Identifier("dimdoors", nbt.getString("id"));
id = Util.id(nbt.getString("id"));
return this;
}

View file

@ -1,19 +1,20 @@
package org.dimdev.dimdoors.rift.registry;
import java.util.Objects;
import java.util.UUID;
import java.util.function.Function;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.fabricmc.fabric.api.event.registry.RegistryAttribute;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.Util;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.fabricmc.fabric.api.event.registry.RegistryAttribute;
import java.util.Objects;
import java.util.UUID;
import java.util.function.Function;
public abstract class RegistryVertex {
public static final Registry<RegistryVertexType> registry = FabricRegistryBuilder.createSimple(RegistryVertex.RegistryVertexType.class, new Identifier("dimdoors", "registry_vertex")).attribute(RegistryAttribute.MODDED).buildAndRegister();
public static final Registry<RegistryVertexType> registry = FabricRegistryBuilder.createSimple(RegistryVertex.RegistryVertexType.class, Util.id("registry_vertex")).attribute(RegistryAttribute.MODDED).buildAndRegister();
private RegistryKey<World> world; // The dimension to store this object in. Links are stored in both registries.

View file

@ -1,17 +1,16 @@
package org.dimdev.dimdoors.rift.targets;
import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.api.rift.target.Target;
import org.dimdev.dimdoors.pockets.PocketGenerator;
import org.dimdev.dimdoors.rift.registry.LinkProperties;
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import java.util.Arrays;
import java.util.Set;
import java.util.stream.Collectors;
public class DungeonTarget extends RandomTarget {
private final Identifier dungeonGroup;

View file

@ -1,29 +1,29 @@
package org.dimdev.dimdoors.rift.targets;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
import com.mojang.serialization.Lifecycle;
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.api.rift.target.Target;
import org.dimdev.dimdoors.api.util.Location;
import org.dimdev.dimdoors.api.util.RGBA;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.rift.target.Target;
import org.dimdev.dimdoors.api.util.Location;
import org.dimdev.dimdoors.api.util.RGBA;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import java.util.Map;
import java.util.Objects;
import java.util.function.Function;
/**
* A target that is not an actual object in the game such as a block or a block
* entity. Only virtual targets can be saved to NBT.
*/
public abstract class VirtualTarget implements Target {
public static final Registry<VirtualTargetType<?>> REGISTRY = FabricRegistryBuilder.<VirtualTargetType<?>, SimpleRegistry<VirtualTargetType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(new Identifier("dimdoors", "virtual_type")), Lifecycle.stable(), null)).buildAndRegister();
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 RGBA COLOR = new RGBA(1, 0, 0, 1);
protected Location location;

View file

@ -3,26 +3,28 @@ package org.dimdev.dimdoors.sound;
import net.minecraft.sound.SoundEvent;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.Util;
public final class ModSoundEvents {
public static final SoundEvent CRACK = register("dimdoors:crack");
public static final SoundEvent CREEPY = register("dimdoors:creepy");
public static final SoundEvent DOOR_LOCKED = register("dimdoors:door_locked");
public static final SoundEvent DOOR_LOCK_REMOVED = register("dimdoors:door_lock_removed");
public static final SoundEvent KEY_LOCK = register("dimdoors:key_lock");
public static final SoundEvent KEY_UNLOCKED = register("dimdoors:key_unlock");
public static final SoundEvent MONK = register("dimdoors:monk");
public static final SoundEvent RIFT = register("dimdoors:rift");
public static final SoundEvent RIFT_CLOSE = register("dimdoors:rift_close");
public static final SoundEvent RIFT_DOOR = register("dimdoors:rift_door");
public static final SoundEvent RIFT_END = register("dimdoors:rift_end");
public static final SoundEvent RIFT_START = register("dimdoors:rift_start");
public static final SoundEvent TEARING = register("dimdoors:tearing");
public static final SoundEvent WHITE_VOID = register("dimdoors:white_void");
public static final SoundEvent BLOOP = register("dimdoors:bloop");
public static final SoundEvent CRACK = register("crack");
public static final SoundEvent CREEPY = register("creepy");
public static final SoundEvent DOOR_LOCKED = register("door_locked");
public static final SoundEvent DOOR_LOCK_REMOVED = register("door_lock_removed");
public static final SoundEvent KEY_LOCK = register("key_lock");
public static final SoundEvent KEY_UNLOCKED = register("key_unlock");
public static final SoundEvent MONK = register("monk");
public static final SoundEvent RIFT = register("rift");
public static final SoundEvent RIFT_CLOSE = register("rift_close");
public static final SoundEvent RIFT_DOOR = register("rift_door");
public static final SoundEvent RIFT_END = register("rift_end");
public static final SoundEvent RIFT_START = register("rift_start");
public static final SoundEvent TEARING = register("tearing");
public static final SoundEvent WHITE_VOID = register("white_void");
public static final SoundEvent BLOOP = register("bloop");
private static SoundEvent register(String id) {
return Registry.register(Registry.SOUND_EVENT, id, new SoundEvent(new Identifier(id)));
Identifier identifier = Util.id(id);
return Registry.register(Registry.SOUND_EVENT, identifier, new SoundEvent(identifier));
}
public static void init() {

View file

@ -8,7 +8,7 @@ import org.dimdev.dimdoors.world.feature.ModFeatures;
import net.minecraft.entity.SpawnGroup;
import net.minecraft.sound.BiomeMoodSound;
import net.minecraft.sound.MusicSound;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
@ -64,10 +64,10 @@ public final class ModBiomes {
.spawnSettings(new SpawnSettings.Builder().build())
.temperature(0.8f)
.temperatureModifier(Biome.TemperatureModifier.NONE);
PERSONAL_WHITE_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, new Identifier("dimdoors:white_void"));
PUBLIC_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, new Identifier("dimdoors:black_void"));
DUNGEON_DANGEROUS_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, new Identifier("dimdoors:dangerous_black_void"));
LIMBO_KEY = RegistryKey.of(Registry.BIOME_KEY, new Identifier("dimdoors", "limbo"));
PERSONAL_WHITE_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("white_void"));
PUBLIC_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("black_void"));
DUNGEON_DANGEROUS_BLACK_VOID_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("dangerous_black_void"));
LIMBO_KEY = RegistryKey.of(Registry.BIOME_KEY, Util.id("limbo"));
PERSONAL_WHITE_VOID_BIOME = voidBiomeBuilder.effects(createEffect(true)).build();
PUBLIC_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build();
DUNGEON_DANGEROUS_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build();

View file

@ -1,26 +1,24 @@
package org.dimdev.dimdoors.world;
import java.util.Objects;
import org.dimdev.dimdoors.world.pocket.BlankChunkGenerator;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.world.pocket.BlankChunkGenerator;
import net.fabricmc.fabric.api.event.lifecycle.v1.ServerLifecycleEvents;
import java.util.Objects;
public final class ModDimensions {
public static final RegistryKey<World> LIMBO = RegistryKey.of(Registry.WORLD_KEY, new Identifier("dimdoors:limbo"));
public static final RegistryKey<World> PERSONAL = RegistryKey.of(Registry.WORLD_KEY, new Identifier("dimdoors:personal_pockets"));
public static final RegistryKey<World> PUBLIC = RegistryKey.of(Registry.WORLD_KEY, new Identifier("dimdoors:public_pockets"));
public static final RegistryKey<World> DUNGEON = RegistryKey.of(Registry.WORLD_KEY, new Identifier("dimdoors:dungeon_pockets"));
public static final RegistryKey<World> LIMBO = RegistryKey.of(Registry.WORLD_KEY, Util.id("limbo"));
public static final RegistryKey<World> PERSONAL = RegistryKey.of(Registry.WORLD_KEY, Util.id("personal_pockets"));
public static final RegistryKey<World> PUBLIC = RegistryKey.of(Registry.WORLD_KEY, Util.id("public_pockets"));
public static final RegistryKey<World> DUNGEON = RegistryKey.of(Registry.WORLD_KEY, Util.id("dungeon_pockets"));
public static final RegistryKey<DimensionType> LIMBO_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, new Identifier("dimdoors:limbo"));
public static final RegistryKey<DimensionType> POCKET_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, new Identifier("dimdoors:personal_pockets"));
public static final RegistryKey<DimensionType> LIMBO_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, Util.id("limbo"));
public static final RegistryKey<DimensionType> POCKET_TYPE_KEY = RegistryKey.of(Registry.DIMENSION_TYPE_KEY, Util.id("personal_pockets"));
public static DimensionType LIMBO_TYPE;
public static DimensionType POCKET_TYPE;
@ -55,6 +53,6 @@ public final class ModDimensions {
ModDimensions.PUBLIC_POCKET_DIMENSION = server.getWorld(PUBLIC);
ModDimensions.DUNGEON_POCKET_DIMENSION = server.getWorld(DUNGEON);
});
Registry.register(Registry.CHUNK_GENERATOR, new Identifier("dimdoors", "blank"), BlankChunkGenerator.CODEC);
Registry.register(Registry.CHUNK_GENERATOR, Util.id("blank"), BlankChunkGenerator.CODEC);
}
}

View file

@ -1,27 +1,26 @@
package org.dimdev.dimdoors.world.decay;
import java.util.Set;
import java.util.function.Supplier;
import com.mojang.serialization.Lifecycle;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.block.Block;
import net.minecraft.nbt.NbtCompound;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.world.decay.predicates.SimpleDecayPredicate;
import org.dimdev.dimdoors.world.decay.processors.SimpleDecayProcesor;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.world.decay.predicates.SimpleDecayPredicate;
import org.dimdev.dimdoors.world.decay.processors.SimpleDecayProcesor;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import java.util.Set;
import java.util.function.Supplier;
public interface DecayPredicate {
Registry<DecayPredicateType<? extends DecayPredicate>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<DecayPredicateType<? extends DecayPredicate>>(RegistryKey.ofRegistry(new Identifier("dimdoors", "decay_predicate_type")), Lifecycle.stable(), null)).buildAndRegister();
Registry<DecayPredicateType<? extends DecayPredicate>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<DecayPredicateType<? extends DecayPredicate>>(RegistryKey.ofRegistry(Util.id("decay_predicate_type")), Lifecycle.stable(), null)).buildAndRegister();
DecayPredicate NONE = new DecayPredicate() {
private static final String ID = "none";
@ -77,8 +76,8 @@ public interface DecayPredicate {
Set<Block> constructApplicableBlocks();
interface DecayPredicateType<T extends DecayPredicate> {
DecayPredicateType<DecayPredicate> NONE_PREDICATE_TYPE = register(new Identifier("dimdoors", "none"), () -> NONE);
DecayPredicateType<SimpleDecayPredicate> SIMPLE_PREDICATE_TYPE = register(new Identifier("dimdoors", SimpleDecayProcesor.KEY), SimpleDecayPredicate::new);
DecayPredicateType<DecayPredicate> NONE_PREDICATE_TYPE = register(Util.id("none"), () -> NONE);
DecayPredicateType<SimpleDecayPredicate> SIMPLE_PREDICATE_TYPE = register(Util.id(SimpleDecayProcesor.KEY), SimpleDecayPredicate::new);
DecayPredicate fromNbt(NbtCompound nbt);

View file

@ -1,25 +1,24 @@
package org.dimdev.dimdoors.world.decay;
import java.util.function.Supplier;
import com.mojang.serialization.Lifecycle;
import net.minecraft.nbt.NbtCompound;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.world.decay.processors.SelfDecayProcessor;
import org.dimdev.dimdoors.world.decay.processors.SimpleDecayProcesor;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.block.BlockState;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.world.decay.processors.SelfDecayProcessor;
import org.dimdev.dimdoors.world.decay.processors.SimpleDecayProcesor;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import java.util.function.Supplier;
public interface DecayProcessor {
Registry<DecayProcessor.DecayProcessorType<? extends DecayProcessor>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<DecayProcessor.DecayProcessorType<? extends DecayProcessor>>(RegistryKey.ofRegistry(new Identifier("dimdoors", "decay_processor_type")), Lifecycle.stable(), null)).buildAndRegister();
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();
DecayProcessor NONE = new DecayProcessor() {
@Override
@ -68,9 +67,9 @@ public interface DecayProcessor {
int process(World world, BlockPos pos, BlockState origin, BlockState target);
interface DecayProcessorType<T extends DecayProcessor> {
DecayProcessorType<SimpleDecayProcesor> SIMPLE_PROCESSOR_TYPE = register(new Identifier("dimdoors", SimpleDecayProcesor.KEY), SimpleDecayProcesor::new);
DecayProcessorType<DecayProcessor> NONE_PROCESSOR_TYPE = register(new Identifier("dimdoors", "none"), () -> NONE);
DecayProcessorType<SelfDecayProcessor> SELF = register(new Identifier("dimdoors", SelfDecayProcessor.KEY), SelfDecayProcessor::instance);
DecayProcessorType<SimpleDecayProcesor> SIMPLE_PROCESSOR_TYPE = register(Util.id(SimpleDecayProcesor.KEY), SimpleDecayProcesor::new);
DecayProcessorType<DecayProcessor> NONE_PROCESSOR_TYPE = register(Util.id("none"), () -> NONE);
DecayProcessorType<SelfDecayProcessor> SELF = register(Util.id(SelfDecayProcessor.KEY), SelfDecayProcessor::instance);
DecayProcessor fromNbt(NbtCompound nbt);

View file

@ -18,6 +18,7 @@ import net.minecraft.world.World;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.ResourceUtil;
import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler;
import org.dimdev.dimdoors.network.packet.s2c.RenderBreakBlockS2CPacket;
@ -136,7 +137,7 @@ public final class LimboDecay {
@Override
public Identifier getFabricId() {
return new Identifier("dimdoors", "decay_pattern");
return Util.id("decay_pattern");
}
}

View file

@ -1,17 +1,14 @@
package org.dimdev.dimdoors.world.decay.predicates;
import com.google.gson.JsonObject;
import org.dimdev.dimdoors.world.decay.DecayPredicate;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.World;
import org.dimdev.dimdoors.world.decay.DecayPredicate;
import java.util.Set;

View file

@ -1,17 +1,15 @@
package org.dimdev.dimdoors.world.decay.processors;
import com.google.gson.JsonObject;
import net.minecraft.state.property.Property;
import org.dimdev.dimdoors.world.decay.DecayProcessor;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.state.property.Property;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.world.World;
import org.dimdev.dimdoors.world.decay.DecayProcessor;
import java.util.Set;
import java.util.stream.Collectors;

View file

@ -5,7 +5,7 @@ import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBiomeTags;
import net.minecraft.block.Block;
import net.minecraft.fluid.Fluids;
import net.minecraft.structure.rule.BlockMatchRuleTest;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryEntry;
import net.minecraft.util.registry.RegistryEntryList;
@ -29,8 +29,8 @@ public final class ModFeatures {
public static final SchematicGateway TWO_PILLARS_GATEWAY = new TwoPillarsGateway();
public static final SchematicGateway END_GATEWAY = new EndGateway();
public static final Feature<SchematicGatewayFeatureConfig> SCHEMATIC_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, new Identifier("dimdoors", "schematic_gateway"), new SchematicGatewayFeature(SchematicGatewayFeatureConfig.CODEC));
public static final Feature<DefaultFeatureConfig> LIMBO_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, new Identifier("dimdoors", "limbo_gateway"), new LimboGatewayFeature());
public static final Feature<SchematicGatewayFeatureConfig> SCHEMATIC_GATEWAY_FEATURE = Registry.register(Registry.FEATURE, Util.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 void init() {
SANDSTONE_PILLARS_GATEWAY.init();

View file

@ -1,11 +1,6 @@
package org.dimdev.dimdoors.world.level.registry;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import dev.onyxstudios.cca.api.v3.component.ComponentV3;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.util.Identifier;
@ -14,14 +9,19 @@ import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import net.minecraft.world.level.LevelProperties;
import dev.onyxstudios.cca.api.v3.component.ComponentV3;
import org.dimdev.dimdoors.DimensionalDoorsComponents;
import org.dimdev.dimdoors.rift.registry.RiftRegistry;
import org.dimdev.dimdoors.world.ModDimensions;
import org.dimdev.dimdoors.DimensionalDoorsComponents;
import org.dimdev.dimdoors.world.pocket.PocketDirectory;
import org.dimdev.dimdoors.world.pocket.PrivateRegistry;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import static org.dimdev.dimdoors.DimensionalDoorsInitializer.getServer;
public class DimensionalRegistry implements ComponentV3 {

View file

@ -1,5 +1,20 @@
package org.dimdev.dimdoors.world.pocket;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import net.minecraft.util.Pair;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Vec3i;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.api.util.math.GridUtil;
import org.dimdev.dimdoors.world.pocket.type.AbstractPocket;
import org.dimdev.dimdoors.world.pocket.type.IdReferencePocket;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.jetbrains.annotations.TestOnly;
import java.util.HashMap;
import java.util.Map;
import java.util.SortedMap;
@ -7,21 +22,6 @@ import java.util.TreeMap;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import net.minecraft.util.Pair;
import net.minecraft.util.math.Vec3i;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.api.util.math.GridUtil;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.world.pocket.type.AbstractPocket;
import org.dimdev.dimdoors.world.pocket.type.IdReferencePocket;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.jetbrains.annotations.TestOnly;
public class PocketDirectory {
int gridSize; // Determines how much pockets in their dimension are spaced
int privatePocketSize;

View file

@ -1,23 +1,23 @@
package org.dimdev.dimdoors.world.pocket;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.util.Identifier;
import net.minecraft.util.Pair;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.type.PrivatePocket;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
import net.minecraft.util.Pair;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.type.PrivatePocket;
public class PrivateRegistry {
protected static class PocketInfo {
public final RegistryKey<World> world;

View file

@ -3,21 +3,19 @@ package org.dimdev.dimdoors.world.pocket;
import com.google.common.base.MoreObjects;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.math.ChunkSectionPos;
import net.minecraft.world.chunk.Chunk;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import org.dimdev.dimdoors.api.util.Location;
import org.dimdev.dimdoors.world.ModDimensions;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkSectionPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.Heightmap;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.api.util.Location;
import org.dimdev.dimdoors.world.ModDimensions;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import static net.minecraft.world.World.OVERWORLD;

View file

@ -1,8 +1,6 @@
package org.dimdev.dimdoors.world.pocket.type;
import com.mojang.serialization.Lifecycle;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.Identifier;
@ -11,13 +9,15 @@ import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.world.pocket.PocketDirectory;
import java.util.Map;
import java.util.function.Supplier;
public abstract class AbstractPocket<V extends AbstractPocket<?>> {
public static final Registry<AbstractPocketType<? extends AbstractPocket<?>>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<AbstractPocketType<? extends AbstractPocket<?>>>(RegistryKey.ofRegistry(new Identifier("dimdoors", "abstract_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
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();
protected Integer id;
protected RegistryKey<World> world;
@ -83,11 +83,11 @@ public abstract class AbstractPocket<V extends AbstractPocket<?>> {
}
public interface AbstractPocketType<T extends AbstractPocket<?>> {
AbstractPocketType<IdReferencePocket> ID_REFERENCE = register(new Identifier("dimdoors", IdReferencePocket.KEY), IdReferencePocket::new, IdReferencePocket::builder);
AbstractPocketType<IdReferencePocket> ID_REFERENCE = register(Util.id(IdReferencePocket.KEY), IdReferencePocket::new, IdReferencePocket::builder);
AbstractPocketType<Pocket> POCKET = register(new Identifier("dimdoors", Pocket.KEY), Pocket::new, Pocket::builder);
AbstractPocketType<PrivatePocket> PRIVATE_POCKET = register(new Identifier("dimdoors", PrivatePocket.KEY), PrivatePocket::new, PrivatePocket::builderPrivatePocket);
AbstractPocketType<LazyGenerationPocket> LAZY_GENERATION_POCKET = register(new Identifier("dimdoors", LazyGenerationPocket.KEY), LazyGenerationPocket::new, LazyGenerationPocket::builderLazyGenerationPocket);
AbstractPocketType<Pocket> POCKET = register(Util.id(Pocket.KEY), Pocket::new, Pocket::builder);
AbstractPocketType<PrivatePocket> PRIVATE_POCKET = register(Util.id(PrivatePocket.KEY), PrivatePocket::new, PrivatePocket::builderPrivatePocket);
AbstractPocketType<LazyGenerationPocket> LAZY_GENERATION_POCKET = register(Util.id(LazyGenerationPocket.KEY), LazyGenerationPocket::new, LazyGenerationPocket::builderLazyGenerationPocket);
T fromNbt(NbtCompound nbt);

View file

@ -1,31 +1,30 @@
package org.dimdev.dimdoors.world.pocket.type;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.nbt.NbtList;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockBox;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.math.Vec3i;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import org.dimdev.dimdoors.world.pocket.VirtualLocation;
import org.dimdev.dimdoors.world.pocket.type.addon.AddonProvider;
import org.dimdev.dimdoors.world.pocket.type.addon.PocketAddon;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class Pocket extends AbstractPocket<Pocket> implements AddonProvider {
public static String KEY = "pocket";

View file

@ -10,6 +10,7 @@ import net.minecraft.util.DyeColor;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.util.EntityUtils;
import org.dimdev.dimdoors.block.AncientFabricBlock;
import org.dimdev.dimdoors.block.FabricBlock;
@ -19,7 +20,7 @@ import org.dimdev.dimdoors.world.pocket.type.PocketColor;
import org.dimdev.dimdoors.world.pocket.type.PrivatePocket;
public class DyeableAddon implements PocketAddon {
public static Identifier ID = new Identifier("dimdoors", "dyeable");
public static Identifier ID = Util.id("dyeable");
private static final int BLOCKS_PAINTED_PER_DYE = 1000000;

View file

@ -7,8 +7,8 @@ import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import org.dimdev.dimdoors.DimensionalDoorsInitializer;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.type.addon.blockbreak.BlockBreakContainer;
@ -16,7 +16,7 @@ import java.util.Map;
import java.util.function.Supplier;
public interface PocketAddon {
Registry<PocketAddonType<? extends PocketAddon>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketAddonType<? extends PocketAddon>>(RegistryKey.ofRegistry(new Identifier("dimdoors", "pocket_applicable_addon_type")), Lifecycle.stable(), null)).buildAndRegister();
Registry<PocketAddonType<? extends PocketAddon>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketAddonType<? extends PocketAddon>>(RegistryKey.ofRegistry(Util.id("pocket_applicable_addon_type")), Lifecycle.stable(), null)).buildAndRegister();
static PocketAddon deserialize(NbtCompound nbt) {
Identifier id = Identifier.tryParse(nbt.getString("type")); // TODO: NONE PocketAddon type;

View file

@ -2,7 +2,6 @@ package org.dimdev.dimdoors.world.pocket.type.addon;
import net.fabricmc.fabric.api.event.player.AttackBlockCallback;
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
import net.minecraft.block.BlockState;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.entity.player.PlayerEntity;
@ -16,13 +15,14 @@ import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.World;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.api.event.UseItemOnBlockCallback;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import java.io.IOException;
public class PreventBlockModificationAddon implements AutoSyncedAddon, AttackBlockCallback, PlayerBlockBreakEvents.Before, UseItemOnBlockCallback {
public static Identifier ID = new Identifier("dimdoors", "prevent_block_modification");
public static Identifier ID = Util.id("prevent_block_modification");
//AttackBlockCallback
@Override

View file

@ -1,18 +1,18 @@
package org.dimdev.dimdoors.world.pocket.type.addon;
import java.io.IOException;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import java.io.IOException;
public class SkyAddon implements AutoSyncedAddon {
public static Identifier ID = new Identifier("dimdoors", "sky");
public static Identifier ID = Util.id("sky");
private RegistryKey<World> world;

View file

@ -1,12 +1,13 @@
package org.dimdev.dimdoors.world.pocket.type.addon.blockbreak;
import net.minecraft.util.Identifier;
import org.dimdev.dimdoors.Util;
import org.dimdev.dimdoors.world.pocket.type.addon.AutoSyncedAddonContainer;
import org.dimdev.dimdoors.world.pocket.type.addon.PocketAddon;
// TODO
public class BlockBreakContainer extends AutoSyncedAddonContainer<TryBlockBreakEventAddon> {
public static Identifier ID = new Identifier("dimdoors", "block_break_container");
public static Identifier ID = Util.id("block_break_container");
@Override
public PocketAddonType<? extends PocketAddon> getType() {

View file

@ -24,7 +24,7 @@
{
"type": "dimdoors:relative",
"point_a": 3,
"point_b": 2,
"point_b": 2
}
]