1.19 three classes remain.
This commit is contained in:
parent
f3813bc452
commit
04958364fd
68 changed files with 525 additions and 639 deletions
18
build.gradle
18
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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<Integer>) innerField.get(value))))
|
||||
IntListBuilder builder = entryBuilder.startIntList(MutableText.of(new TranslatableTextContent(valueClass.getName().toLowerCase() + ":" + innerField.getName())), new ArrayList<>(((Set<Integer>) innerField.get(value))))
|
||||
.setTooltip(tooltipSupplier)
|
||||
.setSaveConsumer(set -> {
|
||||
try {
|
||||
|
|
|
@ -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<Consumer<Advancement>> {
|
||||
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<Consumer<Advancement>> {
|
|||
|
||||
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<Consumer<Advancement>> {
|
|||
.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)
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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<Identifier, JsonObject> 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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 extends Entity> E teleport(E entity, World world, BlockPos pos, float yaw) {
|
||||
|
@ -99,7 +96,7 @@ public final class TeleportUtil {
|
|||
}
|
||||
|
||||
public static <E extends Entity> 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 extends Entity> 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,
|
||||
|
|
|
@ -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<T extends Weighted<C>, C> extends ArrayList<T> {
|
||||
private final Random random = new Random();
|
||||
private final Random random = Random.create();
|
||||
private T peekedRandom;
|
||||
private boolean peeked = false;
|
||||
|
||||
|
|
|
@ -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<T, Float> e : weights.entrySet()) {
|
||||
f -= e.getValue();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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()));
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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<Text> 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)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<Text> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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<T extends Enum<T>> implements ArgumentType<T> {
|
||||
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<String, T> values;
|
||||
private final Set<String> valueList;
|
||||
|
||||
|
|
|
@ -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<PocketTemplate> {
|
||||
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 {
|
||||
|
|
|
@ -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<Float> 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;
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<? super EntranceRiftBlockEntity> 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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<Text> 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")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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<Text> 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")));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<Text> 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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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<Text> 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");
|
||||
}
|
||||
|
|
|
@ -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<Text> list, TooltipContext tooltipContext) {
|
||||
list.add(new TranslatableText(this.getTranslationKey() + ".info"));
|
||||
list.add(MutableText.of(new TranslatableTextContent(this.getTranslationKey() + ".info")));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ public class ExplosionMixin {
|
|||
@Mutable @Shadow
|
||||
private List<BlockPos> 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);
|
||||
|
|
|
@ -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<? extends LivingEntity> entityType, World world) {
|
||||
super(entityType, world);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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<PocketExitMarker> 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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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<? extends VirtualTarget> getType() {
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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<RegistryKey<World>, Set<DecayTask>> 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)
|
||||
|
|
|
@ -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<PlacedFeature> ETERNAL_FLUID_SPRING_PLACED_FEATURE = PlacedFeatures.register("dimdoors:eternal_fluid_spring", Configured.ETERNAL_FLUID_SPRING_CONFIGURED_FEATURE, List.of(CountPlacementModifier.of(25), SquarePlacementModifier.of(), HeightRangePlacementModifier.uniform(YOffset.getBottom(), YOffset.fixed(192)), BiomePlacementModifier.of()));
|
||||
|
||||
public static 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()
|
||||
);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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<BlankChunkGenerator> 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<Chunk> populateNoise(Executor executor, Blender blender, StructureAccessor structureAccessor, Chunk chunk) {
|
||||
public CompletableFuture<Chunk> 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<String> text, BlockPos pos) {
|
||||
|
||||
public void getDebugHudText(List<String> text, NoiseConfig noiseConfig, BlockPos pos) {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<BlockState, Integer> CODEC = Codec.unboundedMap(Entry.CODEC, Codec.INT);
|
||||
|
||||
|
@ -32,13 +26,15 @@ public class SchematicBlockPalette {
|
|||
|
||||
static DataResult<BlockState> 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);
|
||||
|
|
Loading…
Reference in a new issue