How much refractor you want? Yes.

Some stuff is still needing to be done here.
This commit is contained in:
Waterpicker 2022-12-09 03:43:30 -06:00
parent 1c5599a295
commit 1094dcf08e
51 changed files with 224 additions and 272 deletions

View file

@ -4,7 +4,7 @@ import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.Vec3f;
import org.joml.Quaternionf;
@Environment(EnvType.CLIENT)
public enum DefaultTransformation implements Transformer {
@ -36,7 +36,7 @@ public enum DefaultTransformation implements Transformer {
@Override
public void transform(MatrixStack matrices) {
// TODO
matrices.multiply(Vec3f.NEGATIVE_Y.getDegreesQuaternion(90.0F));
matrices.multiply(new Quaternionf().rotateY((float) Math.toRadians(-90f)));
matrices.translate(0, 0, -0.81F);
}
},
@ -44,7 +44,7 @@ public enum DefaultTransformation implements Transformer {
@Override
public void transform(MatrixStack matrices) {
// TODO
matrices.multiply(Vec3f.NEGATIVE_Y.getDegreesQuaternion(90.0F));
matrices.multiply(new Quaternionf().rotateY((float) Math.toRadians(-90f)));
matrices.translate(0, 0, -0.19F);
}
},

View file

@ -6,11 +6,11 @@ import net.minecraft.block.BlockState;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.fluid.FluidState;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.server.world.ServerWorld;
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.DimensionalDoors;
@ -97,7 +97,7 @@ public class Location {
public static Location fromNbt(NbtCompound nbt) {
int[] pos = nbt.getIntArray("pos");
return new Location(
RegistryKey.of(Registry.WORLD_KEY, new Identifier(nbt.getString("world"))),
RegistryKey.of(RegistryKeys.WORLD, new Identifier(nbt.getString("world"))),
new BlockPos(pos[0], pos[1], pos[2])
);
}

View file

@ -1,10 +1,10 @@
package org.dimdev.dimdoors.api.util;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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;
public class RotatedLocation extends Location {
@ -29,7 +29,7 @@ public class RotatedLocation extends Location {
public static RotatedLocation deserialize(NbtCompound nbt) {
int[] pos = nbt.getIntArray("pos");
return new RotatedLocation(
RegistryKey.of(Registry.WORLD_KEY, new Identifier(nbt.getString("world"))),
RegistryKey.of(RegistryKeys.WORLD, new Identifier(nbt.getString("world"))),
new BlockPos(pos[0], pos[1], pos[2]),
nbt.getFloat("yaw"),
nbt.getFloat("pitch")

View file

@ -1,21 +1,18 @@
package org.dimdev.dimdoors.block;
import net.fabricmc.fabric.api.object.builder.v1.block.FabricBlockSettings;
import net.minecraft.block.Block;
import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockState;
import net.minecraft.block.Material;
import net.minecraft.item.ItemPlacementContext;
import net.minecraft.tag.TagKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.DyeColor;
import org.dimdev.dimdoors.DimensionalDoors;
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, DimensionalDoors.id("fabric"));
public static final TagKey<Block> BLOCK_TAG = TagKey.of(RegistryKeys.BLOCK, DimensionalDoors.id("fabric"));
FabricBlock(DyeColor color) {
super(FabricBlockSettings.of(Material.STONE, color).strength(1.2F).luminance(15));

View file

@ -8,9 +8,6 @@ import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.world.TickPriority;
import net.minecraft.world.WorldAccess;
public class UnravelledFabricBlock extends Block {
public static final String ID = "unravelled_fabric";

View file

@ -9,16 +9,15 @@ 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.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;
import net.minecraft.util.Rarity;
import net.minecraft.util.Util;
import net.minecraft.util.registry.Registry;
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;
@ -114,7 +113,7 @@ public final class DoorData implements AutoCloseable {
throw new UnsupportedOperationException("Already Closed");
}
Item parentItem = Registry.ITEM.get(new Identifier(this.itemSettings.parent));
Item parentItem = Registries.ITEM.get(new Identifier(this.itemSettings.parent));
PARENT_ITEMS.add(parentItem);
Item.Settings itemSettings = ItemExtensions.getSettings(parentItem);
this.itemSettings.maxCount.ifPresent(itemSettings::maxCount);
@ -125,32 +124,32 @@ public final class DoorData implements AutoCloseable {
itemSettings.fireproof();
return false;
});
ItemGroup group = null;
if (itemGroup.isPresent()) {
String groupString = itemGroup.get();
if (itemGroupCache.containsKey(groupString)) {
group = itemGroupCache.get(groupString);
} else {
for (ItemGroup g : ItemGroup.GROUPS) {
if (((ItemGroupAccessor) g).getId().equals(groupString)) {
group = g;
itemGroupCache.put(groupString, group);
break;
}
}
}
}
itemSettings.group(group != null ? group : ModItems.DIMENSIONAL_DOORS);
// ItemGroup group = null;
// if (itemGroup.isPresent()) { //TODO: Figure this out
// String groupString = itemGroup.get();
// if (itemGroupCache.containsKey(groupString)) {
// group = itemGroupCache.get(groupString);
// } else {
// for (ItemGroup g : ItemGroup.GROUPS) {
// if (((ItemGroupAccessor) g).getId().equals(groupString)) {
// group = g;
// itemGroupCache.put(groupString, group);
// break;
// }
// }
// }
// }
// itemSettings.group(group != null ? group : ModItems.DIMENSIONAL_DOORS);
Block parentBlock = Registry.BLOCK.get(new Identifier(this.blockSettings.parent));
Block parentBlock = Registries.BLOCK.get(new Identifier(this.blockSettings.parent));
PARENT_BLOCKS.add(parentBlock);
FabricBlockSettings blockSettings = FabricBlockSettings.copyOf(parentBlock);
this.blockSettings.luminance.ifPresent(blockSettings::luminance);
Identifier id = new Identifier(this.id);
Block doorBlock = new DimensionalDoorBlock(blockSettings);
Item doorItem = new DimensionalDoorItem(doorBlock, itemSettings, createSetupFunction(), hasToolTip);
Registry.register(Registry.BLOCK, id, doorBlock);
Registry.register(Registry.ITEM, id, doorItem);
Registry.register(Registries.BLOCK, id, doorBlock);
Registry.register(Registries.ITEM, id, doorItem);
DOORS.add(doorBlock);
Item.BLOCK_ITEMS.put(doorBlock, doorItem);
this.closed = true;

View file

@ -3,10 +3,10 @@ package org.dimdev.dimdoors.block.door.data.condition;
import com.google.gson.JsonObject;
import com.mojang.serialization.Lifecycle;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.SimpleRegistry;
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.DimensionalDoors;
import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity;
@ -14,7 +14,7 @@ import java.util.Objects;
import java.util.function.Function;
public interface Condition {
Registry<ConditionType<?>> REGISTRY = FabricRegistryBuilder.<ConditionType<?>, SimpleRegistry<ConditionType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(DimensionalDoors.id("rift_data_condition")), Lifecycle.stable(), null)).buildAndRegister();
Registry<ConditionType<?>> REGISTRY = FabricRegistryBuilder.<ConditionType<?>, SimpleRegistry<ConditionType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(DimensionalDoors.id("rift_data_condition")), Lifecycle.stable(), false)).buildAndRegister();
boolean matches(EntranceRiftBlockEntity rift);

View file

@ -1,15 +1,15 @@
package org.dimdev.dimdoors.block.door.data.condition;
import com.google.gson.JsonObject;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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) {
RegistryKey<World> key = RegistryKey.of(Registry.WORLD_KEY, new Identifier(json.getAsJsonPrimitive("world").getAsString()));
RegistryKey<World> key = RegistryKey.of(RegistryKeys.WORLD, new Identifier(json.getAsJsonPrimitive("world").getAsString()));
return new WorldMatchCondition(key);
}

View file

@ -1,21 +1,16 @@
package org.dimdev.dimdoors.block.entity;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
import net.minecraft.block.Block;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import org.apache.commons.lang3.ArrayUtils;
import org.dimdev.dimdoors.api.block.entity.MutableBlockEntityType;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.block.door.data.DoorData;
import net.minecraft.block.Block;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.util.registry.Registry;
import net.fabricmc.fabric.api.object.builder.v1.block.entity.FabricBlockEntityTypeBuilder;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
public class ModBlockEntityTypes {
public static final BlockEntityType<DetachedRiftBlockEntity> DETACHED_RIFT = register(
"dimdoors:detached_rift",
@ -31,11 +26,11 @@ public class ModBlockEntityTypes {
private static <E extends BlockEntity> BlockEntityType<E> register(String id, FabricBlockEntityTypeBuilder.Factory<E> factory, Block... blocks) {
return Registry.register(Registry.BLOCK_ENTITY_TYPE, id, FabricBlockEntityTypeBuilder.create(factory, blocks).build());
return Registry.register(Registries.BLOCK_ENTITY_TYPE, id, FabricBlockEntityTypeBuilder.create(factory, blocks).build());
}
private static <E extends BlockEntity> MutableBlockEntityType<E> registerMutable(String id, MutableBlockEntityType.BlockEntityFactory<E> factory, Block... blocks) {
return Registry.register(Registry.BLOCK_ENTITY_TYPE, id, MutableBlockEntityType.Builder.create(factory, blocks).build());
return Registry.register(Registries.BLOCK_ENTITY_TYPE, id, MutableBlockEntityType.Builder.create(factory, blocks).build());
}
public static void init() {

View file

@ -5,15 +5,14 @@ import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry;
import net.minecraft.client.render.*;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.client.world.ClientWorld;
import net.minecraft.registry.RegistryKey;
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.DimensionalDoors;
import org.dimdev.dimdoors.listener.pocket.PocketListenerUtil;
import org.dimdev.dimdoors.world.ModDimensions;
import org.dimdev.dimdoors.world.pocket.type.addon.SkyAddon;
import org.joml.Matrix4f;
import java.util.List;
@ -72,11 +71,11 @@ public class DimensionRenderering {
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
RenderSystem.depthMask(false);
RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
RenderSystem.setShader(GameRenderer::getPositionTexColorProgram);
RenderSystem.setShaderColor(1, 1, 1, 1);
float s = 30.0F;
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.setShader(GameRenderer::getPositionTexProgram);
RenderSystem.setShaderTexture(0, SUN_RENDER_PATH);
bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE);
bufferBuilder.vertex(matrix4f, -s, 100.0F, -s).texture(0.0F, 0.0F).next();

View file

@ -6,9 +6,9 @@ import net.fabricmc.fabric.api.client.model.ModelVariantProvider;
import net.minecraft.block.Block;
import net.minecraft.client.render.model.UnbakedModel;
import net.minecraft.client.util.ModelIdentifier;
import net.minecraft.registry.Registries;
import net.minecraft.state.property.Property;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import org.dimdev.dimdoors.DimensionalDoors;
import org.dimdev.dimdoors.block.door.DimensionalDoorBlockRegistrar;
import org.dimdev.dimdoors.item.DimensionalDoorItemRegistrar;
@ -32,7 +32,7 @@ public class DimensionalDoorModelVariantProvider implements ModelVariantProvider
//UnbakedModel model = context.loadModel(newId);
//if (model != null) return model;
Block original = Registry.BLOCK.get(mapped);
Block original = Registries.BLOCK.get(mapped);
Set<String> originalProperties = original.getStateManager().getProperties().stream().map(Property::getName).collect(Collectors.toSet());
ArrayList<String> variantArray = new ArrayList<>();

View file

@ -1,13 +1,11 @@
package org.dimdev.dimdoors.client;
import org.dimdev.dimdoors.DimensionalDoors;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.util.Util;
import net.minecraft.util.math.Matrix4f;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.util.Util;
import org.dimdev.dimdoors.DimensionalDoors;
import org.joml.Matrix4f;
@Environment(EnvType.CLIENT)
public final class RiftCrackRenderer {

View file

@ -20,14 +20,14 @@ public class Plane {
this.vectors = new Vector4f[]{vec1, vec2, vec3, vec4};
}
public void draw(net.minecraft.util.math.Matrix4f model, VertexConsumer vc, RGBA color, double radian) {
public void draw(org.joml.Matrix4f model, VertexConsumer vc, RGBA color, double radian) {
drawVertex(model, vc, rotYW(this.vectors[0], radian), 0, 0, color);
drawVertex(model, vc, rotYW(this.vectors[1], radian), 0, 1, color);
drawVertex(model, vc, rotYW(this.vectors[2], radian), 1, 1, color);
drawVertex(model, vc, rotYW(this.vectors[3], radian), 1, 0, color);
}
private static void drawVertex(net.minecraft.util.math.Matrix4f model, VertexConsumer vc, Vector4f vector, int u, int v, RGBA color) {
private static void drawVertex(org.joml.Matrix4f model, VertexConsumer vc, Vector4f vector, int u, int v, RGBA color) {
double scalar = 1d / (vector.getW() + 1);
Vector3f scaled = vector.toVector3().mul(scalar);
vc.vertex(model, scaled.getX(), scaled.getY(), scaled.getZ())

View file

@ -1,13 +1,10 @@
package org.dimdev.dimdoors.client.tesseract;
import com.flowpowered.math.vector.Vector4f;
import org.dimdev.dimdoors.api.util.RGBA;
import net.minecraft.client.render.VertexConsumer;
import net.minecraft.util.math.Matrix4f;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.render.VertexConsumer;
import org.dimdev.dimdoors.api.util.RGBA;
@Environment(EnvType.CLIENT)
public class Tesseract {
@ -184,7 +181,7 @@ public class Tesseract {
}
@Environment(EnvType.CLIENT)
public void draw(Matrix4f model, VertexConsumer vc, RGBA color, double radian) {
public void draw(org.joml.Matrix4f model, VertexConsumer vc, RGBA color, double radian) {
for (Plane plane : this.planes) {
plane.draw(model, vc, color, radian);
}

View file

@ -8,11 +8,10 @@ import net.minecraft.block.BlockState;
import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer;
import net.minecraft.predicate.entity.AdvancementEntityPredicateSerializer;
import net.minecraft.predicate.entity.EntityPredicate;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.tag.TagKey;
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.DimensionalDoors;
import java.util.Objects;
@ -22,7 +21,7 @@ public class TagBlockBreakCriteria extends AbstractCriterion<TagBlockBreakCriter
@Override
protected Conditions conditionsFromJson(JsonObject obj, EntityPredicate.Extended playerPredicate, AdvancementEntityPredicateDeserializer predicateDeserializer) {
return new Conditions(playerPredicate, TagKey.of(Registry.BLOCK_KEY, Identifier.tryParse(obj.get("tag").getAsString())));
return new Conditions(playerPredicate, TagKey.of(RegistryKeys.BLOCK, Identifier.tryParse(obj.get("tag").getAsString())));
}
public void trigger(ServerPlayerEntity player, BlockState block) {

View file

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

View file

@ -1,19 +1,19 @@
package org.dimdev.dimdoors.entity;
//import org.dimdev.dimdoors.client.MaskRenderer;
import org.dimdev.dimdoors.client.MonolithRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityDimensions;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.SpawnGroup;
import net.minecraft.util.registry.Registry;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricDefaultAttributeRegistry;
import net.fabricmc.fabric.api.object.builder.v1.entity.FabricEntityTypeBuilder;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityDimensions;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.SpawnGroup;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import org.dimdev.dimdoors.client.MonolithRenderer;
public class ModEntityTypes {
public static final EntityType<MonolithEntity> MONOLITH = register(
@ -40,6 +40,6 @@ public class ModEntityTypes {
}
private static <E extends Entity> EntityType<E> register(String id, EntityType.EntityFactory<E> factory, float width, float height, boolean fixed) {
return Registry.register(Registry.ENTITY_TYPE, id, FabricEntityTypeBuilder.create(SpawnGroup.MONSTER, factory).dimensions(new EntityDimensions(width, height, fixed)).spawnableFarFromPlayer().fireImmune().build());
return Registry.register(Registries.ENTITY_TYPE, id, FabricEntityTypeBuilder.create(SpawnGroup.MONSTER, factory).dimensions(new EntityDimensions(width, height, fixed)).spawnableFarFromPlayer().fireImmune().build());
}
}

View file

@ -1,27 +1,24 @@
package org.dimdev.dimdoors.fluid;
import net.minecraft.util.math.random.Random;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.item.ModItems;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.block.BlockState;
import net.minecraft.block.FluidBlock;
import net.minecraft.fluid.FlowableFluid;
import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.FluidState;
import net.minecraft.item.Item;
import net.minecraft.registry.tag.FluidTags;
import net.minecraft.state.StateManager;
import net.minecraft.tag.FluidTags;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.random.Random;
import net.minecraft.world.BlockView;
import net.minecraft.world.World;
import net.minecraft.world.WorldAccess;
import net.minecraft.world.WorldView;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.item.ModItems;
public abstract class EternalFluid extends FlowableFluid {
@Override
@ -97,7 +94,7 @@ public abstract class EternalFluid extends FlowableFluid {
}
@Override
protected boolean isInfinite() {
protected boolean isInfinite(World world) {
return false;
}

View file

@ -12,14 +12,14 @@ import net.minecraft.client.texture.Sprite;
import net.minecraft.fluid.FlowableFluid;
import net.minecraft.fluid.Fluid;
import net.minecraft.fluid.FluidState;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.resource.ResourceManager;
import net.minecraft.resource.ResourceType;
import net.minecraft.screen.PlayerScreenHandler;
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.DimensionalDoors;
import java.util.function.Function;
@ -29,7 +29,7 @@ public class ModFluids {
public static final FlowableFluid FLOWING_ETERNAL_FLUID = register("dimdoors:flowing_eternal_fluid", new EternalFluid.Flowing());
private static <T extends Fluid> T register(String string, T fluid) {
return Registry.register(Registry.FLUID, string, fluid);
return Registry.register(Registries.FLUID, string, fluid);
}
public static void init() {
@ -44,13 +44,14 @@ public class ModFluids {
final Identifier stillSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_still");
final Identifier flowingSpriteId = new Identifier(textureFluidId.getNamespace(), "block/" + textureFluidId.getPath() + "_flow");
//TODO: Redo
// If they're not already present, add the sprites to the block atlas
ClientSpriteRegistryCallback.event(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE).register((atlasTexture, registry) -> {
registry.register(stillSpriteId);
registry.register(flowingSpriteId);
});
final Identifier fluidId = Registry.FLUID.getId(still);
final Identifier fluidId = Registries.FLUID.getId(still);
final Identifier listenerId = new Identifier(fluidId.getNamespace(), fluidId.getPath() + "_reload_listener");
final Sprite[] fluidSprites = {null, null};

View file

@ -17,8 +17,6 @@ import net.minecraft.text.Text;
import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Quaternion;
import net.minecraft.util.math.Vec3f;
import org.apache.commons.lang3.tuple.ImmutableTriple;
import org.apache.commons.lang3.tuple.Triple;
import org.dimdev.dimdoors.DimensionalDoors;
@ -89,7 +87,7 @@ public class DimensionalDoorItemRegistrar {
if (!(originalBlock instanceof DimensionalDoorBlock)
&& !(originalBlock instanceof DimensionalTrapdoorBlock)
&& (originalBlock instanceof DoorBlock || originalBlock instanceof TrapdoorBlock)) {
Item.Settings settings = ItemExtensions.getSettings(original).group(DoorData.PARENT_ITEMS.contains(original) || DoorData.PARENT_BLOCKS.contains(originalBlock) ? null : ModItems.DIMENSIONAL_DOORS);
Item.Settings settings = ItemExtensions.getSettings(original)/*.group(DoorData.PARENT_ITEMS.contains(original) || DoorData.PARENT_BLOCKS.contains(originalBlock) ? null : ModItems.DIMENSIONAL_DOORS)*/; //TODO: Redo with the new way Itemgroups work.
Function<Block, BlockItem> dimItemConstructor = (dimBlock) -> constructor.apply(dimBlock, settings, rift -> rift.setDestination(new PublicPocketTarget()), original);

View file

@ -14,8 +14,9 @@ import net.minecraft.text.MutableText;
import net.minecraft.text.Text;
import net.minecraft.text.TranslatableTextContent;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Uuids;
import net.minecraft.util.collection.DefaultedList;
import net.minecraft.util.dynamic.DynamicSerializableUuid;
import net.minecraft.util.dynamic.UuDynamicSerializableUuid;
import net.minecraft.world.World;
import org.dimdev.dimdoors.api.util.EntityUtils;
import org.dimdev.dimdoors.api.util.Location;
@ -114,18 +115,18 @@ public class RiftKeyItem extends Item {
}
public static boolean tryRemove(ItemStack stack, UUID id) {
NbtIntArray arrayTag = new NbtIntArray(DynamicSerializableUuid.toIntArray(id));
NbtIntArray arrayTag = new NbtIntArray(Uuids.toIntArray(id));
return stack.getNbt().getList("Ids", NbtType.INT_ARRAY).remove(arrayTag);
}
public static void add(ItemStack stack, UUID id) {
if (!has(stack, id)) {
stack.getOrCreateNbt().getList("Ids", NbtType.INT_ARRAY).add(new NbtIntArray(DynamicSerializableUuid.toIntArray(id)));
stack.getOrCreateNbt().getList("Ids", NbtType.INT_ARRAY).add(new NbtIntArray(Uuids.toIntArray(id)));
}
}
public static boolean has(ItemStack stack, UUID id) {
return stack.getOrCreateNbt().getList("Ids", NbtType.INT_ARRAY).contains(new NbtIntArray(DynamicSerializableUuid.toIntArray(id)));
return stack.getOrCreateNbt().getList("Ids", NbtType.INT_ARRAY).contains(new NbtIntArray(Uuids.toIntArray(id)));
}
public static boolean isEmpty(ItemStack stack) {
@ -138,7 +139,7 @@ public class RiftKeyItem extends Item {
.stream()
.map(NbtIntArray.class::cast)
.map(NbtIntArray::getIntArray)
.map(DynamicSerializableUuid::toUuid)
.map(Uuids::toUuid)
.collect(Collectors.toList());
}

View file

@ -1,7 +1,7 @@
package org.dimdev.dimdoors.mixin;
import net.minecraft.registry.RegistryKey;
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;

View file

@ -6,11 +6,11 @@ import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.damage.DamageSource;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryKey;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.server.network.ServerRecipeBook;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.random.Random;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.dimdev.dimdoors.api.util.TeleportUtil;
import org.dimdev.dimdoors.block.UnravelledFabricBlock;

View file

@ -1,22 +1,23 @@
package org.dimdev.dimdoors.mixin.accessor;
import com.google.gson.JsonObject;
import net.minecraft.data.DataWriter;
import net.minecraft.data.server.RecipeProvider;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Invoker;
import java.nio.file.Path;
@Mixin(RecipeProvider.class)
public interface RecipesProviderAccessor {
@Invoker
static void callSaveRecipe(DataWriter cache, JsonObject json, Path path) {
throw new UnsupportedOperationException();
}
@Invoker
static void callSaveRecipeAdvancement(DataWriter cache, JsonObject json, Path path) {
throw new UnsupportedOperationException();
}
}
//TODO: Disabled unsure if needed.
//package org.dimdev.dimdoors.mixin.accessor;
//
//import com.google.gson.JsonObject;
//import net.minecraft.data.DataWriter;
//import net.minecraft.data.server.recipe.RecipeProvider;
//import org.spongepowered.asm.mixin.Mixin;
//import org.spongepowered.asm.mixin.gen.Invoker;
//
//import java.nio.file.Path;
//
//@Mixin(RecipeProvider.class)
//public interface RecipesProviderAccessor {
// @Invoker
// static void callSaveRecipe(DataWriter cache, JsonObject json, Path path) {
// throw new UnsupportedOperationException();
// }
//
// @Invoker
// static void callSaveRecipeAdvancement(DataWriter cache, JsonObject json, Path path) {
// throw new UnsupportedOperationException();
// }
//}

View file

@ -1,12 +1,10 @@
package org.dimdev.dimdoors.mixin.client;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gl.JsonEffectGlShader;
import net.minecraft.client.gl.PostProcessShader;
import net.minecraft.entity.player.PlayerEntity;
import com.mojang.blaze3d.systems.RenderSystem;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gl.JsonEffectShaderProgram;
import net.minecraft.client.gl.PostEffectPass;
import net.minecraft.entity.player.PlayerEntity;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@ -14,10 +12,10 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
@Mixin(PostProcessShader.class)
@Mixin(PostEffectPass.class)
public class PostProcessShaderMixin {
@Shadow @Final private JsonEffectGlShader program;
@Shadow @Final private JsonEffectShaderProgram program;
@Inject(method = "render(F)V", at = @At("HEAD"), cancellable = true)
public void render(float time, CallbackInfo cir) {

View file

@ -6,13 +6,13 @@ import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.registry.RegistryKey;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.network.ServerPlayNetworkHandler;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.util.Hand;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

View file

@ -6,8 +6,8 @@ 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.registry.RegistryKey;
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;

View file

@ -3,11 +3,10 @@ package org.dimdev.dimdoors.network.packet.s2c;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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.DimensionalDoors;
import org.dimdev.dimdoors.network.SimplePacket;
import org.dimdev.dimdoors.network.client.ClientPacketListener;
@ -39,7 +38,7 @@ public class SyncPocketAddonsS2CPacket implements SimplePacket<ClientPacketListe
@Override
public SimplePacket<ClientPacketListener> read(PacketByteBuf buf) throws IOException {
this.world = RegistryKey.of(Registry.WORLD_KEY, buf.readIdentifier());
this.world = RegistryKey.of(RegistryKeys.WORLD, buf.readIdentifier());
this.gridSize = buf.readInt();
this.pocketId = buf.readInt();
this.pocketRange = buf.readInt();

View file

@ -1,9 +1,7 @@
package org.dimdev.dimdoors.particle.client;
import org.dimdev.dimdoors.DimensionalDoors;
import org.dimdev.dimdoors.client.MonolithRenderer;
import org.jetbrains.annotations.Nullable;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.ParticleFactory;
@ -15,10 +13,10 @@ 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.math.Vec3f;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import org.dimdev.dimdoors.DimensionalDoors;
import org.dimdev.dimdoors.client.MonolithRenderer;
import org.jetbrains.annotations.Nullable;
import org.joml.Quaternionf;
@Environment(EnvType.CLIENT)
public class MonolithParticle extends Particle {
@ -33,7 +31,7 @@ public class MonolithParticle extends Particle {
float delta = ((float)this.age + tickDelta) / (float)this.maxAge;
MatrixStack matrices = new MatrixStack();
matrices.multiply(camera.getRotation());
matrices.multiply(Vec3f.POSITIVE_X.getDegreesQuaternion(150.0F * delta - 60.0F));
matrices.multiply(new Quaternionf().rotateX((float) Math.toRadians(150.0F * delta - 60.0F)));
matrices.scale(-1.0F, -1.0F, 1.0F);
matrices.translate(0.0D, -1.1009999513626099D, 1.5D);
VertexConsumerProvider.Immediate immediate = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers();

View file

@ -1,22 +1,19 @@
package org.dimdev.dimdoors.particle.client;
import java.util.Locale;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.particle.DustParticleEffect;
import net.minecraft.particle.ParticleEffect;
import net.minecraft.particle.ParticleType;
import net.minecraft.util.registry.Registry;
import com.mojang.brigadier.StringReader;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.particle.ParticleEffect;
import net.minecraft.particle.ParticleType;
import net.minecraft.registry.Registries;
import org.dimdev.dimdoors.particle.ModParticleTypes;
import java.util.Locale;
public class RiftParticleEffect implements ParticleEffect {
public static RiftParticleEffect of(boolean isOutsidePocket) {
return isOutsidePocket ? OUTSIDE : INSIDE;
@ -76,7 +73,7 @@ public class RiftParticleEffect implements ParticleEffect {
}
public String asString() {
return String.format(Locale.ROOT, "%s %.2f %s", Registry.PARTICLE_TYPE.getId(this.getType()), this.color, this.averageAge);
return String.format(Locale.ROOT, "%s %.2f %s", Registries.PARTICLE_TYPE.getId(this.getType()), this.color, this.averageAge);
}
public ParticleType<RiftParticleEffect> getType() {

View file

@ -5,6 +5,9 @@ import net.minecraft.block.Blocks;
import net.minecraft.fluid.FluidState;
import net.minecraft.fluid.Fluids;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.resource.ResourceManager;
import net.minecraft.server.world.ServerLightingProvider;
import net.minecraft.server.world.ServerWorld;
@ -13,8 +16,6 @@ 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;
@ -90,7 +91,7 @@ public class ChunkGenerator extends PocketGenerator {
LOGGER.info("Generating chunk pocket at location " + pocket.getOrigin());
ServerWorld genWorld = DimensionalDoors.getWorld(RegistryKey.of(Registry.WORLD_KEY, dimensionID));
ServerWorld genWorld = DimensionalDoors.getWorld(RegistryKey.of(RegistryKeys.WORLD, dimensionID));
net.minecraft.world.gen.chunk.ChunkGenerator genWorldChunkGenerator = genWorld.getChunkManager().getChunkGenerator();
NoiseConfig config = NoiseConfig.create(ChunkGeneratorSettings.createMissingSettings(), world.getRegistryManager().get(Registry.NOISE_KEY), world.getSeed());
@ -103,7 +104,7 @@ public class ChunkGenerator extends PocketGenerator {
protoChunks.add(protoChunk);
}
}
ChunkRegion protoRegion = new ChunkRegionHack(genWorld, protoChunks);
ChunkRegion protoRegion = new ChunkRegionHack(genWorld, protoChunks);//TODO Redo?
for (Chunk protoChunk : protoChunks) { // TODO: check wether structures are even activated
genWorldChunkGenerator.setStructureStarts(genWorld.getRegistryManager(), config, genWorld.getStructureAccessor().forRegion(protoRegion), protoChunk, genWorld.getStructureTemplateManager(), genWorld.getSeed());
((ProtoChunk) protoChunk).setStatus(ChunkStatus.STRUCTURE_STARTS);
@ -113,7 +114,7 @@ public class ChunkGenerator extends PocketGenerator {
((ProtoChunk) protoChunk).setStatus(ChunkStatus.STRUCTURE_REFERENCES);
}
for (Chunk protoChunk : protoChunks) {
genWorldChunkGenerator.populateBiomes(genWorld.getRegistryManager().get(Registry.BIOME_KEY), net.minecraft.util.Util.getMainWorkerExecutor(), config, Blender.getNoBlending(), genWorld.getStructureAccessor(), protoChunk);
genWorldChunkGenerator.populateBiomes(genWorld.getRegistryManager().get(RegistryKeys.BIOME), net.minecraft.util.Util.getMainWorkerExecutor(), config, Blender.getNoBlending(), genWorld.getStructureAccessor(), protoChunk);
((ProtoChunk) protoChunk).setStatus(ChunkStatus.BIOMES);
}
for (Chunk protoChunk : protoChunks) {

View file

@ -11,13 +11,13 @@ import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.nbt.NbtList;
import net.minecraft.nbt.NbtString;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.SimpleRegistry;
import net.minecraft.resource.ResourceManager;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Vec3i;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.util.registry.SimpleRegistry;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.DimensionalDoors;
@ -43,7 +43,7 @@ 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(DimensionalDoors.id("pocket_generator_type")), Lifecycle.stable(), null)).buildAndRegister();
public static final Registry<PocketGeneratorType<? extends PocketGenerator>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketGeneratorType<? extends PocketGenerator>>(RegistryKey.ofRegistry(DimensionalDoors.id("pocket_generator_type")), Lifecycle.stable(), false)).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

View file

@ -6,13 +6,13 @@ import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.enums.DoubleBlockHalf;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.Registries;
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 org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.api.util.NbtEquations;
@ -57,7 +57,7 @@ public class DimensionalDoorModifier extends AbstractLazyCompatibleModifier {
}
doorTypeString = nbt.getString("door_type");
Block doorBlock = Registry.BLOCK.get(Identifier.tryParse(doorTypeString));
Block doorBlock = Registries.BLOCK.get(Identifier.tryParse(doorTypeString));
if (!(doorBlock instanceof DimensionalDoorBlock)) {
throw new RuntimeException("Could not interpret door type \"" + doorTypeString + "\"");
}

View file

@ -6,11 +6,11 @@ import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.SimpleRegistry;
import net.minecraft.resource.ResourceManager;
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.DimensionalDoors;
import org.dimdev.dimdoors.api.util.ReferenceSerializable;
import org.dimdev.dimdoors.api.util.ResourceUtil;
@ -21,7 +21,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(DimensionalDoors.id("modifier_type")), Lifecycle.stable(), null)).buildAndRegister();
Registry<ModifierType<? extends Modifier>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<ModifierType<? extends Modifier>>(RegistryKey.ofRegistry(DimensionalDoors.id("modifier_type")), Lifecycle.stable(), false)).buildAndRegister();
String RESOURCE_STARTING_PATH = "pockets/modifier"; //TODO: might want to restructure data packs

View file

@ -5,11 +5,11 @@ import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.SimpleRegistry;
import net.minecraft.resource.ResourceManager;
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.DimensionalDoors;
import org.dimdev.dimdoors.api.util.ResourceUtil;
import org.dimdev.dimdoors.pockets.PocketGenerationContext;
@ -26,17 +26,14 @@ 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(DimensionalDoors.id("virtual_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
Registry<VirtualPocketType<? extends ImplementedVirtualPocket>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<VirtualPocketType<? extends ImplementedVirtualPocket>>(RegistryKey.ofRegistry(DimensionalDoors.id("virtual_pocket_type")), Lifecycle.stable(), false)).buildAndRegister();
static ImplementedVirtualPocket deserialize(NbtElement nbt, @Nullable ResourceManager manager) {
switch (nbt.getType()) {
case NbtType.COMPOUND:
return deserialize((NbtCompound) nbt, manager);
case NbtType.STRING:
return ResourceUtil.loadReferencedResource(manager, RESOURCE_STARTING_PATH, nbt.asString(), ResourceUtil.NBT_READER.andThenComposable(nbtElement -> deserialize(nbtElement, manager)));
default:
throw new RuntimeException(String.format("Unexpected NbtType %d!", nbt.getType()));
}
return switch (nbt.getType()) {
case NbtType.COMPOUND -> deserialize((NbtCompound) nbt, manager);
case NbtType.STRING -> ResourceUtil.loadReferencedResource(manager, RESOURCE_STARTING_PATH, nbt.asString(), ResourceUtil.NBT_READER.andThenComposable(nbtElement -> deserialize(nbtElement, manager)));
default -> throw new RuntimeException(String.format("Unexpected NbtType %d!", nbt.getType()));
};
}
static ImplementedVirtualPocket deserialize(NbtElement nbt) {

View file

@ -1,17 +1,17 @@
package org.dimdev.dimdoors.rift.registry;
import java.util.UUID;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.util.dynamic.DynamicSerializableUuid;
import net.minecraft.util.Uuids;
import java.util.UUID;
public class PlayerRiftPointer extends RegistryVertex {
public static final Codec<PlayerRiftPointer> CODEC = RecordCodecBuilder.create(instance -> {
return instance.group(
DynamicSerializableUuid.CODEC.fieldOf("id").forGetter(a -> a.id),
DynamicSerializableUuid.CODEC.fieldOf("player").forGetter(a -> a.player)
Uuids.CODEC.fieldOf("id").forGetter(a -> a.id),
Uuids.CODEC.fieldOf("player").forGetter(a -> a.player)
).apply(instance, (id, player) -> {
PlayerRiftPointer pointer = new PlayerRiftPointer(player);
pointer.id = id;

View file

@ -1,9 +1,9 @@
package org.dimdev.dimdoors.rift.registry;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.util.Identifier;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
public class PocketEntrancePointer extends RegistryVertex { // TODO: PocketRiftPointer superclass?
@ -35,7 +35,7 @@ public class PocketEntrancePointer extends RegistryVertex { // TODO: PocketRiftP
}
public static PocketEntrancePointer fromNbt(NbtCompound nbt) {
PocketEntrancePointer pointer = new PocketEntrancePointer(RegistryKey.of(Registry.WORLD_KEY, new Identifier(nbt.getString("pocketDim"))), nbt.getInt("pocketId"));
PocketEntrancePointer pointer = new PocketEntrancePointer(RegistryKey.of(RegistryKeys.WORLD, new Identifier(nbt.getString("pocketDim"))), nbt.getInt("pocketId"));
pointer.id = nbt.getUuid("id");
return pointer;
}

View file

@ -3,11 +3,10 @@ package org.dimdev.dimdoors.rift.registry;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.fabricmc.fabric.api.event.registry.RegistryAttribute;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
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.DimensionalDoors;
import java.util.Objects;

View file

@ -1,27 +1,25 @@
package org.dimdev.dimdoors.rift.registry;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.client.MinecraftClient;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.nbt.NbtList;
import net.minecraft.registry.RegistryKey;
import net.minecraft.util.Pair;
import org.apache.logging.log4j.Level;
import net.minecraft.world.World;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.dimdev.dimdoors.api.util.GraphUtils;
import org.dimdev.dimdoors.api.util.Location;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.PocketDirectory;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.jgrapht.graph.DefaultDirectedGraph;
import org.jgrapht.graph.DefaultEdge;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.World;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
public class RiftRegistry {
private static final Logger LOGGER = LogManager.getLogger();

View file

@ -4,10 +4,10 @@ import com.mojang.serialization.Lifecycle;
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.SimpleRegistry;
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.DimensionalDoors;
import org.dimdev.dimdoors.api.rift.target.Target;
import org.dimdev.dimdoors.api.util.Location;
@ -22,7 +22,7 @@ import java.util.function.Function;
* 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(DimensionalDoors.id("virtual_type")), Lifecycle.stable(), null)).buildAndRegister();
public static final Registry<VirtualTargetType<?>> REGISTRY = FabricRegistryBuilder.<VirtualTargetType<?>, SimpleRegistry<VirtualTargetType<?>>>from(new SimpleRegistry<>(RegistryKey.ofRegistry(DimensionalDoors.id("virtual_type")), Lifecycle.stable(), false)).buildAndRegister();
public static final RGBA COLOR = new RGBA(1, 0, 0, 1);
protected Location location;

View file

@ -1,12 +1,7 @@
package org.dimdev.dimdoors.world.feature.gateway;
import java.util.Set;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.BuiltinRegistries;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.StructureWorldAccess;
import net.minecraft.world.biome.Biome;
public interface Gateway {
void generate(StructureWorldAccess world, BlockPos pos);

View file

@ -1,18 +1,11 @@
package org.dimdev.dimdoors.world.feature.gateway;
import java.util.Set;
import com.google.common.collect.ImmutableSet;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.world.ModBiomes;
import org.dimdev.dimdoors.world.ModDimensions;
import net.minecraft.block.BlockState;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.registry.RegistryKey;
import net.minecraft.world.StructureWorldAccess;
import net.minecraft.world.biome.Biome;
import org.dimdev.dimdoors.block.ModBlocks;
import org.dimdev.dimdoors.world.ModDimensions;
public enum LimboGateway implements Gateway {
INSTANCE;

View file

@ -3,10 +3,10 @@ package org.dimdev.dimdoors.world.level.registry;
import dev.onyxstudios.cca.api.v3.component.ComponentV3;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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 net.minecraft.world.level.LevelProperties;
import org.dimdev.dimdoors.DimensionalDoorsComponents;
@ -42,7 +42,7 @@ public class DimensionalRegistry implements ComponentV3 {
NbtCompound pocketRegistryNbt = nbt.getCompound("pocket_registry");
CompletableFuture<Map<RegistryKey<World>, PocketDirectory>> futurePocketRegistry = CompletableFuture.supplyAsync(() -> pocketRegistryNbt.getKeys().stream().map(key -> {
NbtCompound pocketDirectoryNbt = pocketRegistryNbt.getCompound(key);
return CompletableFuture.supplyAsync(() -> new Pair<>(RegistryKey.of(Registry.WORLD_KEY, Identifier.tryParse(key)), PocketDirectory.readFromNbt(key, pocketDirectoryNbt)));
return CompletableFuture.supplyAsync(() -> new Pair<>(RegistryKey.of(RegistryKeys.WORLD, Identifier.tryParse(key)), PocketDirectory.readFromNbt(key, pocketDirectoryNbt)));
}).parallel().map(CompletableFuture::join).collect(Collectors.toConcurrentMap(Pair::getLeft, Pair::getRight)));
NbtCompound privateRegistryNbt = nbt.getCompound("private_registry");

View file

@ -1,12 +1,12 @@
package org.dimdev.dimdoors.world.pocket;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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.DimensionalDoors;
import org.dimdev.dimdoors.api.util.math.GridUtil;
@ -46,7 +46,7 @@ public class PocketDirectory {
}
public static PocketDirectory readFromNbt(String id, NbtCompound nbt) {
PocketDirectory directory = new PocketDirectory(RegistryKey.of(Registry.WORLD_KEY, new Identifier(id)));
PocketDirectory directory = new PocketDirectory(RegistryKey.of(RegistryKeys.WORLD, new Identifier(id)));
// no need to parallelize
directory.gridSize = nbt.getInt("grid_size");
directory.privatePocketSize = nbt.getInt("private_pocket_size");

View file

@ -4,10 +4,10 @@ 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.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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;
@ -37,7 +37,7 @@ public class PrivateRegistry {
public static PocketInfo fromNbt(NbtCompound nbt) {
return new PocketInfo(
RegistryKey.of(Registry.WORLD_KEY, new Identifier(nbt.getString("world"))),
RegistryKey.of(RegistryKeys.WORLD, new Identifier(nbt.getString("world"))),
nbt.getInt("id")
);
}

View file

@ -4,12 +4,12 @@ import com.google.common.base.MoreObjects;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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.DimensionalDoors;
@ -53,7 +53,7 @@ public class VirtualLocation {
public static VirtualLocation fromNbt(NbtCompound nbt) {
return new VirtualLocation(
RegistryKey.of(Registry.WORLD_KEY, new Identifier(nbt.getString("world"))),
RegistryKey.of(RegistryKeys.WORLD, new Identifier(nbt.getString("world"))),
nbt.getInt("x"),
nbt.getInt("z"),
nbt.getInt("depth")

View file

@ -3,11 +3,12 @@ package org.dimdev.dimdoors.world.pocket.type;
import com.mojang.serialization.Lifecycle;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
import net.minecraft.registry.SimpleRegistry;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.Vec3i;
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.DimensionalDoors;
import org.dimdev.dimdoors.world.pocket.PocketDirectory;
@ -16,7 +17,7 @@ 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(DimensionalDoors.id("abstract_pocket_type")), Lifecycle.stable(), null)).buildAndRegister();
public static final Registry<AbstractPocketType<? extends AbstractPocket<?>>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<AbstractPocketType<? extends AbstractPocket<?>>>(RegistryKey.ofRegistry(DimensionalDoors.id("abstract_pocket_type")), Lifecycle.stable(), false)).buildAndRegister();
protected Integer id;
protected RegistryKey<World> world;
@ -49,7 +50,7 @@ public abstract class AbstractPocket<V extends AbstractPocket<?>> {
public V fromNbt(NbtCompound nbt) {
this.id = nbt.getInt("id");
this.world = RegistryKey.of(Registry.WORLD_KEY, new Identifier(nbt.getString("world")));
this.world = RegistryKey.of(RegistryKeys.WORLD, new Identifier(nbt.getString("world")));
return (V) this;
}

View file

@ -5,13 +5,13 @@ import net.minecraft.block.entity.BlockEntity;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.nbt.NbtList;
import net.minecraft.registry.RegistryKey;
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.DimensionalDoors;
import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry;

View file

@ -3,10 +3,10 @@ package org.dimdev.dimdoors.world.pocket.type.addon;
import com.mojang.serialization.Lifecycle;
import net.fabricmc.fabric.api.event.registry.FabricRegistryBuilder;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.registry.Registry;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.SimpleRegistry;
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.DimensionalDoors;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
import org.dimdev.dimdoors.world.pocket.type.addon.blockbreak.BlockBreakContainer;
@ -15,7 +15,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(DimensionalDoors.id("pocket_applicable_addon_type")), Lifecycle.stable(), null)).buildAndRegister();
Registry<PocketAddonType<? extends PocketAddon>> REGISTRY = FabricRegistryBuilder.from(new SimpleRegistry<PocketAddonType<? extends PocketAddon>>(RegistryKey.ofRegistry(DimensionalDoors.id("pocket_applicable_addon_type")), Lifecycle.stable(), false)).buildAndRegister();
static PocketAddon deserialize(NbtCompound nbt) {
Identifier id = Identifier.tryParse(nbt.getString("type")); // TODO: NONE PocketAddon type;

View file

@ -2,11 +2,10 @@ package org.dimdev.dimdoors.world.pocket.type.addon;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.network.PacketByteBuf;
import net.minecraft.registry.RegistryKey;
import net.minecraft.registry.RegistryKeys;
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.DimensionalDoors;
import org.dimdev.dimdoors.world.pocket.type.Pocket;
@ -24,7 +23,7 @@ public class SkyAddon implements AutoSyncedAddon {
@Override
public PocketAddon fromNbt(NbtCompound nbt) {
this.world = RegistryKey.of(Registry.WORLD_KEY, Identifier.tryParse(nbt.getString("world")));
this.world = RegistryKey.of(RegistryKeys.WORLD, Identifier.tryParse(nbt.getString("world")));
return this;
}
@ -54,7 +53,7 @@ public class SkyAddon implements AutoSyncedAddon {
@Override
public AutoSyncedAddon read(PacketByteBuf buf) throws IOException {
this.world = RegistryKey.of(Registry.WORLD_KEY, buf.readIdentifier());
this.world = RegistryKey.of(RegistryKeys.WORLD, buf.readIdentifier());
return this;
}
@ -91,7 +90,7 @@ public class SkyAddon implements AutoSyncedAddon {
@Override
public PocketBuilderAddon<SkyAddon> fromNbt(NbtCompound nbt) {
this.world = RegistryKey.of(Registry.WORLD_KEY, Identifier.tryParse(nbt.getString("world")));
this.world = RegistryKey.of(RegistryKeys.WORLD, Identifier.tryParse(nbt.getString("world")));
return this;
}

View file

@ -26,7 +26,6 @@
"accessor.GenerationSettingsAccessor",
"accessor.ItemGroupAccessor",
"accessor.ListTagAccessor",
"accessor.RecipesProviderAccessor",
"accessor.RedstoneWireBlockAccessor",
"accessor.StatsAccessor"
],