From 04958364fd2883fdb26e485db1338bcc9a0fcd11 Mon Sep 17 00:00:00 2001 From: Waterpicker Date: Mon, 27 Jun 2022 08:08:01 -0500 Subject: [PATCH] 1.19 three classes remain. --- build.gradle | 18 ++-- gradle.properties | 16 ++-- .../dimdoors/client/util/ScreenGenerator.java | 44 ++++----- .../dimdoors/datagen/AdvancementTab.java | 96 +++++++++---------- .../dimdoors/datagen/DatagenInitializer.java | 55 +++++------ .../dimdoors/datagen/LimboDecayProvider.java | 5 +- .../dimdoors/datagen/LootTableProvider.java | 4 +- .../api/client/DimensionalPortalRenderer.java | 2 +- .../dimdoors/api/util/TeleportUtil.java | 21 ++-- .../dimdoors/api/util/WeightedList.java | 5 +- .../dimdoors/api/util/math/MathUtil.java | 4 +- .../dimdoors/block/DetachedRiftBlock.java | 3 +- .../org/dimdev/dimdoors/block/ModBlocks.java | 2 +- .../dimdoors/block/UnravelledFabricBlock.java | 3 +- .../door/DimensionalDoorBlockRegistrar.java | 6 +- .../block/entity/DetachedRiftBlockEntity.java | 4 +- .../block/entity/EntranceRiftBlockEntity.java | 5 +- .../block/entity/RiftBlockEntity.java | 9 +- .../dimdoors/block/entity/RiftData.java | 1 - .../dimdoors/client/DimensionRenderering.java | 6 +- .../DimensionalDoorsClientInitializer.java | 6 +- .../dimdev/dimdoors/client/MyRenderLayer.java | 4 +- .../dimdev/dimdoors/client/ToolTipHelper.java | 11 ++- .../client/wthit/EntranceRiftProvider.java | 28 +++--- .../dimdoors/client/wthit/WthitPlugin.java | 2 +- .../dimdev/dimdoors/command/ModCommands.java | 4 +- .../dimdoors/command/PocketCommand.java | 17 ++-- .../dimdoors/command/WorldeditHelper.java | 24 ++--- .../command/arguments/EnumArgumentType.java | 19 ++-- .../arguments/PocketTemplateArgumentType.java | 8 +- .../dimdoors/entity/MonolithEntity.java | 4 +- .../dimdoors/entity/ai/MonolithAggroGoal.java | 21 ++-- .../entity/limbo/LimboEntranceSource.java | 12 +-- .../entity/limbo/LimboExitReason.java | 8 +- .../dimdev/dimdoors/fluid/EternalFluid.java | 8 +- .../dimdoors/item/DimensionalDoorItem.java | 34 +++---- .../item/DimensionalDoorItemRegistrar.java | 13 ++- .../dimdev/dimdoors/item/MaskWandItem.java | 15 ++- .../dimdev/dimdoors/item/RiftBladeItem.java | 24 ++--- .../item/RiftConfigurationToolItem.java | 27 +++--- .../org/dimdev/dimdoors/item/RiftKeyItem.java | 46 +++++---- .../dimdev/dimdoors/item/RiftRemoverItem.java | 42 ++++---- .../dimdoors/item/RiftSignatureItem.java | 45 ++++----- .../dimdoors/item/RiftStabilizerItem.java | 27 +++--- .../item/StabilizedRiftSignatureItem.java | 31 +++--- .../dimdev/dimdoors/mixin/ExplosionMixin.java | 2 +- .../mixin/ServerPlayerEntityMixin.java | 29 +++--- .../org/dimdev/dimdoors/mixin/WorldMixin.java | 2 +- .../accessor/ChunkGeneratorAccessor.java | 6 +- .../accessor/RecipesProviderAccessor.java | 9 +- .../particle/client/LimboAshParticle.java | 2 +- .../dimdoors/pockets/PocketGenerator.java | 2 +- .../pockets/generator/SchematicGenerator.java | 29 +++--- .../dimdoors/rift/targets/EscapeTarget.java | 41 ++++---- .../dimdoors/rift/targets/MessageTarget.java | 9 +- .../rift/targets/PocketEntranceMarker.java | 17 ++-- .../rift/targets/PocketExitMarker.java | 9 +- .../rift/targets/PrivatePocketExitTarget.java | 17 ++-- .../dimdev/dimdoors/rift/targets/Targets.java | 14 +-- .../dimdoors/rift/targets/UnstableTarget.java | 11 +-- .../org/dimdev/dimdoors/world/ModBiomes.java | 5 +- .../dimdoors/world/decay/LimboDecay.java | 20 ++-- .../dimdoors/world/feature/ModFeatures.java | 47 +++------ .../world/level/registry/RiftSchemas.java | 8 +- .../world/pocket/BlankChunkGenerator.java | 59 +++++------- .../world/pocket/type/addon/DyeableAddon.java | 13 +-- src/main/resources/dimdoors.accesswidener | 4 +- .../util/schematic/SchematicBlockPalette.java | 20 ++-- 68 files changed, 525 insertions(+), 639 deletions(-) diff --git a/build.gradle b/build.gradle index 3d3bf111..1694252f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ plugins { id "java" - id "fabric-loom" version "0.10-SNAPSHOT" + id "fabric-loom" version "0.12-SNAPSHOT" id "maven-publish" id "com.matthewprenger.cursegradle" version "1.4.0" } @@ -123,15 +123,15 @@ loom { assemble.dependsOn runDatagen dependencies { - minecraft "com.mojang:minecraft:1.18.2" - mappings "net.fabricmc:yarn:1.18.2+build.2:v2" - modImplementation "net.fabricmc:fabric-loader:0.13.3" - modImplementation "net.fabricmc.fabric-api:fabric-api:0.48.0+1.18.2" + minecraft "com.mojang:minecraft:1.19" + mappings "net.fabricmc:yarn:1.19+build.4:v2" + modImplementation "net.fabricmc:fabric-loader:0.14.8" + modImplementation "net.fabricmc.fabric-api:fabric-api:0.56.3+1.19" includeCompile("com.flowpowered", "flow-math", "1.0.3") includeCompile("org.jgrapht", "jgrapht-core", "1.1.0") includeCompile("com.github.DimensionalDevelopment", "poly2tri.java", "0.1.1") includeCompile("com.github.DimensionalDevelopment", "Matrix", "1.0.0") - includeCompile("me.shedaniel.cloth", "cloth-config-fabric", "6.2.57") + includeCompile("me.shedaniel.cloth", "cloth-config-fabric", "7.0.72") includeCompile("curse.maven", "cardinal_base-318449", "${project.cardinal_components_base}") includeCompile("curse.maven", "cardinal_item-318449", "${project.cardinal_components_item}") @@ -142,7 +142,7 @@ dependencies { //includeCompile("curse.maven", "wthit-3707010", "${project.wthit}") - modCompileOnly("com.terraformersmc:modmenu:3.1.0") { + modCompileOnly("com.terraformersmc:modmenu:4.0.0") { exclude module: "fabric-api" } @@ -151,8 +151,8 @@ dependencies { // exclude module: "fabric-api" // } - modCompileOnly "curse.maven:worldedit-225608:3697298" - modCompileOnly "curse.maven:wthit-440979:3707010" + modCompileOnly "curse.maven:worldedit-225608:3836903" + modCompileOnly "curse.maven:wthit-440979:3841975" testImplementation('org.junit.jupiter:junit-jupiter:5.8.2') // testImplementation("junit:junit:4.13.2") diff --git a/gradle.properties b/gradle.properties index 0333304f..e354c37c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,14 +1,14 @@ mod_version=4.0.4 -minecraft_version=1.18.2 +minecraft_version=1.19 org.gradle.jvmargs=-Xmx2048m -cardinal_components_base=3669770 -cardinal_components_item=3669774 -cardinal_components_entity=3669773 -cardinal_components_level=3669775 -cardinal_components_world=3669777 -cardinal_components_chunk=3669772 +cardinal_components_base=3801039 +cardinal_components_item=3801043 +cardinal_components_entity=3801042 +cardinal_components_level=3801044 +cardinal_components_world=3801046 +cardinal_components_chunk=3801041 -wthit=440979 +wthit=3841975 diff --git a/src/main/config/org/dimdev/dimdoors/client/util/ScreenGenerator.java b/src/main/config/org/dimdev/dimdoors/client/util/ScreenGenerator.java index 7c8a8295..c49841be 100644 --- a/src/main/config/org/dimdev/dimdoors/client/util/ScreenGenerator.java +++ b/src/main/config/org/dimdev/dimdoors/client/util/ScreenGenerator.java @@ -1,15 +1,5 @@ package org.dimdev.dimdoors.client.util; -import java.lang.reflect.Field; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; -import java.lang.reflect.Modifier; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Optional; -import java.util.Set; -import java.util.stream.Stream; - import com.google.common.base.Preconditions; import me.shedaniel.clothconfig2.api.ConfigBuilder; import me.shedaniel.clothconfig2.api.ConfigCategory; @@ -18,14 +8,20 @@ import me.shedaniel.clothconfig2.impl.builders.BooleanToggleBuilder; import me.shedaniel.clothconfig2.impl.builders.DoubleFieldBuilder; import me.shedaniel.clothconfig2.impl.builders.IntFieldBuilder; import me.shedaniel.clothconfig2.impl.builders.IntListBuilder; - -import net.minecraft.client.gui.screen.Screen; -import net.minecraft.text.LiteralText; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; - import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableTextContent; + +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Stream; @Environment(EnvType.CLIENT) public class ScreenGenerator { @@ -35,7 +31,7 @@ public class ScreenGenerator { Preconditions.checkNotNull(saveAction); ConfigBuilder configBuilder = ConfigBuilder.create(); ConfigEntryBuilder entryBuilder = configBuilder.entryBuilder(); - configBuilder.setTitle(new TranslatableText(configClass.getAnnotation(Title.class).value())); + configBuilder.setTitle(MutableText.of(new TranslatableTextContent(configClass.getAnnotation(Title.class).value()))); configBuilder.setSavingRunnable(saveAction); configBuilder.setParentScreen(parent); for (Field field : configClass.getDeclaredFields()) { @@ -45,7 +41,7 @@ public class ScreenGenerator { continue; } - ConfigCategory category = configBuilder.getOrCreateCategory(new TranslatableText(configClass.getName().toLowerCase() + ":" + field.getName())); + ConfigCategory category = configBuilder.getOrCreateCategory(MutableText.of(new TranslatableTextContent(configClass.getName().toLowerCase() + ":" + field.getName()))); Object value; try { if (field.isAnnotationPresent(Private.class)) { @@ -71,8 +67,8 @@ public class ScreenGenerator { .map(Arrays::stream) .orElse(Stream.empty()) .map(tooltip -> { - if (tooltip.absolute()) return new LiteralText(tooltip.value()); - else return new TranslatableText(valueClass.getName().toLowerCase() + "." + innerField.getName() + ":" + tooltip.value()); + if (tooltip.absolute()) return Text.of(tooltip.value()); + else return MutableText.of(new TranslatableTextContent(valueClass.getName().toLowerCase() + "." + innerField.getName() + ":" + tooltip.value())); }) .map(text -> (Text) text) .toArray(Text[]::new)) @@ -80,7 +76,7 @@ public class ScreenGenerator { try { if (innerField.getType() == boolean.class) { - BooleanToggleBuilder builder = entryBuilder.startBooleanToggle(new TranslatableText(valueClass.getName().toLowerCase() + ":" + innerField.getName()), innerField.getBoolean(value)) + BooleanToggleBuilder builder = entryBuilder.startBooleanToggle(MutableText.of(new TranslatableTextContent(valueClass.getName().toLowerCase() + ":" + innerField.getName())), innerField.getBoolean(value)) .setTooltip(tooltipSupplier) .setSaveConsumer(bool -> { try { @@ -92,7 +88,7 @@ public class ScreenGenerator { builder.requireRestart(field.isAnnotationPresent(RequiresRestart.class)); category.addEntry(builder.build()); } else if (innerField.getType() == int.class) { - IntFieldBuilder builder = entryBuilder.startIntField(new TranslatableText(valueClass.getName().toLowerCase() + ":" + innerField.getName()), innerField.getInt(value)) + IntFieldBuilder builder = entryBuilder.startIntField(MutableText.of(new TranslatableTextContent(valueClass.getName().toLowerCase() + ":" + innerField.getName())), innerField.getInt(value)) .setTooltip(tooltipSupplier) .setSaveConsumer(i -> { try { @@ -104,7 +100,7 @@ public class ScreenGenerator { builder.requireRestart(field.isAnnotationPresent(RequiresRestart.class)); category.addEntry(builder.build()); } else if (innerField.getType() == double.class) { - DoubleFieldBuilder builder = entryBuilder.startDoubleField(new TranslatableText(valueClass.getName().toLowerCase() + ":" + innerField.getName()), innerField.getDouble(value)) + DoubleFieldBuilder builder = entryBuilder.startDoubleField(MutableText.of(new TranslatableTextContent(valueClass.getName().toLowerCase() + ":" + innerField.getName())), innerField.getDouble(value)) .setTooltip(tooltipSupplier) .setSaveConsumer(d -> { try { @@ -116,7 +112,7 @@ public class ScreenGenerator { builder.requireRestart(field.isAnnotationPresent(RequiresRestart.class)); category.addEntry(builder.build()); } else if (innerField.isAnnotationPresent(IntSet.class)) { - IntListBuilder builder = entryBuilder.startIntList(new TranslatableText(valueClass.getName().toLowerCase() + ":" + innerField.getName()), new ArrayList<>(((Set) innerField.get(value)))) + IntListBuilder builder = entryBuilder.startIntList(MutableText.of(new TranslatableTextContent(valueClass.getName().toLowerCase() + ":" + innerField.getName())), new ArrayList<>(((Set) innerField.get(value)))) .setTooltip(tooltipSupplier) .setSaveConsumer(set -> { try { diff --git a/src/main/datagen/org/dimdev/dimdoors/datagen/AdvancementTab.java b/src/main/datagen/org/dimdev/dimdoors/datagen/AdvancementTab.java index e8bda5fc..2b6b30a9 100644 --- a/src/main/datagen/org/dimdev/dimdoors/datagen/AdvancementTab.java +++ b/src/main/datagen/org/dimdev/dimdoors/datagen/AdvancementTab.java @@ -1,41 +1,33 @@ package org.dimdev.dimdoors.datagen; -import java.util.function.Consumer; - -import net.minecraft.tag.TagKey; -import org.dimdev.dimdoors.criteria.PocketSpawnPointSetCondition; -import org.dimdev.dimdoors.criteria.RiftTrackedCriterion; -import org.dimdev.dimdoors.item.ModItems; -import org.dimdev.dimdoors.world.ModDimensions; - import net.minecraft.advancement.Advancement; import net.minecraft.advancement.AdvancementDisplay; import net.minecraft.advancement.AdvancementFrame; import net.minecraft.advancement.criterion.ChangedDimensionCriterion; import net.minecraft.advancement.criterion.InventoryChangedCriterion; -import net.minecraft.advancement.criterion.ItemUsedOnBlockCriterion; import net.minecraft.advancement.criterion.PlacedBlockCriterion; import net.minecraft.block.Blocks; import net.minecraft.item.ItemConvertible; import net.minecraft.item.Items; -import net.minecraft.predicate.BlockPredicate; -import net.minecraft.predicate.FluidPredicate; -import net.minecraft.predicate.LightPredicate; -import net.minecraft.predicate.NbtPredicate; -import net.minecraft.predicate.NumberRange; import net.minecraft.predicate.entity.EntityPredicate; -import net.minecraft.predicate.entity.LocationPredicate; -import net.minecraft.predicate.item.EnchantmentPredicate; import net.minecraft.predicate.item.ItemPredicate; -import net.minecraft.text.TranslatableText; +import net.minecraft.tag.TagKey; +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.criteria.PocketSpawnPointSetCondition; +import org.dimdev.dimdoors.criteria.RiftTrackedCriterion; +import org.dimdev.dimdoors.item.ModItems; +import org.dimdev.dimdoors.world.ModDimensions; + +import java.util.function.Consumer; public class AdvancementTab implements Consumer> { static AdvancementDisplay makeDisplay(ItemConvertible item, String titleKey) { return new AdvancementDisplay(item.asItem().getDefaultStack(), - new TranslatableText("dimdoors.advancement." + titleKey), - new TranslatableText("dimdoors.advancement." + titleKey + ".desc"), + MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey)), + MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey + ".desc")), new Identifier("dimdoors:textures/block/unravelled_fabric.png"), AdvancementFrame.TASK, true, @@ -46,8 +38,8 @@ public class AdvancementTab implements Consumer> { static AdvancementDisplay makeDisplay(ItemConvertible item, String titleKey, AdvancementFrame advancementFrame) { return new AdvancementDisplay(item.asItem().getDefaultStack(), - new TranslatableText("dimdoors.advancement." + titleKey), - new TranslatableText("dimdoors.advancement." + titleKey + ".desc"), + MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey)), + MutableText.of(new TranslatableTextContent("dimdoors.advancement." + titleKey + ".desc")), new Identifier("dimdoors:textures/block/unravelled_fabric.png"), advancementFrame, true, @@ -97,37 +89,37 @@ public class AdvancementTab implements Consumer> { .parent(holeInTheSky) .criterion("enter_dungeon", ChangedDimensionCriterion.Conditions.to(ModDimensions.DUNGEON)) .build(advancementConsumer, "dimdoors:dimdoors/door_to_adventure"); - Advancement.Builder.create() - .display(makeDisplay(Items.CHEST, "lost_and_found")) - .parent(doorToAdventure) - .criterion("open_chest", new ItemUsedOnBlockCriterion.Conditions - ( - EntityPredicate.Extended.EMPTY, - new LocationPredicate( - NumberRange.FloatRange.ANY, - NumberRange.FloatRange.ANY, - NumberRange.FloatRange.ANY, - null, - null, - ModDimensions.DUNGEON, - null, - LightPredicate.ANY, - BlockPredicate.Builder.create().blocks(Blocks.CHEST, Blocks.TRAPPED_CHEST).build(), - FluidPredicate.ANY - ), - new ItemPredicate( - null, - null, - NumberRange.IntRange.ANY, - NumberRange.IntRange.ANY, - EnchantmentPredicate.ARRAY_OF_ANY, - EnchantmentPredicate.ARRAY_OF_ANY, - null, - NbtPredicate.ANY - ) - ) - ) - .build(advancementConsumer, "dimdoors:dimdoors/lost_and_found"); +// Advancement.Builder.create() TODO: Figure out what the heck ItemUsedOnBlockCriterion +// .display(makeDisplay(Items.CHEST, "lost_and_found")) +// .parent(doorToAdventure) +// .criterion("open_chest", new ItemUsedOnBlockCriterion.Conditions +// ( +// EntityPredicate.Extended.EMPTY, +// new LocationPredicate( +// NumberRange.FloatRange.ANY, +// NumberRange.FloatRange.ANY, +// NumberRange.FloatRange.ANY, +// null, +// null, +// ModDimensions.DUNGEON, +// null, +// LightPredicate.ANY, +// BlockPredicate.Builder.create().blocks(Blocks.CHEST, Blocks.TRAPPED_CHEST).build(), +// FluidPredicate.ANY +// ), +// new ItemPredicate( +// null, +// null, +// NumberRange.IntRange.ANY, +// NumberRange.IntRange.ANY, +// EnchantmentPredicate.ARRAY_OF_ANY, +// EnchantmentPredicate.ARRAY_OF_ANY, +// null, +// NbtPredicate.ANY +// ) +// ) +// ) +// .build(advancementConsumer, "dimdoors:dimdoors/lost_and_found"); Advancement.Builder.create() .display(makeDisplay(ModItems.BLACK_FABRIC, "darklight")) .parent(doorToAdventure) diff --git a/src/main/datagen/org/dimdev/dimdoors/datagen/DatagenInitializer.java b/src/main/datagen/org/dimdev/dimdoors/datagen/DatagenInitializer.java index 8d55fa15..3dae5bb5 100644 --- a/src/main/datagen/org/dimdev/dimdoors/datagen/DatagenInitializer.java +++ b/src/main/datagen/org/dimdev/dimdoors/datagen/DatagenInitializer.java @@ -2,43 +2,32 @@ package org.dimdev.dimdoors.datagen; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; -import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockStateDefinitionProvider; -import net.minecraft.block.Block; -import net.minecraft.block.Blocks; -import net.minecraft.data.client.*; -import net.minecraft.item.Item; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; -import org.dimdev.dimdoors.block.ModBlocks; - -import static net.minecraft.data.client.BlockStateModelGenerator.createBlockStateWithTwoModelAndRandomInversion; -import static net.minecraft.data.client.BlockStateModelGenerator.createDoorBlockState; public class DatagenInitializer implements DataGeneratorEntrypoint { @Override public void onInitializeDataGenerator(FabricDataGenerator dataGenerator) { - dataGenerator.addProvider(new FabricBlockStateDefinitionProvider(dataGenerator) { - - @Override - public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { - registerDoor(blockStateModelGenerator, ModBlocks.STONE_DOOR, Blocks.STONE); - } - - @Override - public void generateItemModels(ItemModelGenerator itemModelGenerator) { - } - - public void registerDoor(BlockStateModelGenerator generator, Block doorBlock, Block base) { - TextureMap textureMap = TextureMap.all(base); - Identifier identifier = Models.DOOR_BOTTOM.upload(doorBlock, textureMap, generator.modelCollector); - Identifier identifier2 = Models.DOOR_BOTTOM_RH.upload(doorBlock, textureMap, generator.modelCollector); - Identifier identifier3 = Models.DOOR_TOP.upload(doorBlock, textureMap, generator.modelCollector); - Identifier identifier4 = Models.DOOR_TOP_RH.upload(doorBlock, textureMap, generator.modelCollector); - generator.registerItemModel(doorBlock.asItem()); - generator.blockStateCollector.accept(createDoorBlockState(doorBlock, identifier, identifier2, identifier3, identifier4)); - } - - }); +// dataGenerator.addProvider(new FabricBlockStateDefinitionProvider(dataGenerator) { +// +// @Override +// public void generateBlockStateModels(BlockStateModelGenerator blockStateModelGenerator) { +// registerDoor(blockStateModelGenerator, ModBlocks.STONE_DOOR, Blocks.STONE); +// } +// +// @Override +// public void generateItemModels(ItemModelGenerator itemModelGenerator) { +// } +// +// public void registerDoor(BlockStateModelGenerator generator, Block doorBlock, Block base) { +// TextureMap textureMap = TextureMap.all(base); +// Identifier identifier = Models.DOOR_BOTTOM_LEFT.DOOR_BOTTOM.upload(doorBlock, textureMap, generator.modelCollector); +// Identifier identifier2 = Models.DOOR_BOTTOM_RH.upload(doorBlock, textureMap, generator.modelCollector); +// Identifier identifier3 = Models.DOOR_TOP.upload(doorBlock, textureMap, generator.modelCollector); +// Identifier identifier4 = Models.DOOR_TOP_RH.upload(doorBlock, textureMap, generator.modelCollector); +// generator.registerItemModel(doorBlock.asItem()); +// generator.blockStateCollector.accept(createDoorBlockState(doorBlock, identifier, identifier2, identifier3, identifier4)); +// } +// +// }); dataGenerator.addProvider(new FabricRecipeProvider(dataGenerator)); dataGenerator.addProvider(new AdvancementProvider(dataGenerator)); diff --git a/src/main/datagen/org/dimdev/dimdoors/datagen/LimboDecayProvider.java b/src/main/datagen/org/dimdev/dimdoors/datagen/LimboDecayProvider.java index 04c0661c..5e2ca6e4 100644 --- a/src/main/datagen/org/dimdev/dimdoors/datagen/LimboDecayProvider.java +++ b/src/main/datagen/org/dimdev/dimdoors/datagen/LimboDecayProvider.java @@ -3,6 +3,7 @@ package org.dimdev.dimdoors.datagen; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; +import net.minecraft.data.DataWriter; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dimdev.dimdoors.api.util.ResourceUtil; @@ -37,14 +38,14 @@ public class LimboDecayProvider implements DataProvider { } @Override - public void run(DataCache cache) throws IOException { + public void run(DataWriter cache) throws IOException { Path path = this.generator.getOutput(); BiConsumer consumer = (identifier, json) -> { Path outputPath = getOutput(path, identifier); try { - DataProvider.writeToPath(GSON, cache, json, outputPath); + DataProvider.writeToPath(cache, json, outputPath); } catch (IOException var6) { LOGGER.error("Couldn't save decay pattern {}", outputPath, var6); } diff --git a/src/main/datagen/org/dimdev/dimdoors/datagen/LootTableProvider.java b/src/main/datagen/org/dimdev/dimdoors/datagen/LootTableProvider.java index e7b3d87c..ea458508 100644 --- a/src/main/datagen/org/dimdev/dimdoors/datagen/LootTableProvider.java +++ b/src/main/datagen/org/dimdev/dimdoors/datagen/LootTableProvider.java @@ -3,7 +3,7 @@ package org.dimdev.dimdoors.datagen; import java.io.IOException; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; -import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTablesProvider; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricBlockLootTableProvider; import net.minecraft.block.Blocks; import net.minecraft.enchantment.Enchantments; import net.minecraft.item.Items; @@ -16,7 +16,7 @@ import org.dimdev.dimdoors.block.ModBlocks; import net.minecraft.block.Block; import org.dimdev.dimdoors.item.ModItems; -public class LootTableProvider extends FabricBlockLootTablesProvider { +public class LootTableProvider extends FabricBlockLootTableProvider { public LootTableProvider(FabricDataGenerator dataGenerator) { super(dataGenerator); diff --git a/src/main/java/org/dimdev/dimdoors/api/client/DimensionalPortalRenderer.java b/src/main/java/org/dimdev/dimdoors/api/client/DimensionalPortalRenderer.java index 4e8df683..e6d82539 100644 --- a/src/main/java/org/dimdev/dimdoors/api/client/DimensionalPortalRenderer.java +++ b/src/main/java/org/dimdev/dimdoors/api/client/DimensionalPortalRenderer.java @@ -1,7 +1,7 @@ package org.dimdev.dimdoors.api.client; import java.util.Collections; -import java.util.Random; +import net.minecraft.util.math.random.Random; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/src/main/java/org/dimdev/dimdoors/api/util/TeleportUtil.java b/src/main/java/org/dimdev/dimdoors/api/util/TeleportUtil.java index 6fa9559a..234b52a2 100644 --- a/src/main/java/org/dimdev/dimdoors/api/util/TeleportUtil.java +++ b/src/main/java/org/dimdev/dimdoors/api/util/TeleportUtil.java @@ -1,25 +1,22 @@ package org.dimdev.dimdoors.api.util; -import java.util.concurrent.ThreadLocalRandom; - +import net.fabricmc.fabric.api.dimension.v1.FabricDimensions; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.network.packet.s2c.play.EntityVelocityUpdateS2CPacket; -import net.minecraft.server.world.ChunkTicketType; -import net.minecraft.util.math.*; -import org.dimdev.dimdoors.DimensionalDoorsInitializer; - -import net.minecraft.entity.Entity; import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.server.world.ChunkTicketType; import net.minecraft.server.world.ServerWorld; +import net.minecraft.util.math.*; import net.minecraft.world.TeleportTarget; import net.minecraft.world.World; - -import net.fabricmc.fabric.api.dimension.v1.FabricDimensions; - +import org.dimdev.dimdoors.DimensionalDoorsInitializer; import org.dimdev.dimdoors.entity.stat.ModStats; import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler; import org.dimdev.dimdoors.world.ModDimensions; +import java.util.concurrent.ThreadLocalRandom; + @SuppressWarnings("deprecation") public final class TeleportUtil { public static E teleport(E entity, World world, BlockPos pos, float yaw) { @@ -99,7 +96,7 @@ public final class TeleportUtil { } public static E teleportUntargeted(E entity, World world) { - double actualScale = entity.world.getDimension().getCoordinateScale() / world.getDimension().getCoordinateScale(); + double actualScale = entity.world.getDimension().coordinateScale() / world.getDimension().coordinateScale(); return teleport( entity, world, @@ -109,7 +106,7 @@ public final class TeleportUtil { } public static E teleportUntargeted(E entity, World world, double y) { - double actualScale = entity.world.getDimension().getCoordinateScale() / world.getDimension().getCoordinateScale(); + double actualScale = entity.world.getDimension().coordinateScale() / world.getDimension().coordinateScale(); return teleport( entity, world, diff --git a/src/main/java/org/dimdev/dimdoors/api/util/WeightedList.java b/src/main/java/org/dimdev/dimdoors/api/util/WeightedList.java index 38ad0302..0c580dfe 100644 --- a/src/main/java/org/dimdev/dimdoors/api/util/WeightedList.java +++ b/src/main/java/org/dimdev/dimdoors/api/util/WeightedList.java @@ -1,11 +1,12 @@ package org.dimdev.dimdoors.api.util; +import net.minecraft.util.math.random.Random; + import java.util.ArrayList; import java.util.Collection; -import java.util.Random; public class WeightedList, C> extends ArrayList { - private final Random random = new Random(); + private final Random random = Random.create(); private T peekedRandom; private boolean peeked = false; diff --git a/src/main/java/org/dimdev/dimdoors/api/util/math/MathUtil.java b/src/main/java/org/dimdev/dimdoors/api/util/math/MathUtil.java index 861dd750..7ed6c73d 100644 --- a/src/main/java/org/dimdev/dimdoors/api/util/math/MathUtil.java +++ b/src/main/java/org/dimdev/dimdoors/api/util/math/MathUtil.java @@ -6,7 +6,7 @@ import net.minecraft.util.math.EulerAngle; import net.minecraft.util.math.Vec3d; import java.util.Map; -import java.util.Random; +import net.minecraft.util.math.random.Random; import org.dimdev.dimdoors.api.util.math.TransformationMatrix3d; @@ -17,7 +17,7 @@ public final class MathUtil { for (float weight : weights.values()) { totalWeight += weight; } - Random random = new Random(); + Random random = Random.create(); float f = random.nextFloat() * totalWeight; for (Map.Entry e : weights.entrySet()) { f -= e.getValue(); diff --git a/src/main/java/org/dimdev/dimdoors/block/DetachedRiftBlock.java b/src/main/java/org/dimdev/dimdoors/block/DetachedRiftBlock.java index 2c1dd899..86d6e79f 100644 --- a/src/main/java/org/dimdev/dimdoors/block/DetachedRiftBlock.java +++ b/src/main/java/org/dimdev/dimdoors/block/DetachedRiftBlock.java @@ -1,11 +1,10 @@ package org.dimdev.dimdoors.block; -import java.util.Random; - import net.minecraft.block.*; import net.minecraft.state.StateManager; import net.minecraft.state.property.BooleanProperty; import net.minecraft.state.property.Properties; +import net.minecraft.util.math.random.Random; import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes; import org.dimdev.dimdoors.particle.client.RiftParticleEffect; diff --git a/src/main/java/org/dimdev/dimdoors/block/ModBlocks.java b/src/main/java/org/dimdev/dimdoors/block/ModBlocks.java index e84e8558..d29c42bc 100644 --- a/src/main/java/org/dimdev/dimdoors/block/ModBlocks.java +++ b/src/main/java/org/dimdev/dimdoors/block/ModBlocks.java @@ -46,7 +46,7 @@ public final class ModBlocks { public static final Block OAK_DIMENSIONAL_TRAPDOOR = register(new DimensionalTrapdoorBlock(FabricBlockSettings.copyOf(Blocks.OAK_TRAPDOOR).luminance(state -> 10))); @RegistryEntry("dimensional_portal") - public static final Block DIMENSIONAL_PORTAL = register(new DimensionalPortalBlock(FabricBlockSettings.of(Material.AIR).collidable(false).strength(-1.0F, 3600000.0F).nonOpaque().dropsNothing().luminance(10))); + public static final Block DIMENSIONAL_PORTAL = register(new DimensionalPortalBlock(FabricBlockSettings.of(Material.AIR).collidable(false).strength(-1.0F, 3600000.0F).nonOpaque().dropsNothing().luminance(blockState -> 10))); @RegistryEntry("detached_rift") public static final Block DETACHED_RIFT = register(new DetachedRiftBlock(FabricBlockSettings.of(Material.AIR).strength(-1.0F, 3600000.0F).noCollision().nonOpaque())); diff --git a/src/main/java/org/dimdev/dimdoors/block/UnravelledFabricBlock.java b/src/main/java/org/dimdev/dimdoors/block/UnravelledFabricBlock.java index 229f63ec..5222970d 100644 --- a/src/main/java/org/dimdev/dimdoors/block/UnravelledFabricBlock.java +++ b/src/main/java/org/dimdev/dimdoors/block/UnravelledFabricBlock.java @@ -1,7 +1,6 @@ package org.dimdev.dimdoors.block; -import java.util.Random; - +import net.minecraft.util.math.random.Random; import org.dimdev.dimdoors.world.ModDimensions; import org.dimdev.dimdoors.world.decay.LimboDecay; diff --git a/src/main/java/org/dimdev/dimdoors/block/door/DimensionalDoorBlockRegistrar.java b/src/main/java/org/dimdev/dimdoors/block/door/DimensionalDoorBlockRegistrar.java index d595b0cf..8b181315 100644 --- a/src/main/java/org/dimdev/dimdoors/block/door/DimensionalDoorBlockRegistrar.java +++ b/src/main/java/org/dimdev/dimdoors/block/door/DimensionalDoorBlockRegistrar.java @@ -12,7 +12,7 @@ import net.minecraft.client.render.RenderLayer; import net.minecraft.state.StateManager; import net.minecraft.state.property.Property; import net.minecraft.text.MutableText; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.Identifier; import net.minecraft.util.registry.Registry; @@ -133,7 +133,7 @@ public class DimensionalDoorBlockRegistrar { @Override public MutableText getName() { - return new TranslatableText("dimdoors.autogen_block_prefix").append(originalBlock.getName()); + return MutableText.of(new TranslatableTextContent("dimdoors.autogen_block_prefix")).append(originalBlock.getName()); } } @@ -161,7 +161,7 @@ public class DimensionalDoorBlockRegistrar { @Override public MutableText getName() { - return new TranslatableText("dimdoors.autogen_block_prefix").append(originalBlock.getName()); + return MutableText.of(new TranslatableTextContent("dimdoors.autogen_block_prefix")).append(originalBlock.getName()); } } } diff --git a/src/main/java/org/dimdev/dimdoors/block/entity/DetachedRiftBlockEntity.java b/src/main/java/org/dimdev/dimdoors/block/entity/DetachedRiftBlockEntity.java index d4000947..6210de7a 100644 --- a/src/main/java/org/dimdev/dimdoors/block/entity/DetachedRiftBlockEntity.java +++ b/src/main/java/org/dimdev/dimdoors/block/entity/DetachedRiftBlockEntity.java @@ -1,6 +1,6 @@ package org.dimdev.dimdoors.block.entity; -import java.util.Random; +import net.minecraft.util.math.random.Random; import net.minecraft.util.math.EulerAngle; import net.minecraft.util.math.Vec3d; @@ -22,7 +22,7 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; public class DetachedRiftBlockEntity extends RiftBlockEntity { - private static final Random random = new Random(); + private static final Random random = Random.create(); public boolean closing = false; public boolean stabilized = false; diff --git a/src/main/java/org/dimdev/dimdoors/block/entity/EntranceRiftBlockEntity.java b/src/main/java/org/dimdev/dimdoors/block/entity/EntranceRiftBlockEntity.java index 4bfab4ae..5b3e3e3d 100644 --- a/src/main/java/org/dimdev/dimdoors/block/entity/EntranceRiftBlockEntity.java +++ b/src/main/java/org/dimdev/dimdoors/block/entity/EntranceRiftBlockEntity.java @@ -3,6 +3,8 @@ package org.dimdev.dimdoors.block.entity; import java.util.Optional; import net.minecraft.server.world.ServerWorld; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dimdev.dimdoors.DimensionalDoorsInitializer; @@ -26,7 +28,6 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtCompound; -import net.minecraft.text.TranslatableText; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.util.math.EulerAngle; @@ -69,7 +70,7 @@ public class EntranceRiftBlockEntity extends RiftBlockEntity { return innerTeleport(entity); } - EntityUtils.chat(entity, new TranslatableText("rifts.isLocked")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("rifts.isLocked"))); } return false; } diff --git a/src/main/java/org/dimdev/dimdoors/block/entity/RiftBlockEntity.java b/src/main/java/org/dimdev/dimdoors/block/entity/RiftBlockEntity.java index 24c0e470..900f1687 100644 --- a/src/main/java/org/dimdev/dimdoors/block/entity/RiftBlockEntity.java +++ b/src/main/java/org/dimdev/dimdoors/block/entity/RiftBlockEntity.java @@ -1,12 +1,14 @@ package org.dimdev.dimdoors.block.entity; -import java.util.Objects; +import java.util.Objects; import net.minecraft.block.Block; import net.minecraft.network.Packet; import net.minecraft.network.listener.ClientPlayPacketListener; import net.minecraft.network.packet.s2c.play.BlockEntityUpdateS2CPacket; import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.math.EulerAngle; import net.minecraft.util.math.Vec3d; import org.apache.logging.log4j.LogManager; @@ -35,7 +37,6 @@ import net.minecraft.block.entity.BlockEntityType; import net.minecraft.entity.Entity; import net.minecraft.nbt.NbtCompound; import net.minecraft.server.world.ServerWorld; -import net.minecraft.text.LiteralText; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; @@ -206,11 +207,11 @@ public abstract class RiftBlockEntity extends BlockEntity implements Target, Ent if (target.receiveEntity(entity, relativePos, relativeAngle, relativeVelocity)) { VirtualLocation vLoc = VirtualLocation.fromLocation(new Location((ServerWorld) entity.world, entity.getBlockPos())); - EntityUtils.chat(entity, new LiteralText("You are at x = " + vLoc.getX() + ", y = ?, z = " + vLoc.getZ() + ", w = " + vLoc.getDepth())); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("You are at x = " + vLoc.getX() + ", y = ?, z = " + vLoc.getZ() + ", w = " + vLoc.getDepth()))); return true; } } catch (Exception e) { - EntityUtils.chat(entity, new LiteralText("Something went wrong while trying to teleport you, please report this bug.")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("Something went wrong while trying to teleport you, please report this bug."))); LOGGER.error("Teleporting failed with the following exception: ", e); } diff --git a/src/main/java/org/dimdev/dimdoors/block/entity/RiftData.java b/src/main/java/org/dimdev/dimdoors/block/entity/RiftData.java index 8f0b91c1..18eee408 100644 --- a/src/main/java/org/dimdev/dimdoors/block/entity/RiftData.java +++ b/src/main/java/org/dimdev/dimdoors/block/entity/RiftData.java @@ -4,7 +4,6 @@ import org.dimdev.dimdoors.rift.registry.LinkProperties; import org.dimdev.dimdoors.rift.targets.VirtualTarget; import org.dimdev.dimdoors.api.util.RGBA; import net.minecraft.nbt.NbtCompound; -import net.minecraft.text.LiteralText; public class RiftData { private VirtualTarget destination = VirtualTarget.NoneTarget.INSTANCE; // How the rift acts as a source diff --git a/src/main/java/org/dimdev/dimdoors/client/DimensionRenderering.java b/src/main/java/org/dimdev/dimdoors/client/DimensionRenderering.java index 67d08328..84897ae0 100644 --- a/src/main/java/org/dimdev/dimdoors/client/DimensionRenderering.java +++ b/src/main/java/org/dimdev/dimdoors/client/DimensionRenderering.java @@ -89,7 +89,8 @@ public class DimensionRenderering { bufferBuilder.vertex(matrix4f, s, 100.0F, s).texture(1.0F, 1.0F).next(); bufferBuilder.vertex(matrix4f, -s, 100.0F, s).texture(0.0F, 1.0F).next(); bufferBuilder.end(); - BufferRenderer.draw(bufferBuilder); + tessellator.draw(); +// BufferRenderer.draw(bufferBuilder); RenderSystem.setShaderTexture(0, MOON_RENDER_PATH); bufferBuilder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_TEXTURE); bufferBuilder.vertex(matrix4f, -s, -100.0F, -s).texture(0.0F, 0.0F).next(); @@ -97,7 +98,8 @@ public class DimensionRenderering { bufferBuilder.vertex(matrix4f, s, -100.0F, s).texture(1.0F, 1.0F).next(); bufferBuilder.vertex(matrix4f, -s, -100.0F, s).texture(0.0F, 1.0F).next(); bufferBuilder.end(); - BufferRenderer.draw(bufferBuilder); + tessellator.draw(); +// BufferRenderer.draw(bufferBuilder); RenderSystem.depthMask(true); RenderSystem.enableTexture(); diff --git a/src/main/java/org/dimdev/dimdoors/client/DimensionalDoorsClientInitializer.java b/src/main/java/org/dimdev/dimdoors/client/DimensionalDoorsClientInitializer.java index f8a3dfd2..d505e657 100644 --- a/src/main/java/org/dimdev/dimdoors/client/DimensionalDoorsClientInitializer.java +++ b/src/main/java/org/dimdev/dimdoors/client/DimensionalDoorsClientInitializer.java @@ -2,6 +2,7 @@ package org.dimdev.dimdoors.client; import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; +import net.fabricmc.fabric.api.client.rendering.v1.BlockEntityRendererRegistry; import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.block.entity.ModBlockEntityTypes; import org.dimdev.dimdoors.entity.ModEntityTypes; @@ -12,7 +13,6 @@ import org.dimdev.dimdoors.particle.ModParticleTypes; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.fabric.api.client.rendereregistry.v1.BlockEntityRendererRegistry; @Environment(EnvType.CLIENT) public class DimensionalDoorsClientInitializer implements ClientModInitializer { @@ -23,8 +23,8 @@ public class DimensionalDoorsClientInitializer implements ClientModInitializer { ModEntityTypes.initClient(); ModFluids.initClient(); // ModBlockEntityTypes.initClient(); - BlockEntityRendererRegistry.INSTANCE.register(ModBlockEntityTypes.ENTRANCE_RIFT, ctx -> new EntranceRiftBlockEntityRenderer()); - BlockEntityRendererRegistry.INSTANCE.register(ModBlockEntityTypes.DETACHED_RIFT, ctx -> new DetachedRiftBlockEntityRenderer()); + BlockEntityRendererRegistry.register(ModBlockEntityTypes.ENTRANCE_RIFT, ctx -> new EntranceRiftBlockEntityRenderer()); + BlockEntityRendererRegistry.register(ModBlockEntityTypes.DETACHED_RIFT, ctx -> new DetachedRiftBlockEntityRenderer()); ModBlocks.initClient(); ModEntityModelLayers.initClient(); ModParticleTypes.initClient(); diff --git a/src/main/java/org/dimdev/dimdoors/client/MyRenderLayer.java b/src/main/java/org/dimdev/dimdoors/client/MyRenderLayer.java index a93ceb59..6d177d0e 100644 --- a/src/main/java/org/dimdev/dimdoors/client/MyRenderLayer.java +++ b/src/main/java/org/dimdev/dimdoors/client/MyRenderLayer.java @@ -1,6 +1,6 @@ package org.dimdev.dimdoors.client; -import java.util.Random; +import net.minecraft.util.math.random.Random; import com.flowpowered.math.vector.VectorNi; import com.mojang.blaze3d.systems.RenderSystem; @@ -20,7 +20,7 @@ public class MyRenderLayer extends RenderLayer { 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 Random RANDOM = new Random(31100L); + private static final Random RANDOM = Random.create(31100L); public MyRenderLayer(String string, VertexFormat vertexFormat, VertexFormat.DrawMode drawMode, int j, boolean bl, boolean bl2, Runnable runnable, Runnable runnable2) { super(string, vertexFormat, drawMode, j, bl, bl2, runnable, runnable2); diff --git a/src/main/java/org/dimdev/dimdoors/client/ToolTipHelper.java b/src/main/java/org/dimdev/dimdoors/client/ToolTipHelper.java index eff97626..a1bf2021 100644 --- a/src/main/java/org/dimdev/dimdoors/client/ToolTipHelper.java +++ b/src/main/java/org/dimdev/dimdoors/client/ToolTipHelper.java @@ -1,18 +1,19 @@ package org.dimdev.dimdoors.client; -import java.util.List; - import net.minecraft.client.resource.language.I18n; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; + +import java.util.List; public class ToolTipHelper { public static void processTranslation(List list, String key, Object... args) { if(I18n.hasTranslation(key)) { - list.add(new TranslatableText(key, args)); + list.add(MutableText.of(new TranslatableTextContent(key, args))); } else { for (int i = 0; I18n.hasTranslation(key + i); i++) { - list.add(new TranslatableText(key + i, args)); + list.add(MutableText.of(new TranslatableTextContent(key + i, args))); } } } diff --git a/src/main/java/org/dimdev/dimdoors/client/wthit/EntranceRiftProvider.java b/src/main/java/org/dimdev/dimdoors/client/wthit/EntranceRiftProvider.java index 779b4a7c..c4fff443 100644 --- a/src/main/java/org/dimdev/dimdoors/client/wthit/EntranceRiftProvider.java +++ b/src/main/java/org/dimdev/dimdoors/client/wthit/EntranceRiftProvider.java @@ -1,35 +1,35 @@ package org.dimdev.dimdoors.client.wthit; -import java.util.List; -import java.util.Objects; - -import mcp.mobius.waila.api.IComponentProvider; -import mcp.mobius.waila.api.IDataAccessor; +import mcp.mobius.waila.api.IBlockAccessor; +import mcp.mobius.waila.api.IBlockComponentProvider; import mcp.mobius.waila.api.IPluginConfig; +import mcp.mobius.waila.api.ITooltip; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableTextContent; +import net.minecraft.util.Identifier; import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity; import org.dimdev.dimdoors.rift.targets.VirtualTarget; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Identifier; +import java.util.Objects; // FIXME: is not actually client sided -public enum EntranceRiftProvider implements IComponentProvider { +public enum EntranceRiftProvider implements IBlockComponentProvider { INSTANCE; private static final Identifier ID = new Identifier("dimdoors", "entrance_rift_provider"); @Override - public void appendBody(List tooltip, IDataAccessor accessor, IPluginConfig config) { - if (!config.get(ID, true)) { + public void appendBody(ITooltip tooltip, IBlockAccessor accessor, IPluginConfig config) { + if (!config.getBoolean(ID)) { return; } EntranceRiftBlockEntity blockEntity = ((EntranceRiftBlockEntity) accessor.getBlockEntity()); VirtualTarget destination = Objects.requireNonNull(blockEntity).getDestination(); if (destination != null) { - TranslatableText tKey = new TranslatableText(destination.getType().getTranslationKey()); - Text main = new TranslatableText("dimdoors.destination").append(": ").append(tKey); - tooltip.add(main); + Text tKey = MutableText.of(new TranslatableTextContent(destination.getType().getTranslationKey())); + Text main = MutableText.of(new TranslatableTextContent("dimdoors.destination")).append(": ").append(tKey); + tooltip.addLine(main); } } } diff --git a/src/main/java/org/dimdev/dimdoors/client/wthit/WthitPlugin.java b/src/main/java/org/dimdev/dimdoors/client/wthit/WthitPlugin.java index 70d3a8fd..f917841d 100644 --- a/src/main/java/org/dimdev/dimdoors/client/wthit/WthitPlugin.java +++ b/src/main/java/org/dimdev/dimdoors/client/wthit/WthitPlugin.java @@ -12,6 +12,6 @@ import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity; public class WthitPlugin implements IWailaPlugin { @Override public void register(IRegistrar registrar) { - registrar.registerComponentProvider(EntranceRiftProvider.INSTANCE, TooltipPosition.BODY, EntranceRiftBlockEntity.class); + registrar.addComponent(EntranceRiftProvider.INSTANCE, TooltipPosition.BODY, EntranceRiftBlockEntity.class); } } diff --git a/src/main/java/org/dimdev/dimdoors/command/ModCommands.java b/src/main/java/org/dimdev/dimdoors/command/ModCommands.java index b2bf699c..4cefd5ca 100644 --- a/src/main/java/org/dimdev/dimdoors/command/ModCommands.java +++ b/src/main/java/org/dimdev/dimdoors/command/ModCommands.java @@ -1,10 +1,10 @@ package org.dimdev.dimdoors.command; -import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback; +import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback; public final class ModCommands { public static void init() { - CommandRegistrationCallback.EVENT.register((dispatcher, dedicated) -> { + CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, dedicated) -> { DimTeleportCommand.register(dispatcher); PocketCommand.register(dispatcher); }); diff --git a/src/main/java/org/dimdev/dimdoors/command/PocketCommand.java b/src/main/java/org/dimdev/dimdoors/command/PocketCommand.java index 9e550985..dea2c917 100644 --- a/src/main/java/org/dimdev/dimdoors/command/PocketCommand.java +++ b/src/main/java/org/dimdev/dimdoors/command/PocketCommand.java @@ -3,6 +3,11 @@ package org.dimdev.dimdoors.command; import com.mojang.brigadier.Command; import com.mojang.brigadier.CommandDispatcher; import com.mojang.brigadier.exceptions.CommandSyntaxException; +import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.server.command.ServerCommandSource; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dimdev.dimdoors.api.util.BlockPlacementType; @@ -11,12 +16,6 @@ import org.dimdev.dimdoors.command.arguments.PocketTemplateArgumentType; import org.dimdev.dimdoors.pockets.PocketTemplate; import org.dimdev.dimdoors.util.schematic.SchematicPlacer; -import net.minecraft.server.command.ServerCommandSource; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.TranslatableText; - -import net.fabricmc.loader.api.FabricLoader; - import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -66,10 +65,10 @@ public class PocketCommand { UUID playerUUID = commandSource.getPlayer().getUuid(); if (logSetting.containsKey(playerUUID)) { logSetting.remove(playerUUID); - commandSource.sendFeedback(new TranslatableText("commands.pocket.log.creation.off"), false); + commandSource.sendFeedback(MutableText.of(new TranslatableTextContent("commands.pocket.log.creation.off")), false); } else { logSetting.put(playerUUID, commandSource); - commandSource.sendFeedback(new TranslatableText("commands.pocket.log.creation.on"), false); + commandSource.sendFeedback(MutableText.of(new TranslatableTextContent("commands.pocket.log.creation.on")), false); } return Command.SINGLE_SUCCESS; }) @@ -96,7 +95,7 @@ public class PocketCommand { ); String id = template.getId().toString(); - source.getCommandSource().sendFeedback(new TranslatableText("commands.pocket.placedSchem", id, "" + source.getBlockPos().getX() + ", " + source.getBlockPos().getY() + ", " + source.getBlockPos().getZ(), source.world.getRegistryKey().getValue().toString()), true); + source.getCommandSource().sendFeedback(MutableText.of(new TranslatableTextContent("commands.pocket.placedSchem", id, "" + source.getBlockPos().getX() + ", " + source.getBlockPos().getY() + ", " + source.getBlockPos().getZ(), source.world.getRegistryKey().getValue().toString())), true); return Command.SINGLE_SUCCESS; } } diff --git a/src/main/java/org/dimdev/dimdoors/command/WorldeditHelper.java b/src/main/java/org/dimdev/dimdoors/command/WorldeditHelper.java index b16219a1..301a14ba 100644 --- a/src/main/java/org/dimdev/dimdoors/command/WorldeditHelper.java +++ b/src/main/java/org/dimdev/dimdoors/command/WorldeditHelper.java @@ -1,11 +1,5 @@ package org.dimdev.dimdoors.command; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.IOException; -import java.util.concurrent.CompletableFuture; -import java.util.function.Consumer; - import com.mojang.brigadier.Command; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.sk89q.jnbt.NBTInputStream; @@ -14,15 +8,21 @@ import com.sk89q.worldedit.extent.clipboard.Clipboard; import com.sk89q.worldedit.extent.clipboard.io.SpongeSchematicReader; import com.sk89q.worldedit.fabric.FabricAdapter; import com.sk89q.worldedit.session.ClipboardHolder; -import org.dimdev.dimdoors.DimensionalDoorsInitializer; -import org.dimdev.dimdoors.pockets.PocketTemplate; -import org.dimdev.dimdoors.util.schematic.Schematic; - import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtIo; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; +import org.dimdev.dimdoors.DimensionalDoorsInitializer; +import org.dimdev.dimdoors.pockets.PocketTemplate; +import org.dimdev.dimdoors.util.schematic.Schematic; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.concurrent.CompletableFuture; +import java.util.function.Consumer; public class WorldeditHelper { static int load(ServerCommandSource source, PocketTemplate template) throws CommandSyntaxException { @@ -45,7 +45,7 @@ public class WorldeditHelper { } taskAcceptor.accept(() -> { WorldEdit.getInstance().getSessionManager().get(FabricAdapter.adaptPlayer(player)).setClipboard(new ClipboardHolder(clipboard)); - source.sendFeedback(new TranslatableText("commands.pocket.loadedSchem", template.getId()), true); + source.sendFeedback(MutableText.of(new TranslatableTextContent("commands.pocket.loadedSchem", template.getId())), true); }); }; if (async) { diff --git a/src/main/java/org/dimdev/dimdoors/command/arguments/EnumArgumentType.java b/src/main/java/org/dimdev/dimdoors/command/arguments/EnumArgumentType.java index bf56cc1d..7ac71cad 100644 --- a/src/main/java/org/dimdev/dimdoors/command/arguments/EnumArgumentType.java +++ b/src/main/java/org/dimdev/dimdoors/command/arguments/EnumArgumentType.java @@ -1,28 +1,21 @@ package org.dimdev.dimdoors.command.arguments; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Optional; -import java.util.Set; -import java.util.concurrent.CompletableFuture; - import com.mojang.brigadier.StringReader; import com.mojang.brigadier.arguments.ArgumentType; import com.mojang.brigadier.context.CommandContext; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.brigadier.exceptions.DynamicCommandExceptionType; -import com.mojang.brigadier.exceptions.SimpleCommandExceptionType; import com.mojang.brigadier.suggestion.Suggestions; import com.mojang.brigadier.suggestion.SuggestionsBuilder; - import net.minecraft.command.CommandSource; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; + +import java.util.*; +import java.util.concurrent.CompletableFuture; public class EnumArgumentType> implements ArgumentType { - public static final DynamicCommandExceptionType UNKNOWN_VALUE = new DynamicCommandExceptionType(str -> new TranslatableText("commands.generic.unknownValue", str)); + public static final DynamicCommandExceptionType UNKNOWN_VALUE = new DynamicCommandExceptionType(str -> MutableText.of(new TranslatableTextContent("commands.generic.unknownValue", str))); private final Map values; private final Set valueList; diff --git a/src/main/java/org/dimdev/dimdoors/command/arguments/PocketTemplateArgumentType.java b/src/main/java/org/dimdev/dimdoors/command/arguments/PocketTemplateArgumentType.java index c97450bc..05990a33 100644 --- a/src/main/java/org/dimdev/dimdoors/command/arguments/PocketTemplateArgumentType.java +++ b/src/main/java/org/dimdev/dimdoors/command/arguments/PocketTemplateArgumentType.java @@ -8,23 +8,21 @@ import com.mojang.brigadier.exceptions.DynamicCommandExceptionType; import com.mojang.brigadier.suggestion.Suggestions; import com.mojang.brigadier.suggestion.SuggestionsBuilder; import net.minecraft.command.CommandSource; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Identifier; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import org.dimdev.dimdoors.api.util.Path; import org.dimdev.dimdoors.api.util.SimpleTree; import org.dimdev.dimdoors.pockets.PocketLoader; import org.dimdev.dimdoors.pockets.PocketTemplate; import java.util.Collection; -import java.util.Map; -import java.util.Objects; import java.util.Optional; import java.util.TreeSet; import java.util.concurrent.CompletableFuture; import java.util.stream.Collectors; public class PocketTemplateArgumentType implements ArgumentType { - public static final DynamicCommandExceptionType UNKNOWN_POCKET_TEMPLATE = new DynamicCommandExceptionType(s -> new TranslatableText("commands.pocket.unknownPocketTemplate", s)); + public static final DynamicCommandExceptionType UNKNOWN_POCKET_TEMPLATE = new DynamicCommandExceptionType(s -> MutableText.of(new TranslatableTextContent("commands.pocket.unknownPocketTemplate",s))); @Override public PocketTemplate parse(StringReader reader) throws CommandSyntaxException { diff --git a/src/main/java/org/dimdev/dimdoors/entity/MonolithEntity.java b/src/main/java/org/dimdev/dimdoors/entity/MonolithEntity.java index 026190c6..0bcf5bd1 100644 --- a/src/main/java/org/dimdev/dimdoors/entity/MonolithEntity.java +++ b/src/main/java/org/dimdev/dimdoors/entity/MonolithEntity.java @@ -1,6 +1,6 @@ package org.dimdev.dimdoors.entity; -import java.util.Random; +import net.minecraft.util.math.random.Random; import net.fabricmc.fabric.api.util.NbtType; import net.minecraft.util.math.Box; @@ -47,7 +47,7 @@ public class MonolithEntity extends MobEntity { private static final TrackedData PITCH = DataTracker.registerData(MonolithEntity.class, TrackedDataHandlerRegistry.FLOAT); private static final float EYE_HEIGHT_PERCENTAGE = 0.55f; @Environment(EnvType.CLIENT) - private static final Random clientRandom = new Random(); + private static final Random clientRandom = Random.create(); private int soundTime = 0; private final int aggroCap; diff --git a/src/main/java/org/dimdev/dimdoors/entity/ai/MonolithAggroGoal.java b/src/main/java/org/dimdev/dimdoors/entity/ai/MonolithAggroGoal.java index e0191360..0fa0645c 100644 --- a/src/main/java/org/dimdev/dimdoors/entity/ai/MonolithAggroGoal.java +++ b/src/main/java/org/dimdev/dimdoors/entity/ai/MonolithAggroGoal.java @@ -1,8 +1,13 @@ package org.dimdev.dimdoors.entity.ai; -import java.util.EnumSet; -import java.util.Random; - +import net.minecraft.entity.ai.TargetPredicate; +import net.minecraft.entity.ai.goal.Goal; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.predicate.entity.EntityPredicates; +import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.sound.SoundCategory; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.random.Random; import org.dimdev.dimdoors.DimensionalDoorsInitializer; import org.dimdev.dimdoors.entity.MonolithEntity; import org.dimdev.dimdoors.entity.stat.ModStats; @@ -12,13 +17,7 @@ import org.dimdev.dimdoors.network.packet.s2c.MonolithAggroParticlesPacket; import org.dimdev.dimdoors.network.packet.s2c.MonolithTeleportParticlesPacket; import org.dimdev.dimdoors.sound.ModSoundEvents; -import net.minecraft.entity.ai.TargetPredicate; -import net.minecraft.entity.ai.goal.Goal; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.predicate.entity.EntityPredicates; -import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.sound.SoundCategory; -import net.minecraft.util.math.BlockPos; +import java.util.EnumSet; import static org.dimdev.dimdoors.entity.MonolithEntity.MAX_AGGRO; @@ -63,7 +62,7 @@ public class MonolithAggroGoal extends Goal { } if (this.target != null && (this.target.getInventory().armor.get(0).getItem() == ModItems.WORLD_THREAD_HELMET && this.target.getInventory().armor.get(1).getItem() == ModItems.WORLD_THREAD_CHESTPLATE && this.target.getInventory().armor.get(2).getItem() == ModItems.WORLD_THREAD_LEGGINGS && this.target.getInventory().armor.get(3).getItem() == ModItems.WORLD_THREAD_BOOTS)) { - Random random = new Random(); + Random random = Random.create(); int i = random.nextInt(64); if (this.target instanceof ServerPlayerEntity) { if (i < 4) { diff --git a/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboEntranceSource.java b/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboEntranceSource.java index ba10731b..7d6b8d22 100644 --- a/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboEntranceSource.java +++ b/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboEntranceSource.java @@ -2,17 +2,17 @@ package org.dimdev.dimdoors.entity.limbo; import net.minecraft.entity.damage.DamageSource; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.network.MessageType; +import net.minecraft.network.message.MessageType; import net.minecraft.server.MinecraftServer; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Util; +import net.minecraft.text.TranslatableTextContent; public abstract class LimboEntranceSource { public abstract Text getMessage(PlayerEntity player); public void broadcast(PlayerEntity player, MinecraftServer server) { - server.getPlayerManager().broadcast(this.getMessage(player), MessageType.SYSTEM, Util.NIL_UUID); + server.getPlayerManager().broadcast(this.getMessage(player), MessageType.SYSTEM); } public static LimboDeathEntranceSource ofDamageSource(DamageSource source) { @@ -28,8 +28,8 @@ public abstract class LimboEntranceSource { @Override public Text getMessage(PlayerEntity player) { - TranslatableText message = (TranslatableText) this.damageSource.getDeathMessage(player); - return new TranslatableText("limbo." + message.getKey(), message.getArgs()); + TranslatableTextContent message = (TranslatableTextContent) this.damageSource.getDeathMessage(player).getContent(); + return MutableText.of(new TranslatableTextContent("limbo." + message.getKey(), message.getArgs())); } } } diff --git a/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboExitReason.java b/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboExitReason.java index 399879c4..68e1e624 100644 --- a/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboExitReason.java +++ b/src/main/java/org/dimdev/dimdoors/entity/limbo/LimboExitReason.java @@ -1,10 +1,10 @@ package org.dimdev.dimdoors.entity.limbo; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.network.MessageType; -import net.minecraft.text.TranslatableText; +import net.minecraft.network.message.MessageType; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.StringIdentifiable; -import net.minecraft.util.Util; public enum LimboExitReason implements StringIdentifiable { ETERNAL_FLUID, @@ -18,6 +18,6 @@ public enum LimboExitReason implements StringIdentifiable { public void broadcast(PlayerEntity player) { //noinspection ConstantConditions - player.getServer().getPlayerManager().broadcast(new TranslatableText(asString(), player.getGameProfile().getName()), MessageType.SYSTEM, Util.NIL_UUID); + player.getServer().getPlayerManager().broadcast(MutableText.of(new TranslatableTextContent(asString(), player.getGameProfile().getName())), MessageType.SYSTEM); } } diff --git a/src/main/java/org/dimdev/dimdoors/fluid/EternalFluid.java b/src/main/java/org/dimdev/dimdoors/fluid/EternalFluid.java index bde6a1b2..bb1bf130 100644 --- a/src/main/java/org/dimdev/dimdoors/fluid/EternalFluid.java +++ b/src/main/java/org/dimdev/dimdoors/fluid/EternalFluid.java @@ -1,6 +1,6 @@ package org.dimdev.dimdoors.fluid; -import java.util.Random; +import net.minecraft.util.math.random.Random; import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.item.ModItems; @@ -57,7 +57,7 @@ public abstract class EternalFluid extends FlowableFluid { @Override public int getFlowSpeed(WorldView worldView) { - return worldView.getDimension().isUltrawarm() ? 4 : 2; + return worldView.getDimension().ultrawarm() ? 4 : 2; } @Override @@ -72,7 +72,7 @@ public abstract class EternalFluid extends FlowableFluid { @Override public int getLevelDecreasePerBlock(WorldView worldView) { - return worldView.getDimension().isUltrawarm() ? 1 : 2; + return worldView.getDimension().ultrawarm() ? 1 : 2; } @Override @@ -82,7 +82,7 @@ public abstract class EternalFluid extends FlowableFluid { @Override public int getTickRate(WorldView worldView) { - return worldView.getDimension().isUltrawarm() ? 10 : 30; + return worldView.getDimension().ultrawarm() ? 10 : 30; } @Override diff --git a/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItem.java b/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItem.java index b93ba1b3..37f6b39c 100644 --- a/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItem.java @@ -1,16 +1,19 @@ package org.dimdev.dimdoors.item; -import java.util.List; -import java.util.function.Consumer; -import java.util.stream.IntStream; - -import net.minecraft.client.MinecraftClient; -import net.minecraft.client.item.TooltipContext; -import net.minecraft.client.resource.language.I18n; -import net.minecraft.item.BlockItem; - import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; +import net.minecraft.block.Block; +import net.minecraft.block.BlockState; +import net.minecraft.client.item.TooltipContext; +import net.minecraft.item.BlockItem; +import net.minecraft.item.ItemPlacementContext; +import net.minecraft.item.ItemStack; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableTextContent; +import net.minecraft.util.ActionResult; +import net.minecraft.util.math.BlockPos; +import net.minecraft.world.World; import org.dimdev.dimdoors.DimensionalDoorsInitializer; import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.block.RiftProvider; @@ -19,15 +22,8 @@ import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity; import org.dimdev.dimdoors.block.entity.RiftBlockEntity; import org.dimdev.dimdoors.client.ToolTipHelper; -import net.minecraft.block.Block; -import net.minecraft.block.BlockState; -import net.minecraft.item.ItemPlacementContext; -import net.minecraft.item.ItemStack; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.ActionResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; +import java.util.List; +import java.util.function.Consumer; public class DimensionalDoorItem extends BlockItem { private final Consumer setupFunction; @@ -67,7 +63,7 @@ public class DimensionalDoorItem extends BlockItem { // without sending custom packets. if (context.getWorld().isClient) { - context.getPlayer().sendMessage(new TranslatableText("rifts.entrances.rift_too_close"), true); + context.getPlayer().sendMessage(MutableText.of(new TranslatableTextContent("rifts.entrances.rift_too_close")), true); RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor; } diff --git a/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java b/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java index 527b14ac..b297c46e 100644 --- a/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java +++ b/src/main/java/org/dimdev/dimdoors/item/DimensionalDoorItemRegistrar.java @@ -4,7 +4,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.fabricmc.fabric.api.client.rendering.v1.BuiltinItemRendererRegistry; import net.fabricmc.fabric.api.event.registry.RegistryEntryAddedCallback; - import net.fabricmc.loader.api.FabricLoader; import net.minecraft.block.Block; import net.minecraft.block.DoorBlock; @@ -12,14 +11,14 @@ import net.minecraft.block.TrapdoorBlock; import net.minecraft.client.resource.language.I18n; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.item.*; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +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 net.minecraft.util.registry.Registry; - import org.apache.commons.lang3.tuple.ImmutableTriple; import org.apache.commons.lang3.tuple.Triple; import org.dimdev.dimdoors.DimensionalDoorsInitializer; @@ -143,12 +142,12 @@ public class DimensionalDoorItemRegistrar { @Override public Text getName(ItemStack stack) { - return new TranslatableText("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey())); + return MutableText.of(new TranslatableTextContent("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey()))); } @Override public Text getName() { - return new TranslatableText("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey())); + return MutableText.of(new TranslatableTextContent("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey()))); } @Override @@ -173,12 +172,12 @@ public class DimensionalDoorItemRegistrar { @Override public Text getName(ItemStack stack) { - return new TranslatableText("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey())); + return MutableText.of(new TranslatableTextContent("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey()))); } @Override public Text getName() { - return new TranslatableText("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey())); + return MutableText.of(new TranslatableTextContent("dimdoors.autogen_item_prefix", I18n.translate(originalItem.getTranslationKey()))); } @Override diff --git a/src/main/java/org/dimdev/dimdoors/item/MaskWandItem.java b/src/main/java/org/dimdev/dimdoors/item/MaskWandItem.java index 9253b2b2..bdd29dbe 100644 --- a/src/main/java/org/dimdev/dimdoors/item/MaskWandItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/MaskWandItem.java @@ -1,23 +1,22 @@ package org.dimdev.dimdoors.item; -import java.util.List; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - +import net.fabricmc.api.Environment; import net.minecraft.client.item.TooltipContext; import net.minecraft.client.resource.language.I18n; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; import net.minecraft.util.hit.HitResult; import net.minecraft.world.World; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; -import net.fabricmc.api.Environment; +import java.util.List; import static net.fabricmc.api.EnvType.CLIENT; @@ -51,7 +50,7 @@ import static net.fabricmc.api.EnvType.CLIENT; @Environment(CLIENT) public void appendTooltip(ItemStack itemStack, World world, List list, TooltipContext tooltipContext) { if (I18n.hasTranslation(this.getTranslationKey() + ".info")) { - list.add(new TranslatableText(this.getTranslationKey() + ".info")); + list.add(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".info"))); } } } diff --git a/src/main/java/org/dimdev/dimdoors/item/RiftBladeItem.java b/src/main/java/org/dimdev/dimdoors/item/RiftBladeItem.java index b23230f3..8e5a4888 100644 --- a/src/main/java/org/dimdev/dimdoors/item/RiftBladeItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/RiftBladeItem.java @@ -1,25 +1,16 @@ package org.dimdev.dimdoors.item; -import java.util.List; -import java.util.Objects; - import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import org.dimdev.dimdoors.DimensionalDoorsInitializer; -import org.dimdev.dimdoors.block.DimensionalPortalBlock; -import org.dimdev.dimdoors.block.ModBlocks; -import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity; -import org.dimdev.dimdoors.block.entity.RiftBlockEntity; -import org.dimdev.dimdoors.client.ToolTipHelper; - import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.ItemStack; import net.minecraft.item.SwordItem; import net.minecraft.item.ToolMaterials; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; @@ -28,6 +19,15 @@ import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; +import org.dimdev.dimdoors.DimensionalDoorsInitializer; +import org.dimdev.dimdoors.block.DimensionalPortalBlock; +import org.dimdev.dimdoors.block.ModBlocks; +import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity; +import org.dimdev.dimdoors.block.entity.RiftBlockEntity; +import org.dimdev.dimdoors.client.ToolTipHelper; + +import java.util.List; +import java.util.Objects; public class RiftBladeItem extends SwordItem { public static final String ID = "rift_blade"; @@ -73,7 +73,7 @@ public class RiftBladeItem extends SwordItem { if (RaycastHelper.hitsLivingEntity(hit) || RaycastHelper.hitsRift(hit, world)) { return new TypedActionResult<>(ActionResult.SUCCESS, stack); } else { - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".rift_miss"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".rift_miss")), true); RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor; return new TypedActionResult<>(ActionResult.FAIL, stack); } diff --git a/src/main/java/org/dimdev/dimdoors/item/RiftConfigurationToolItem.java b/src/main/java/org/dimdev/dimdoors/item/RiftConfigurationToolItem.java index 43ad0139..e2c4474a 100644 --- a/src/main/java/org/dimdev/dimdoors/item/RiftConfigurationToolItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/RiftConfigurationToolItem.java @@ -1,16 +1,6 @@ package org.dimdev.dimdoors.item; -import java.util.List; - -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.dimdev.dimdoors.api.item.ExtendedItem; -import org.dimdev.dimdoors.block.entity.RiftBlockEntity; -import org.dimdev.dimdoors.network.ServerPacketHandler; -import org.dimdev.dimdoors.rift.targets.IdMarker; -import org.dimdev.dimdoors.api.util.EntityUtils; -import org.dimdev.dimdoors.item.component.CounterComponent; - +import net.fabricmc.api.Environment; import net.minecraft.block.entity.BlockEntity; import net.minecraft.client.item.TooltipContext; import net.minecraft.client.resource.language.I18n; @@ -18,8 +8,9 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.server.network.ServerPlayerEntity; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; import net.minecraft.util.hit.BlockHitResult; @@ -27,8 +18,16 @@ import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.World; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.dimdev.dimdoors.api.item.ExtendedItem; +import org.dimdev.dimdoors.api.util.EntityUtils; +import org.dimdev.dimdoors.block.entity.RiftBlockEntity; +import org.dimdev.dimdoors.item.component.CounterComponent; +import org.dimdev.dimdoors.network.ServerPacketHandler; +import org.dimdev.dimdoors.rift.targets.IdMarker; -import net.fabricmc.api.Environment; +import java.util.List; import static net.fabricmc.api.EnvType.CLIENT; @@ -112,7 +111,7 @@ public class RiftConfigurationToolItem extends Item implements ExtendedItem { @Environment(CLIENT) public void appendTooltip(ItemStack itemStack, World world, List list, TooltipContext tooltipContext) { if (I18n.hasTranslation(this.getTranslationKey() + ".info")) { - list.add(new TranslatableText(this.getTranslationKey() + ".info")); + list.add(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".info"))); } } } diff --git a/src/main/java/org/dimdev/dimdoors/item/RiftKeyItem.java b/src/main/java/org/dimdev/dimdoors/item/RiftKeyItem.java index b328cdd1..cbf356f5 100644 --- a/src/main/java/org/dimdev/dimdoors/item/RiftKeyItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/RiftKeyItem.java @@ -1,21 +1,6 @@ package org.dimdev.dimdoors.item; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import java.util.stream.Collectors; - -import org.dimdev.dimdoors.block.RiftProvider; -import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity; -import org.dimdev.dimdoors.block.entity.RiftBlockEntity; -import org.dimdev.dimdoors.mixin.accessor.ListTagAccessor; -import org.dimdev.dimdoors.network.ServerPacketHandler; -import org.dimdev.dimdoors.rift.registry.Rift; -import org.dimdev.dimdoors.api.util.EntityUtils; -import org.dimdev.dimdoors.api.util.Location; -import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry; -import org.jetbrains.annotations.Nullable; - +import net.fabricmc.fabric.api.util.NbtType; import net.minecraft.block.BlockState; import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; @@ -25,15 +10,28 @@ import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUsageContext; import net.minecraft.nbt.NbtIntArray; import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.text.LiteralText; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.ActionResult; import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.dynamic.DynamicSerializableUuid; import net.minecraft.world.World; +import org.dimdev.dimdoors.api.util.EntityUtils; +import org.dimdev.dimdoors.api.util.Location; +import org.dimdev.dimdoors.block.RiftProvider; +import org.dimdev.dimdoors.block.entity.EntranceRiftBlockEntity; +import org.dimdev.dimdoors.block.entity.RiftBlockEntity; +import org.dimdev.dimdoors.mixin.accessor.ListTagAccessor; +import org.dimdev.dimdoors.network.ServerPacketHandler; +import org.dimdev.dimdoors.rift.registry.Rift; +import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry; +import org.jetbrains.annotations.Nullable; -import net.fabricmc.fabric.api.util.NbtType; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import java.util.stream.Collectors; public class RiftKeyItem extends Item { public RiftKeyItem(Settings settings) { @@ -43,10 +41,10 @@ public class RiftKeyItem extends Item { @Override public void appendTooltip(ItemStack stack, @Nullable World world, List tooltip, TooltipContext context) { if (isEmpty(stack)) { - tooltip.add(new TranslatableText("item.dimdoors.rift_key.no_links")); + tooltip.add(MutableText.of(new TranslatableTextContent("item.dimdoors.rift_key.no_links"))); } else if (context.isAdvanced()) { for (UUID id : getIds(stack)) { - tooltip.add(new LiteralText(" " + id.toString())); + tooltip.add(Text.of(" " + id.toString())); } } super.appendTooltip(stack, world, tooltip, context); @@ -97,17 +95,17 @@ public class RiftKeyItem extends Item { if (tryRemove(context.getStack(), rift.getId())) { entranceRiftBlockEntity.setLocked(false); entranceRiftBlockEntity.markDirty(); - EntityUtils.chat(player, new TranslatableText("rifts.unlocked")); + EntityUtils.chat(player, MutableText.of(new TranslatableTextContent("rifts.unlocked"))); ServerPacketHandler.get((ServerPlayerEntity) player).sync(context.getStack(), context.getHand()); return ActionResult.SUCCESS; } else { - EntityUtils.chat(player, new TranslatableText("rifts.cantUnlock")); + EntityUtils.chat(player, MutableText.of(new TranslatableTextContent("rifts.cantUnlock"))); } } else { entranceRiftBlockEntity.setLocked(true); add(context.getStack(), rift.getId()); entranceRiftBlockEntity.markDirty(); - EntityUtils.chat(player, new TranslatableText("rifts.locked")); + EntityUtils.chat(player, MutableText.of(new TranslatableTextContent("rifts.locked"))); ServerPacketHandler.get((ServerPlayerEntity) player).sync(context.getStack(), context.getHand()); return ActionResult.SUCCESS; } diff --git a/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java b/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java index a150fc9d..9e983942 100644 --- a/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/RiftRemoverItem.java @@ -1,31 +1,29 @@ package org.dimdev.dimdoors.item; -import java.util.List; -import java.util.Objects; - +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; +import net.minecraft.client.item.TooltipContext; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.sound.SoundCategory; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableTextContent; +import net.minecraft.util.ActionResult; +import net.minecraft.util.Hand; +import net.minecraft.util.TypedActionResult; import net.minecraft.util.hit.BlockHitResult; +import net.minecraft.util.hit.HitResult; +import net.minecraft.world.World; import org.dimdev.dimdoors.DimensionalDoorsInitializer; import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; import org.dimdev.dimdoors.block.entity.RiftBlockEntity; import org.dimdev.dimdoors.client.ToolTipHelper; import org.dimdev.dimdoors.sound.ModSoundEvents; -import net.minecraft.client.item.TooltipContext; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.sound.SoundCategory; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.ActionResult; -import net.minecraft.util.Hand; -import net.minecraft.util.TypedActionResult; -import net.minecraft.util.hit.HitResult; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; +import java.util.List; +import java.util.Objects; public class RiftRemoverItem extends Item { public static final String ID = "rift_remover"; @@ -47,7 +45,7 @@ public class RiftRemoverItem extends Item { if (world.isClient) { if (!RaycastHelper.hitsDetachedRift(hit, world)) { - player.sendMessage(new TranslatableText("tools.rift_miss"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent("tools.rift_miss")), true); RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor; } return new TypedActionResult<>(ActionResult.FAIL, stack); @@ -60,10 +58,10 @@ public class RiftRemoverItem extends Item { rift.setClosing(true); world.playSound(null, player.getBlockPos(), ModSoundEvents.RIFT_CLOSE, SoundCategory.BLOCKS, 0.6f, 1); stack.damage(10, player, a -> a.sendToolBreakStatus(hand)); - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".closing"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".closing")), true); return new TypedActionResult<>(ActionResult.SUCCESS, stack); } else { - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".already_closing"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".already_closing")), true); } } return new TypedActionResult<>(ActionResult.FAIL, stack); diff --git a/src/main/java/org/dimdev/dimdoors/item/RiftSignatureItem.java b/src/main/java/org/dimdev/dimdoors/item/RiftSignatureItem.java index 4921b7bc..7bfc3f05 100644 --- a/src/main/java/org/dimdev/dimdoors/item/RiftSignatureItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/RiftSignatureItem.java @@ -1,20 +1,7 @@ package org.dimdev.dimdoors.item; -import java.util.List; - -import net.fabricmc.api.ModInitializer; -import org.dimdev.dimdoors.DimensionalDoorsInitializer; -import org.dimdev.dimdoors.ModConfig; -import org.dimdev.dimdoors.block.ModBlocks; -import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; -import org.dimdev.dimdoors.client.ToolTipHelper; -import org.dimdev.dimdoors.rift.targets.RiftReference; -import org.dimdev.dimdoors.sound.ModSoundEvents; -import org.dimdev.dimdoors.api.util.Location; -import org.dimdev.dimdoors.api.util.RotatedLocation; -import org.dimdev.dimdoors.world.ModDimensions; -import org.jetbrains.annotations.NotNull; - +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; @@ -24,17 +11,27 @@ import net.minecraft.item.ItemUsageContext; import net.minecraft.nbt.NbtCompound; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.ActionResult; import net.minecraft.util.Formatting; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.World; +import org.dimdev.dimdoors.DimensionalDoorsInitializer; +import org.dimdev.dimdoors.api.util.Location; +import org.dimdev.dimdoors.api.util.RotatedLocation; +import org.dimdev.dimdoors.block.ModBlocks; +import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; +import org.dimdev.dimdoors.client.ToolTipHelper; +import org.dimdev.dimdoors.rift.targets.RiftReference; +import org.dimdev.dimdoors.sound.ModSoundEvents; +import org.dimdev.dimdoors.world.ModDimensions; +import org.jetbrains.annotations.NotNull; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; +import java.util.List; public class RiftSignatureItem extends Item { public static final String ID = "rift_signature"; @@ -71,7 +68,7 @@ public class RiftSignatureItem extends Item { } if(ModDimensions.isPrivatePocketDimension(world) && !DimensionalDoorsInitializer.getConfig().getPocketsConfig().canUseRiftSignatureInPrivatePockets) { - player.sendMessage(new TranslatableText("tools.signature_blocked").formatted(Formatting.BLACK), true); + player.sendMessage(MutableText.of(new TranslatableTextContent("tools.signature_blocked")).formatted(Formatting.BLACK), true); return ActionResult.FAIL; } @@ -80,13 +77,13 @@ public class RiftSignatureItem extends Item { if (target == null) { // The link signature has not been used. Store its current target as the first location. setSource(stack, new RotatedLocation(world.getRegistryKey(), pos, player.getYaw(), 0)); - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".stored"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".stored")), true); world.playSound(null, player.getBlockPos(), ModSoundEvents.RIFT_START, SoundCategory.BLOCKS, 0.6f, 1); } else { // Place a rift at the saved point if (target.getBlockState().getBlock() != ModBlocks.DETACHED_RIFT) { if (!target.getBlockState().getBlock().canMobSpawnInside()) { - player.sendMessage(new TranslatableText("tools.target_became_block"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent("tools.target_became_block")), true); clearSource(stack); // TODO: But is this fair? It's a rather hidden way of unbinding your signature! return ActionResult.FAIL; } @@ -107,7 +104,7 @@ public class RiftSignatureItem extends Item { }); // TODO: calculate damage based on position? clearSource(stack); - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".created"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".created")), true); // null = send sound to the player too, we have to do this because this code is not run client-side world.playSound(null, player.getBlockPos(), ModSoundEvents.RIFT_END, SoundCategory.BLOCKS, 0.6f, 1); } @@ -139,8 +136,8 @@ public class RiftSignatureItem extends Item { public void appendTooltip(ItemStack itemStack, World world, List list, TooltipContext tooltipContext) { RotatedLocation transform = getSource(itemStack); if (transform != null) { - list.add(new TranslatableText(this.getTranslationKey() + ".bound.info0", transform.getX(), transform.getY(), transform.getZ(), transform.getWorldId().getValue())); - list.add(new TranslatableText(this.getTranslationKey() + ".bound.info1", transform.getWorldId().getValue())); + list.add(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".bound.info0", transform.getX(), transform.getY(), transform.getZ(), transform.getWorldId().getValue()))); + list.add(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".bound.info1", transform.getWorldId().getValue()))); } else { ToolTipHelper.processTranslation(list, this.getTranslationKey() + ".unbound.info"); } diff --git a/src/main/java/org/dimdev/dimdoors/item/RiftStabilizerItem.java b/src/main/java/org/dimdev/dimdoors/item/RiftStabilizerItem.java index 278b2f2c..e34d1c26 100644 --- a/src/main/java/org/dimdev/dimdoors/item/RiftStabilizerItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/RiftStabilizerItem.java @@ -1,28 +1,27 @@ package org.dimdev.dimdoors.item; -import java.util.List; - -import org.dimdev.dimdoors.DimensionalDoorsInitializer; -import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; -import org.dimdev.dimdoors.block.entity.RiftBlockEntity; -import org.dimdev.dimdoors.sound.ModSoundEvents; - +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.sound.SoundCategory; +import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; import net.minecraft.util.hit.HitResult; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; +import org.dimdev.dimdoors.DimensionalDoorsInitializer; +import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; +import org.dimdev.dimdoors.block.entity.RiftBlockEntity; +import org.dimdev.dimdoors.sound.ModSoundEvents; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; +import java.util.List; public class RiftStabilizerItem extends Item { public RiftStabilizerItem(Settings settings) { @@ -39,7 +38,7 @@ public class RiftStabilizerItem extends Item { // TODO: not necessarily success, fix this and all other similar cases to make arm swing correct return new TypedActionResult<>(ActionResult.SUCCESS, stack); } else { - player.sendMessage(new TranslatableText("tools.rift_miss"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent("tools.rift_miss")), true); RiftBlockEntity.showRiftCoreUntil = System.currentTimeMillis() + DimensionalDoorsInitializer.getConfig().getGraphicsConfig().highlightRiftCoreFor; return new TypedActionResult<>(ActionResult.FAIL, stack); } @@ -52,10 +51,10 @@ public class RiftStabilizerItem extends Item { world.playSound(null, player.getBlockPos(), ModSoundEvents.RIFT_CLOSE, SoundCategory.BLOCKS, 0.6f, 1); // TODO: different sound stack.damage(1, player, a -> { }); - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".stabilized"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".stabilized")), true); return new TypedActionResult<>(ActionResult.SUCCESS, stack); } else { - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".already_stabilized"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".already_stabilized")), true); } } return new TypedActionResult<>(ActionResult.FAIL, stack); @@ -64,6 +63,6 @@ public class RiftStabilizerItem extends Item { @Environment(EnvType.CLIENT) @Override public void appendTooltip(ItemStack itemStack, World world, List list, TooltipContext tooltipContext) { - list.add(new TranslatableText(this.getTranslationKey() + ".info")); + list.add(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".info"))); } } diff --git a/src/main/java/org/dimdev/dimdoors/item/StabilizedRiftSignatureItem.java b/src/main/java/org/dimdev/dimdoors/item/StabilizedRiftSignatureItem.java index dee47553..d939632a 100644 --- a/src/main/java/org/dimdev/dimdoors/item/StabilizedRiftSignatureItem.java +++ b/src/main/java/org/dimdev/dimdoors/item/StabilizedRiftSignatureItem.java @@ -1,19 +1,5 @@ package org.dimdev.dimdoors.item; -import java.util.List; - -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import org.dimdev.dimdoors.DimensionalDoorsInitializer; -import org.dimdev.dimdoors.block.ModBlocks; -import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; -import org.dimdev.dimdoors.client.ToolTipHelper; -import org.dimdev.dimdoors.rift.targets.RiftReference; -import org.dimdev.dimdoors.sound.ModSoundEvents; -import org.dimdev.dimdoors.api.util.Location; -import org.dimdev.dimdoors.api.util.RotatedLocation; - -import net.minecraft.client.item.TooltipContext; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.Item; import net.minecraft.item.ItemPlacementContext; @@ -22,13 +8,20 @@ import net.minecraft.item.ItemUsageContext; import net.minecraft.nbt.NbtCompound; import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.ActionResult; import net.minecraft.util.Hand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; import net.minecraft.world.World; +import org.dimdev.dimdoors.DimensionalDoorsInitializer; +import org.dimdev.dimdoors.api.util.Location; +import org.dimdev.dimdoors.api.util.RotatedLocation; +import org.dimdev.dimdoors.block.ModBlocks; +import org.dimdev.dimdoors.block.entity.DetachedRiftBlockEntity; +import org.dimdev.dimdoors.rift.targets.RiftReference; +import org.dimdev.dimdoors.sound.ModSoundEvents; public class StabilizedRiftSignatureItem extends Item { // TODO: common superclass with rift signature public static final String ID = "stabilized_rift_signature"; @@ -68,13 +61,13 @@ public class StabilizedRiftSignatureItem extends Item { // TODO: common supercla if (target == null) { // The link signature has not been used. Store its current target as the first location. setSource(stack, new RotatedLocation(world.getRegistryKey(), pos, player.getYaw(), 0)); - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".stored"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".stored")), true); world.playSound(null, player.getBlockPos(), ModSoundEvents.RIFT_START, SoundCategory.BLOCKS, 0.6f, 1); } else { // Place a rift at the target point if (target.getBlockState().getBlock() != ModBlocks.DETACHED_RIFT) { if (!target.getBlockState().getBlock().canReplace(world.getBlockState(target.getBlockPos()), itemPlacementContext)) { - player.sendMessage(new TranslatableText("tools.target_became_block"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent("tools.target_became_block")), true); // Don't clear source, stabilized signatures always stay bound return ActionResult.FAIL; } @@ -93,7 +86,7 @@ public class StabilizedRiftSignatureItem extends Item { // TODO: common supercla stack.damage(1, player, playerEntity -> { }); - player.sendMessage(new TranslatableText(this.getTranslationKey() + ".created"), true); + player.sendMessage(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".created")), true); world.playSound(null, player.getBlockPos(), ModSoundEvents.RIFT_END, SoundCategory.BLOCKS, 0.6f, 1); } diff --git a/src/main/java/org/dimdev/dimdoors/mixin/ExplosionMixin.java b/src/main/java/org/dimdev/dimdoors/mixin/ExplosionMixin.java index 1e9d7eaa..255ed886 100644 --- a/src/main/java/org/dimdev/dimdoors/mixin/ExplosionMixin.java +++ b/src/main/java/org/dimdev/dimdoors/mixin/ExplosionMixin.java @@ -24,7 +24,7 @@ public class ExplosionMixin { @Mutable @Shadow private List affectedBlocks; - @Inject(method = "affectWorld", at = @At(value = "INVOKE", target = "Ljava/util/Collections;shuffle(Ljava/util/List;Ljava/util/Random;)V", ordinal = 0, shift = At.Shift.AFTER)) + @Inject(method = "affectWorld", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/Util;shuffle(Lit/unimi/dsi/fastutil/objects/ObjectArrayList;Lnet/minecraft/util/math/random/Random;)V", ordinal = 0, shift = At.Shift.AFTER)) private void handleExplosionConvertibleBlocks(boolean b1, CallbackInfo ci) { this.affectedBlocks = this.affectedBlocks.stream().filter(blockPos -> { BlockState state = this.world.getBlockState(blockPos); diff --git a/src/main/java/org/dimdev/dimdoors/mixin/ServerPlayerEntityMixin.java b/src/main/java/org/dimdev/dimdoors/mixin/ServerPlayerEntityMixin.java index 65518f07..4b94760e 100644 --- a/src/main/java/org/dimdev/dimdoors/mixin/ServerPlayerEntityMixin.java +++ b/src/main/java/org/dimdev/dimdoors/mixin/ServerPlayerEntityMixin.java @@ -1,18 +1,22 @@ package org.dimdev.dimdoors.mixin; import net.minecraft.block.BlockState; -import net.minecraft.item.ItemStack; +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.nbt.NbtCompound; +import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.server.network.ServerRecipeBook; -import org.dimdev.dimdoors.DimensionalDoorsInitializer; +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; import org.dimdev.dimdoors.criteria.ModCriteria; import org.dimdev.dimdoors.entity.limbo.LimboEntranceSource; import org.dimdev.dimdoors.entity.stat.ModStats; -import org.dimdev.dimdoors.api.util.TeleportUtil; -import org.dimdev.dimdoors.item.ModItems; -import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler; -import org.dimdev.dimdoors.network.packet.s2c.PlayerInventorySlotUpdateS2CPacket; import org.dimdev.dimdoors.world.ModDimensions; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; @@ -21,17 +25,6 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -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.server.network.ServerPlayerEntity; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.registry.RegistryKey; -import net.minecraft.world.World; - -import java.util.Random; - @Mixin(value = ServerPlayerEntity.class, priority = 900) public abstract class ServerPlayerEntityMixin extends PlayerEntityMixin { @Shadow @@ -46,7 +39,7 @@ public abstract class ServerPlayerEntityMixin extends PlayerEntityMixin { private static final int CHUNK_SIZES = 25; private static final int POSITION_AWAY = 50; private static final float RANDOM_LIQUID_CHANCE = 0.7F; - Random random = new Random(); + Random random = Random.create(); public ServerPlayerEntityMixin(EntityType entityType, World world) { super(entityType, world); diff --git a/src/main/java/org/dimdev/dimdoors/mixin/WorldMixin.java b/src/main/java/org/dimdev/dimdoors/mixin/WorldMixin.java index 9d73b490..45a53874 100644 --- a/src/main/java/org/dimdev/dimdoors/mixin/WorldMixin.java +++ b/src/main/java/org/dimdev/dimdoors/mixin/WorldMixin.java @@ -33,7 +33,7 @@ public abstract class WorldMixin { at = @At(value = "INVOKE_ASSIGN", target = "Lnet/minecraft/world/World;getFluidState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/fluid/FluidState;", ordinal = 0)) - private FluidState replaceFluidStateWithCustomHackyFluidState(FluidState original, BlockPos pos, boolean drop, @Nullable Entity breakingEntity, int maxUpdateDepth) { + private FluidState replaceFluidStateWithCustomHackyFluidState(FluidState original, BlockPos pos, boolean drop, @Nullable Entity breakingEntity, int maxUpdateDepth) { //TODO: Fix World world = (World) (Object) this; BlockState blockState = world.getBlockState(pos); Block block = blockState.getBlock(); diff --git a/src/main/java/org/dimdev/dimdoors/mixin/accessor/ChunkGeneratorAccessor.java b/src/main/java/org/dimdev/dimdoors/mixin/accessor/ChunkGeneratorAccessor.java index abb73014..59e38c2a 100644 --- a/src/main/java/org/dimdev/dimdoors/mixin/accessor/ChunkGeneratorAccessor.java +++ b/src/main/java/org/dimdev/dimdoors/mixin/accessor/ChunkGeneratorAccessor.java @@ -1,12 +1,8 @@ package org.dimdev.dimdoors.mixin.accessor; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - import net.minecraft.world.gen.chunk.ChunkGenerator; +import org.spongepowered.asm.mixin.Mixin; @Mixin(ChunkGenerator.class) public interface ChunkGeneratorAccessor { - @Accessor("field_37261") - long getWorldSeed(); } diff --git a/src/main/java/org/dimdev/dimdoors/mixin/accessor/RecipesProviderAccessor.java b/src/main/java/org/dimdev/dimdoors/mixin/accessor/RecipesProviderAccessor.java index 81f33047..8e97d787 100644 --- a/src/main/java/org/dimdev/dimdoors/mixin/accessor/RecipesProviderAccessor.java +++ b/src/main/java/org/dimdev/dimdoors/mixin/accessor/RecipesProviderAccessor.java @@ -1,23 +1,22 @@ package org.dimdev.dimdoors.mixin.accessor; -import java.nio.file.Path; - 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 net.minecraft.data.DataCache; +import java.nio.file.Path; @Mixin(RecipeProvider.class) public interface RecipesProviderAccessor { @Invoker - static void callSaveRecipe(DataCache cache, JsonObject json, Path path) { + static void callSaveRecipe(DataWriter cache, JsonObject json, Path path) { throw new UnsupportedOperationException(); } @Invoker - static void callSaveRecipeAdvancement(DataCache cache, JsonObject json, Path path) { + static void callSaveRecipeAdvancement(DataWriter cache, JsonObject json, Path path) { throw new UnsupportedOperationException(); } } diff --git a/src/main/java/org/dimdev/dimdoors/particle/client/LimboAshParticle.java b/src/main/java/org/dimdev/dimdoors/particle/client/LimboAshParticle.java index 8ddd647f..86389479 100644 --- a/src/main/java/org/dimdev/dimdoors/particle/client/LimboAshParticle.java +++ b/src/main/java/org/dimdev/dimdoors/particle/client/LimboAshParticle.java @@ -6,7 +6,7 @@ import net.minecraft.client.particle.*; import net.minecraft.client.world.ClientWorld; import net.minecraft.particle.DefaultParticleType; -import java.util.Random; +import net.minecraft.util.math.random.Random; @Environment(EnvType.CLIENT) public class LimboAshParticle extends AscendingParticle { diff --git a/src/main/java/org/dimdev/dimdoors/pockets/PocketGenerator.java b/src/main/java/org/dimdev/dimdoors/pockets/PocketGenerator.java index 25c3f799..4d0f7234 100644 --- a/src/main/java/org/dimdev/dimdoors/pockets/PocketGenerator.java +++ b/src/main/java/org/dimdev/dimdoors/pockets/PocketGenerator.java @@ -73,7 +73,7 @@ public final class PocketGenerator { public static Pocket generateDungeonPocket(VirtualLocation virtualLocation, VirtualTarget linkTo, LinkProperties linkProperties) { int depth = virtualLocation.getDepth(); float netherProbability = DimensionalDoorsInitializer.getWorld(virtualLocation.getWorld()).getDimension().isUltrawarm() ? 1 : (float) depth / 200; // TODO: improve nether probability - Random random = new Random(); + Random random = Random.create(); String group = random.nextFloat() < netherProbability ? "nether" : "ruins"; PocketTemplate pocketTemplate = SchematicHandler.INSTANCE.getRandomTemplate(group, depth, DimensionalDoorsInitializer.getConfig().getPocketsConfig().maxPocketSize, false); diff --git a/src/main/java/org/dimdev/dimdoors/pockets/generator/SchematicGenerator.java b/src/main/java/org/dimdev/dimdoors/pockets/generator/SchematicGenerator.java index 02575ed6..563f4d2a 100644 --- a/src/main/java/org/dimdev/dimdoors/pockets/generator/SchematicGenerator.java +++ b/src/main/java/org/dimdev/dimdoors/pockets/generator/SchematicGenerator.java @@ -1,11 +1,15 @@ package org.dimdev.dimdoors.pockets.generator; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - +import net.fabricmc.fabric.api.util.NbtType; +import net.minecraft.nbt.NbtCompound; import net.minecraft.resource.ResourceManager; +import net.minecraft.server.world.ServerWorld; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; +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.api.util.BlockPlacementType; @@ -22,15 +26,10 @@ import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry; import org.dimdev.dimdoors.world.pocket.type.LazyGenerationPocket; import org.dimdev.dimdoors.world.pocket.type.Pocket; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.server.world.ServerWorld; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.Vec3i; -import net.minecraft.world.chunk.Chunk; - -import net.fabricmc.fabric.api.util.NbtType; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; public class SchematicGenerator extends LazyPocketGenerator{ private static final Logger LOGGER = LogManager.getLogger(); @@ -143,7 +142,7 @@ public class SchematicGenerator extends LazyPocketGenerator{ Pocket pocket = DimensionalRegistry.getPocketDirectory(world.getRegistryKey()).newPocket(builder); BlockPos origin = pocket.getOrigin(); LOGGER.info("Generating pocket from template " + templateID + " at location " + origin); - PocketCommand.logSetting.values().forEach(commandSource -> commandSource.sendFeedback(new TranslatableText("commands.pocket.log.creation.generating", templateID, origin.getX(), origin.getY(), origin.getZ()), false)); + PocketCommand.logSetting.values().forEach(commandSource -> commandSource.sendFeedback(MutableText.of(new TranslatableTextContent("commands.pocket.log.creation.generating", templateID, origin.getX(), origin.getY(), origin.getZ())), false)); if (pocket instanceof LazyGenerationPocket) { diff --git a/src/main/java/org/dimdev/dimdoors/rift/targets/EscapeTarget.java b/src/main/java/org/dimdev/dimdoors/rift/targets/EscapeTarget.java index 84e35b85..5b23c279 100644 --- a/src/main/java/org/dimdev/dimdoors/rift/targets/EscapeTarget.java +++ b/src/main/java/org/dimdev/dimdoors/rift/targets/EscapeTarget.java @@ -1,38 +1,29 @@ package org.dimdev.dimdoors.rift.targets; -import java.util.Random; -import java.util.UUID; - import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; -import com.sk89q.worldedit.util.formatting.text.BlockNbtComponent; import net.minecraft.block.Block; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.server.PlayerManager; +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NbtCompound; import net.minecraft.server.network.ServerPlayerEntity; -import net.minecraft.world.World; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; +import net.minecraft.util.math.BlockPos; +import net.minecraft.util.math.EulerAngle; +import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.random.Random; import org.apache.logging.log4j.Level; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.dimdev.dimdoors.DimensionalDoorsInitializer; -import org.dimdev.dimdoors.ModConfig; import org.dimdev.dimdoors.api.rift.target.EntityTarget; import org.dimdev.dimdoors.api.util.Location; import org.dimdev.dimdoors.api.util.TeleportUtil; import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.block.UnravelUtil; -import org.dimdev.dimdoors.block.entity.RiftBlockEntity; import org.dimdev.dimdoors.world.ModDimensions; -import org.dimdev.dimdoors.world.level.registry.DimensionalRegistry; -import org.dimdev.dimdoors.world.pocket.VirtualLocation; -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NbtCompound; -import net.minecraft.server.world.ServerWorld; -import net.minecraft.text.TranslatableText; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.EulerAngle; -import net.minecraft.util.math.Vec3d; +import java.util.UUID; import static org.dimdev.dimdoors.api.util.EntityUtils.chat; @@ -52,11 +43,11 @@ public class EscapeTarget extends VirtualTarget implements EntityTarget { // TOD @Override public boolean receiveEntity(Entity entity, Vec3d relativePos, EulerAngle relativeAngle, Vec3d relativeVelocity) { if (!ModDimensions.isPocketDimension(entity.world) && !(ModDimensions.isLimboDimension(entity.world))) { - chat(entity, new TranslatableText("rifts.destinations.escape.not_in_pocket_dim")); + chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.escape.not_in_pocket_dim"))); return false; } if (ModDimensions.isLimboDimension(entity.world) && !this.canEscapeLimbo) { - chat(entity, new TranslatableText("rifts.destinations.escape.cannot_escape_limbo")); + chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.escape.cannot_escape_limbo"))); return false; } if (entity.getEntityWorld().isClient) @@ -84,9 +75,9 @@ public class EscapeTarget extends VirtualTarget implements EntityTarget { // TOD TeleportUtil.teleport(entity, destLoc.getWorld(), destLoc.getBlockPos(), relativeAngle, relativeVelocity); } else { if (destLoc == null) { - chat(entity, new TranslatableText("rifts.destinations.escape.did_not_use_rift")); + chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.escape.did_not_use_rift")); } else { - chat(entity, new TranslatableText("rifts.destinations.escape.rift_has_closed")); + chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.escape.rift_has_closed")); } if (ModDimensions.LIMBO_DIMENSION != null) { TeleportUtil.teleport(entity, ModDimensions.LIMBO_DIMENSION, new BlockPos(this.location.getX(), this.location.getY(), this.location.getZ()), relativeAngle, relativeVelocity); @@ -99,7 +90,7 @@ public class EscapeTarget extends VirtualTarget implements EntityTarget { // TOD Location location = destLoc; //VirtualLocation.fromLocation(new Location((ServerWorld) entity.world, destLoc.pos)).projectToWorld(false); //TODO Fix world projection. entity = TeleportUtil.teleport(entity, location.getWorld(), location.getBlockPos(), relativeAngle, relativeVelocity); entity.fallDistance = 0; - Random random = new Random(); + Random random = Random.create(); BlockPos.iterateOutwards(location.pos.add(0, -3, 0), 3, 2, 3).forEach((pos1 -> { if (random.nextFloat() < (1 / ((float) location.pos.getSquaredDistance(pos1))) * DimensionalDoorsInitializer.getConfig().getLimboConfig().limboBlocksCorruptingOverworldAmount) { Block block = location.getWorld().getBlockState(pos1).getBlock(); @@ -112,9 +103,9 @@ public class EscapeTarget extends VirtualTarget implements EntityTarget { // TOD })); } else { if (destLoc == null) { - chat(entity, new TranslatableText("rifts.destinations.escape.did_not_use_rift")); + chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.escape.did_not_use_rift"))); } else { - chat(entity, new TranslatableText("rifts.destinations.escape.rift_has_closed")); + chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.escape.rift_has_closed"))); } if (ModDimensions.LIMBO_DIMENSION != null) { entity = TeleportUtil.teleport(entity, ModDimensions.LIMBO_DIMENSION, new BlockPos(this.location.getX(), this.location.getY(), this.location.getZ()), relativeAngle, relativeVelocity); diff --git a/src/main/java/org/dimdev/dimdoors/rift/targets/MessageTarget.java b/src/main/java/org/dimdev/dimdoors/rift/targets/MessageTarget.java index 84745f54..89833b75 100644 --- a/src/main/java/org/dimdev/dimdoors/rift/targets/MessageTarget.java +++ b/src/main/java/org/dimdev/dimdoors/rift/targets/MessageTarget.java @@ -1,15 +1,14 @@ package org.dimdev.dimdoors.rift.targets; +import net.minecraft.entity.Entity; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.math.EulerAngle; import net.minecraft.util.math.Vec3d; - import org.dimdev.dimdoors.api.rift.target.EntityTarget; import org.dimdev.dimdoors.api.rift.target.Target; import org.dimdev.dimdoors.api.util.EntityUtils; -import net.minecraft.entity.Entity; -import net.minecraft.text.TranslatableText; - public class MessageTarget implements EntityTarget { private final Target forwardTo; private final String message; @@ -27,7 +26,7 @@ public class MessageTarget implements EntityTarget { @Override public boolean receiveEntity(Entity entity, Vec3d relativePos, EulerAngle relativeAngle, Vec3d relativeVelocity) { - EntityUtils.chat(entity, new TranslatableText(this.message, this.messageParams)); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent(this.message, this.messageParams))); if (this.forwardTo != null) { this.forwardTo.as(Targets.ENTITY).receiveEntity(entity, relativePos, relativeAngle, relativeVelocity); diff --git a/src/main/java/org/dimdev/dimdoors/rift/targets/PocketEntranceMarker.java b/src/main/java/org/dimdev/dimdoors/rift/targets/PocketEntranceMarker.java index 6837371b..0f10bed3 100644 --- a/src/main/java/org/dimdev/dimdoors/rift/targets/PocketEntranceMarker.java +++ b/src/main/java/org/dimdev/dimdoors/rift/targets/PocketEntranceMarker.java @@ -1,15 +1,14 @@ package org.dimdev.dimdoors.rift.targets; -import net.minecraft.util.math.EulerAngle; -import net.minecraft.util.math.Vec3d; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.dimdev.dimdoors.api.rift.target.EntityTarget; -import org.dimdev.dimdoors.api.util.EntityUtils; - import net.minecraft.entity.Entity; import net.minecraft.nbt.NbtCompound; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; +import net.minecraft.util.math.EulerAngle; +import net.minecraft.util.math.Vec3d; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.dimdev.dimdoors.api.rift.target.EntityTarget; +import org.dimdev.dimdoors.api.util.EntityUtils; public class PocketEntranceMarker extends VirtualTarget implements EntityTarget { private final float weight; @@ -32,7 +31,7 @@ public class PocketEntranceMarker extends VirtualTarget implements EntityTarget @Override public boolean receiveEntity(Entity entity, Vec3d relativePos, EulerAngle relativeAngle, Vec3d relativeVelocity) { - EntityUtils.chat(entity, new TranslatableText("The entrance of this dungeon has not been converted. If this is a normally generated pocket, please report this bug.")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("The entrance of this dungeon has not been converted. If this is a normally generated pocket, please report this bug."))); return false; } diff --git a/src/main/java/org/dimdev/dimdoors/rift/targets/PocketExitMarker.java b/src/main/java/org/dimdev/dimdoors/rift/targets/PocketExitMarker.java index 5fcf1805..aa8acaf7 100644 --- a/src/main/java/org/dimdev/dimdoors/rift/targets/PocketExitMarker.java +++ b/src/main/java/org/dimdev/dimdoors/rift/targets/PocketExitMarker.java @@ -1,15 +1,14 @@ package org.dimdev.dimdoors.rift.targets; import com.mojang.serialization.Codec; +import net.minecraft.entity.Entity; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.math.EulerAngle; import net.minecraft.util.math.Vec3d; - import org.dimdev.dimdoors.api.rift.target.EntityTarget; import org.dimdev.dimdoors.api.util.EntityUtils; -import net.minecraft.entity.Entity; -import net.minecraft.text.TranslatableText; - public class PocketExitMarker extends VirtualTarget implements EntityTarget { public static final Codec CODEC = Codec.unit(PocketExitMarker::new); @@ -18,7 +17,7 @@ public class PocketExitMarker extends VirtualTarget implements EntityTarget { @Override public boolean receiveEntity(Entity entity, Vec3d relativePos, EulerAngle relativeAngle, Vec3d relativeVelocity) { - EntityUtils.chat(entity, new TranslatableText("The exit of this dungeon has not been linked. If this is a normally generated pocket, please report this bug.")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("The exit of this dungeon has not been linked. If this is a normally generated pocket, please report this bug."))); return false; } diff --git a/src/main/java/org/dimdev/dimdoors/rift/targets/PrivatePocketExitTarget.java b/src/main/java/org/dimdev/dimdoors/rift/targets/PrivatePocketExitTarget.java index 50b481d3..4400ad16 100644 --- a/src/main/java/org/dimdev/dimdoors/rift/targets/PrivatePocketExitTarget.java +++ b/src/main/java/org/dimdev/dimdoors/rift/targets/PrivatePocketExitTarget.java @@ -1,22 +1,21 @@ package org.dimdev.dimdoors.rift.targets; -import java.util.UUID; - +import net.minecraft.entity.Entity; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.math.EulerAngle; import net.minecraft.util.math.Vec3d; - import org.dimdev.dimdoors.api.rift.target.EntityTarget; -import org.dimdev.dimdoors.block.entity.RiftBlockEntity; import org.dimdev.dimdoors.api.util.EntityUtils; import org.dimdev.dimdoors.api.util.Location; import org.dimdev.dimdoors.api.util.RGBA; +import org.dimdev.dimdoors.block.entity.RiftBlockEntity; import org.dimdev.dimdoors.world.ModDimensions; 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 net.minecraft.entity.Entity; -import net.minecraft.text.TranslatableText; +import java.util.UUID; public class PrivatePocketExitTarget extends VirtualTarget implements EntityTarget { public static final RGBA COLOR = new RGBA(0, 1, 0, 1); @@ -37,9 +36,9 @@ public class PrivatePocketExitTarget extends VirtualTarget implements EntityTarg } if (destLoc == null || !(destLoc.getBlockEntity() instanceof RiftBlockEntity)) { if (destLoc == null) { - EntityUtils.chat(entity, new TranslatableText("rifts.destinations.private_pocket_exit.did_not_use_rift")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.private_pocket_exit.did_not_use_rift"))); } else { - EntityUtils.chat(entity, new TranslatableText("rifts.destinations.private_pocket_exit.rift_has_closed")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("rifts.destinations.private_pocket_exit.rift_has_closed"))); } return false; } else { diff --git a/src/main/java/org/dimdev/dimdoors/rift/targets/Targets.java b/src/main/java/org/dimdev/dimdoors/rift/targets/Targets.java index 84da2d87..aa056326 100644 --- a/src/main/java/org/dimdev/dimdoors/rift/targets/Targets.java +++ b/src/main/java/org/dimdev/dimdoors/rift/targets/Targets.java @@ -1,15 +1,11 @@ package org.dimdev.dimdoors.rift.targets; -import org.dimdev.dimdoors.api.rift.target.DefaultTargets; -import org.dimdev.dimdoors.api.rift.target.EntityTarget; -import org.dimdev.dimdoors.api.rift.target.FluidTarget; -import org.dimdev.dimdoors.api.rift.target.ItemTarget; -import org.dimdev.dimdoors.api.rift.target.RedstoneTarget; -import org.dimdev.dimdoors.api.util.EntityUtils; - import net.minecraft.fluid.Fluid; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; import net.minecraft.util.math.Direction; +import org.dimdev.dimdoors.api.rift.target.*; +import org.dimdev.dimdoors.api.util.EntityUtils; // A list of the default targets provided by dimcore. Add your own in ModTargets public final class Targets { @@ -20,7 +16,7 @@ public final class Targets { public static void registerDefaultTargets() { DefaultTargets.registerDefaultTarget(ENTITY, (entity, relativePos, relativeRotation, relativeVelocity) -> { - EntityUtils.chat(entity, new TranslatableText("rifts.unlinked2")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("rifts.unlinked2"))); return false; }); DefaultTargets.registerDefaultTarget(ITEM, stack -> false); diff --git a/src/main/java/org/dimdev/dimdoors/rift/targets/UnstableTarget.java b/src/main/java/org/dimdev/dimdoors/rift/targets/UnstableTarget.java index 3babf284..0a7fe3bc 100644 --- a/src/main/java/org/dimdev/dimdoors/rift/targets/UnstableTarget.java +++ b/src/main/java/org/dimdev/dimdoors/rift/targets/UnstableTarget.java @@ -1,16 +1,15 @@ package org.dimdev.dimdoors.rift.targets; -import java.util.Collections; -import java.util.Random; - -import org.dimdev.dimdoors.api.rift.target.EntityTarget; - import net.minecraft.entity.Entity; import net.minecraft.util.math.EulerAngle; import net.minecraft.util.math.Vec3d; +import net.minecraft.util.math.random.Random; +import org.dimdev.dimdoors.api.rift.target.EntityTarget; + +import java.util.Collections; public class UnstableTarget extends VirtualTarget implements EntityTarget { - private static final Random RANDOM = new Random(); + private static final Random RANDOM = Random.create(); @Override public VirtualTargetType getType() { diff --git a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java index 6c0b86ab..bdfb45cd 100644 --- a/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java +++ b/src/main/java/org/dimdev/dimdoors/world/ModBiomes.java @@ -55,8 +55,9 @@ public final class ModBiomes { } static { + Biome.Builder voidBiomeBuilder = new Biome.Builder() - .category(Biome.Category.NONE) +// .category(Biome.Category.NONE) //TODO: Find out analog or if needed? .downfall(0) .generationSettings(new GenerationSettings.Builder().build()) .precipitation(Biome.Precipitation.NONE) @@ -71,7 +72,7 @@ public final class ModBiomes { PUBLIC_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build(); DUNGEON_DANGEROUS_BLACK_VOID_BIOME = voidBiomeBuilder.effects(createEffect(false)).build(); LIMBO_BIOME = new Biome.Builder() - .category(Biome.Category.NONE) +// .category(Biome.Category.NONE) TODO: FInd if needed .downfall(0.0f) .effects(new BiomeEffects.Builder() .fogColor(0x404040) diff --git a/src/main/java/org/dimdev/dimdoors/world/decay/LimboDecay.java b/src/main/java/org/dimdev/dimdoors/world/decay/LimboDecay.java index 6df040b0..5b6592ec 100644 --- a/src/main/java/org/dimdev/dimdoors/world/decay/LimboDecay.java +++ b/src/main/java/org/dimdev/dimdoors/world/decay/LimboDecay.java @@ -1,33 +1,31 @@ package org.dimdev.dimdoors.world.decay; -import java.util.*; -import java.util.concurrent.CompletableFuture; -import java.util.stream.Collectors; - import net.fabricmc.fabric.api.resource.SimpleSynchronousResourceReloadListener; - import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtElement; import net.minecraft.predicate.entity.EntityPredicates; import net.minecraft.resource.ResourceManager; - import net.minecraft.server.world.ServerWorld; import net.minecraft.sound.SoundCategory; +import net.minecraft.util.Identifier; +import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Direction; +import net.minecraft.util.math.random.Random; 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.DimensionalDoorsInitializer; +import org.dimdev.dimdoors.api.util.ResourceUtil; import org.dimdev.dimdoors.network.ExtendedServerPlayNetworkHandler; import org.dimdev.dimdoors.network.packet.s2c.RenderBreakBlockS2CPacket; import org.dimdev.dimdoors.sound.ModSoundEvents; -import org.dimdev.dimdoors.api.util.ResourceUtil; -import net.minecraft.util.Identifier; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.World; +import java.util.*; +import java.util.concurrent.CompletableFuture; +import java.util.stream.Collectors; /** * Provides methods for applying Limbo decay. Limbo decay refers to the effect that most blocks placed in Limbo @@ -37,7 +35,7 @@ public final class LimboDecay { private static final Logger LOGGER = LogManager.getLogger(); private static final Map, Set> DECAY_QUEUE = new HashMap<>(); - private static final Random RANDOM = new Random(); + private static final Random RANDOM = Random.create(); /** * Checks the blocks orthogonally around a given location (presumably the location of an Unraveled Fabric block) diff --git a/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java b/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java index 324b3321..bde4e102 100644 --- a/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java +++ b/src/main/java/org/dimdev/dimdoors/world/feature/ModFeatures.java @@ -1,39 +1,28 @@ package org.dimdev.dimdoors.world.feature; -import net.fabricmc.fabric.api.biome.v1.TheEndBiomes; +import net.fabricmc.fabric.api.biome.v1.BiomeModifications; +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 net.minecraft.util.registry.Registry; import net.minecraft.util.registry.RegistryEntry; import net.minecraft.util.registry.RegistryEntryList; import net.minecraft.world.biome.BiomeKeys; +import net.minecraft.world.gen.GenerationStep; +import net.minecraft.world.gen.YOffset; +import net.minecraft.world.gen.feature.*; import net.minecraft.world.gen.placementmodifier.*; import org.dimdev.dimdoors.DimensionalDoorsInitializer; import org.dimdev.dimdoors.block.ModBlocks; import org.dimdev.dimdoors.world.feature.gateway.LimboGatewayFeature; import org.dimdev.dimdoors.world.feature.gateway.schematic.*; -import net.minecraft.fluid.Fluids; -import net.minecraft.structure.rule.BlockMatchRuleTest; -import net.minecraft.util.Identifier; -import net.minecraft.util.registry.Registry; -import net.minecraft.world.biome.Biome; -import net.minecraft.world.biome.Biome.Category; -import net.minecraft.world.gen.GenerationStep; -import net.minecraft.world.gen.YOffset; -import net.minecraft.world.gen.feature.ConfiguredFeature; -import net.minecraft.world.gen.feature.ConfiguredFeatures; -import net.minecraft.world.gen.feature.DefaultFeatureConfig; -import net.minecraft.world.gen.feature.Feature; -import net.minecraft.world.gen.feature.OreFeatureConfig; -import net.minecraft.world.gen.feature.PlacedFeature; -import net.minecraft.world.gen.feature.PlacedFeatures; -import net.minecraft.world.gen.feature.SpringFeatureConfig; - -import net.fabricmc.fabric.api.biome.v1.BiomeModifications; - import java.util.List; -import static net.minecraft.world.gen.feature.Feature.*; -import static net.minecraft.world.gen.feature.OrePlacedFeatures.modifiersWithCount; +import static net.minecraft.world.gen.feature.Feature.ORE; +import static net.minecraft.world.gen.feature.Feature.SPRING_FEATURE; public final class ModFeatures { public static final SchematicGateway SANDSTONE_PILLARS_GATEWAY = new SandstonePillarsGateway(); @@ -74,20 +63,14 @@ public final class ModFeatures { public static final RegistryEntry ETERNAL_FLUID_SPRING_PLACED_FEATURE = PlacedFeatures.register("dimdoors:eternal_fluid_spring", Configured.ETERNAL_FLUID_SPRING_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(25), SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.fixed(192)), BiomePlacementModifier.of())); public static void init() { - BiomeModifications.addFeature(ctx -> { - Biome biome = ctx.getBiome(); - return biome.getCategory() != Category.NONE && - biome.getCategory() != Category.THEEND && - biome.getCategory() != Category.DESERT && - biome.getCategory() != Category.NETHER && - biome.getCategory() != Category.OCEAN && - !(ctx.getBiomeKey().equals(BiomeKeys.END_HIGHLANDS) || ctx.getBiomeKey().equals(BiomeKeys.END_MIDLANDS) || ctx.getBiomeKey().equals(BiomeKeys.SMALL_END_ISLANDS)); - }, + BiomeModifications.addFeature(ctx -> ctx.hasTag(ConventionalBiomeTags.IN_OVERWORLD) && + !ctx.hasTag(ConventionalBiomeTags.DESERT) && + !ctx.hasTag(ConventionalBiomeTags.OCEAN), GenerationStep.Feature.SURFACE_STRUCTURES, TWO_PILLARS_PLACED_FEATURE.getKey().get() ); BiomeModifications.addFeature( - ctx -> ctx.getBiome().getCategory() == Category.DESERT, + ctx -> ctx.hasTag(ConventionalBiomeTags.DESERT), GenerationStep.Feature.SURFACE_STRUCTURES, SANDSTONE_PILLARS_PLACED_FEATURE.getKey().get() ); diff --git a/src/main/java/org/dimdev/dimdoors/world/level/registry/RiftSchemas.java b/src/main/java/org/dimdev/dimdoors/world/level/registry/RiftSchemas.java index 727a93b5..f3d035d0 100644 --- a/src/main/java/org/dimdev/dimdoors/world/level/registry/RiftSchemas.java +++ b/src/main/java/org/dimdev/dimdoors/world/level/registry/RiftSchemas.java @@ -1,16 +1,16 @@ package org.dimdev.dimdoors.world.level.registry; -import java.util.function.BiFunction; - import com.mojang.datafixers.DSL; import com.mojang.datafixers.DataFixer; import com.mojang.datafixers.DataFixerBuilder; import com.mojang.datafixers.schemas.Schema; import com.mojang.serialization.Dynamic; -import org.dimdev.dimdoors.world.level.registry.schema.Schema1; import net.minecraft.nbt.NbtCompound; import net.minecraft.nbt.NbtOps; import net.minecraft.util.Util; +import org.dimdev.dimdoors.world.level.registry.schema.Schema1; + +import java.util.function.BiFunction; public class RiftSchemas { public static final DSL.TypeReference RIFT_DATA_TYPE_REF = () -> "rift_data"; @@ -19,7 +19,7 @@ public class RiftSchemas { public static final DataFixer DATA_FIXER = Util.make(new DataFixerBuilder(RIFT_DATA_VERSION), builder -> { builder.addSchema(1, Schema1::new); // TODO: add schemas if schema changes - }).build(Runnable::run); + }).buildUnoptimized(); public static NbtCompound update(int oldVersion, NbtCompound original) { return (NbtCompound) DATA_FIXER.update(RIFT_DATA_TYPE_REF, new Dynamic<>( NbtOps.INSTANCE, original), oldVersion, RIFT_DATA_VERSION).getValue(); diff --git a/src/main/java/org/dimdev/dimdoors/world/pocket/BlankChunkGenerator.java b/src/main/java/org/dimdev/dimdoors/world/pocket/BlankChunkGenerator.java index 341b4cd8..86c35dba 100644 --- a/src/main/java/org/dimdev/dimdoors/world/pocket/BlankChunkGenerator.java +++ b/src/main/java/org/dimdev/dimdoors/world/pocket/BlankChunkGenerator.java @@ -1,41 +1,35 @@ package org.dimdev.dimdoors.world.pocket; -import java.util.Collections; -import java.util.List; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.Executor; - -import com.mojang.datafixers.kinds.Applicative; import com.mojang.serialization.Codec; import com.mojang.serialization.codecs.RecordCodecBuilder; - import net.minecraft.block.BlockState; -import net.minecraft.structure.StructureManager; import net.minecraft.structure.StructureSet; -import net.minecraft.util.dynamic.RegistryOps; +import net.minecraft.structure.StructureTemplateManager; import net.minecraft.util.math.BlockPos; import net.minecraft.util.registry.DynamicRegistryManager; import net.minecraft.util.registry.Registry; -import net.minecraft.world.BlockView; import net.minecraft.world.ChunkRegion; import net.minecraft.world.HeightLimitView; import net.minecraft.world.Heightmap; import net.minecraft.world.StructureWorldAccess; -import net.minecraft.world.WorldAccess; import net.minecraft.world.biome.source.BiomeAccess; import net.minecraft.world.biome.source.BiomeSource; -import net.minecraft.world.biome.source.util.MultiNoiseUtil; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.StructureAccessor; import net.minecraft.world.gen.chunk.Blender; import net.minecraft.world.gen.chunk.ChunkGenerator; import net.minecraft.world.gen.chunk.VerticalBlockSample; +import net.minecraft.world.gen.noise.NoiseConfig; + +import java.util.List; +import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; public class BlankChunkGenerator extends ChunkGenerator { public static final Codec CODEC = RecordCodecBuilder.create((instance) -> - BlankChunkGenerator.method_41042(instance).and( + ChunkGenerator.createStructureSetRegistryGetter(instance).and( BiomeSource.CODEC.fieldOf("biome_source") .forGetter((generator) -> generator.biomeSource) ).apply(instance, instance.stable(BlankChunkGenerator::of)) @@ -54,24 +48,22 @@ public class BlankChunkGenerator extends ChunkGenerator { return CODEC; } +// @Override +// public ChunkGenerator withSeed(long seed) { +// return this; +// } +// +// @Override +// public MultiNoiseUtil.MultiNoiseSampler getMultiNoiseSampler() { +// return null; +// } + @Override - public ChunkGenerator withSeed(long seed) { - return this; + public void carve(ChunkRegion chunkRegion, long seed, NoiseConfig noiseConfig, BiomeAccess world, StructureAccessor structureAccessor, Chunk chunk, GenerationStep.Carver carverStep) { } @Override - public MultiNoiseUtil.MultiNoiseSampler getMultiNoiseSampler() { - return null; - } - - @Override - public void carve(ChunkRegion chunkRegion, long seed, BiomeAccess biomeAccess, StructureAccessor structureAccessor, Chunk chunk, GenerationStep.Carver generationStep) { - - } - - @Override - public void buildSurface(ChunkRegion region, StructureAccessor structures, Chunk chunk) { - + public void buildSurface(ChunkRegion region, StructureAccessor structures, NoiseConfig noiseConfig, Chunk chunk) { } @Override @@ -85,7 +77,7 @@ public class BlankChunkGenerator extends ChunkGenerator { } @Override - public void setStructureStarts(DynamicRegistryManager dynamicRegistryManager, StructureAccessor structureAccessor, Chunk chunk, StructureManager structureManager, long worldSeed) { + public void setStructureStarts(DynamicRegistryManager registryManager, NoiseConfig noiseConfig, StructureAccessor structureAccessor, Chunk chunk, StructureTemplateManager structureTemplateManager, long seed) { } @Override @@ -93,7 +85,7 @@ public class BlankChunkGenerator extends ChunkGenerator { } @Override - public CompletableFuture populateNoise(Executor executor, Blender blender, StructureAccessor structureAccessor, Chunk chunk) { + public CompletableFuture populateNoise(Executor executor, Blender blender, NoiseConfig noiseConfig, StructureAccessor structureAccessor, Chunk chunk) { return CompletableFuture.supplyAsync(() -> chunk); } @@ -108,17 +100,16 @@ public class BlankChunkGenerator extends ChunkGenerator { } @Override - public int getHeight(int x, int z, Heightmap.Type heightmap, HeightLimitView world) { + public int getHeight(int x, int z, Heightmap.Type heightmap, HeightLimitView world, NoiseConfig noiseConfig) { return 0; } @Override - public VerticalBlockSample getColumnSample(int x, int z, HeightLimitView world) { + public VerticalBlockSample getColumnSample(int x, int z, HeightLimitView world, NoiseConfig noiseConfig) { return new VerticalBlockSample(0, new BlockState[0]); } @Override - public void getDebugHudText(List text, BlockPos pos) { - + public void getDebugHudText(List text, NoiseConfig noiseConfig, BlockPos pos) { } } diff --git a/src/main/java/org/dimdev/dimdoors/world/pocket/type/addon/DyeableAddon.java b/src/main/java/org/dimdev/dimdoors/world/pocket/type/addon/DyeableAddon.java index eceae00b..17cd24f8 100644 --- a/src/main/java/org/dimdev/dimdoors/world/pocket/type/addon/DyeableAddon.java +++ b/src/main/java/org/dimdev/dimdoors/world/pocket/type/addon/DyeableAddon.java @@ -4,15 +4,16 @@ import net.minecraft.block.BlockState; import net.minecraft.entity.Entity; import net.minecraft.nbt.NbtCompound; import net.minecraft.server.world.ServerWorld; -import net.minecraft.text.TranslatableText; +import net.minecraft.text.MutableText; +import net.minecraft.text.TranslatableTextContent; 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.api.util.EntityUtils; import org.dimdev.dimdoors.block.AncientFabricBlock; import org.dimdev.dimdoors.block.FabricBlock; import org.dimdev.dimdoors.block.ModBlocks; -import org.dimdev.dimdoors.api.util.EntityUtils; import org.dimdev.dimdoors.world.pocket.type.Pocket; import org.dimdev.dimdoors.world.pocket.type.PocketColor; import org.dimdev.dimdoors.world.pocket.type.PrivatePocket; @@ -53,7 +54,7 @@ public class DyeableAddon implements PocketAddon { int maxDye = amountOfDyeRequiredToColor(pocket); if (this.dyeColor == color) { - EntityUtils.chat(entity, new TranslatableText("dimdoors.pockets.dyeAlreadyAbsorbed")); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("dimdoors.pockets.dyeAlreadyAbsorbed"))); return false; } @@ -63,15 +64,15 @@ public class DyeableAddon implements PocketAddon { this.dyeColor = color; this.nextDyeColor = PocketColor.NONE; this.count = 0; - EntityUtils.chat(entity, new TranslatableText("dimdoors.pocket.pocketHasBeenDyed", dyeColor)); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("dimdoors.pocket.pocketHasBeenDyed", dyeColor))); } else { this.count++; - EntityUtils.chat(entity, new TranslatableText("dimdoors.pocket.remainingNeededDyes", this.count, maxDye, color)); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("dimdoors.pocket.remainingNeededDyes", this.count, maxDye, color))); } } else { this.nextDyeColor = color; this.count = 1; - EntityUtils.chat(entity, new TranslatableText("dimdoors.pocket.remainingNeededDyes", this.count, maxDye, color)); + EntityUtils.chat(entity, MutableText.of(new TranslatableTextContent("dimdoors.pocket.remainingNeededDyes", this.count, maxDye, color))); } return true; } diff --git a/src/main/resources/dimdoors.accesswidener b/src/main/resources/dimdoors.accesswidener index f6224f5b..e2441f3b 100644 --- a/src/main/resources/dimdoors.accesswidener +++ b/src/main/resources/dimdoors.accesswidener @@ -20,10 +20,12 @@ accessible method net/minecraft/server/world/ThreadedAnvilChunkStorage entryIter accessible method net/minecraft/client/render/WorldRenderer renderEndSky (Lnet/minecraft/client/util/math/MatrixStack;)V -accessible method net/minecraft/world/biome/Biome getCategory ()Lnet/minecraft/world/biome/Biome$Category; +#accessible method net/minecraft/world/biome/Biome getCategory ()Lnet/minecraft/world/biome/Biome$Category; accessible field net/minecraft/block/Block LOGGER Lorg/slf4j/Logger; accessible method net/minecraft/world/gen/feature/OrePlacedFeatures modifiersWithCount (ILnet/minecraft/world/gen/placementmodifier/PlacementModifier;)Ljava/util/List; accessible class net/minecraft/data/client/BlockStateModelGenerator$BlockTexturePool + +accessible method net/minecraft/command/argument/BlockArgumentParser parse ()V diff --git a/src/main/schematics/org/dimdev/dimdoors/util/schematic/SchematicBlockPalette.java b/src/main/schematics/org/dimdev/dimdoors/util/schematic/SchematicBlockPalette.java index 1d41c484..3870af09 100644 --- a/src/main/schematics/org/dimdev/dimdoors/util/schematic/SchematicBlockPalette.java +++ b/src/main/schematics/org/dimdev/dimdoors/util/schematic/SchematicBlockPalette.java @@ -1,25 +1,19 @@ package org.dimdev.dimdoors.util.schematic; -import java.util.Iterator; -import java.util.Objects; - -import com.mojang.brigadier.ImmutableStringReader; import com.mojang.brigadier.StringReader; import com.mojang.brigadier.exceptions.CommandSyntaxException; import com.mojang.serialization.Codec; import com.mojang.serialization.DataResult; import com.mojang.serialization.codecs.UnboundedMapCodec; - -import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.command.argument.BlockArgumentParser; -import net.minecraft.command.argument.BlockStateArgument; -import net.minecraft.command.argument.BlockStateArgumentType; import net.minecraft.state.property.Property; -import net.minecraft.util.Identifier; import net.minecraft.util.StringIdentifiable; import net.minecraft.util.registry.Registry; +import java.util.Iterator; +import java.util.Objects; + public class SchematicBlockPalette { public static final UnboundedMapCodec CODEC = Codec.unboundedMap(Entry.CODEC, Codec.INT); @@ -32,13 +26,15 @@ public class SchematicBlockPalette { static DataResult to(String string) { StringReader reader = new StringReader(string); - BlockArgumentParser parser = new BlockArgumentParser(reader, true); + + BlockArgumentParser.BlockResult parser = null; + try { - parser.parse(true); + BlockArgumentParser.block(Registry.BLOCK, reader, true); } catch (CommandSyntaxException e) { return DataResult.error(e.getMessage()); } - return DataResult.success(parser.getBlockState()); + return DataResult.success(parser.blockState()); // if (!string.contains("[") && !string.contains("]")) { // BlockState state = Registry.BLOCK.get(new Identifier(string)).getDefaultState(); // return DataResult.success(state);