From f7987570abb7266b8751bc567c9c82fba710e676 Mon Sep 17 00:00:00 2001 From: PepperCode1 <44146161+PepperCode1@users.noreply.github.com> Date: Tue, 31 Jan 2023 16:00:41 -0800 Subject: [PATCH] 1.19.3 Port Part I - Mojang math -> JOML - Use getters for x and y in AbstractWidget - Use Button.builder() - Widget -> Renderable - Registry -> Registries for keys and BuiltInRegistries for registries - Update pack format --- build.gradle | 2 +- gradle.properties | 22 ++++----- .../java/com/simibubi/create/AllBlocks.java | 8 ++-- .../com/simibubi/create/AllRecipeTypes.java | 8 ++-- .../com/simibubi/create/AllSoundEvents.java | 5 +- .../create/AllStructureProcessorTypes.java | 4 +- .../compat/curios/GogglesCurioRenderer.java | 10 ++-- .../jei/category/ItemApplicationCategory.java | 6 +-- .../category/ProcessingViaFanCategory.java | 6 +-- .../animations/AnimatedBlazeBurner.java | 6 +-- .../animations/AnimatedCrushingWheels.java | 8 ++-- .../category/animations/AnimatedDeployer.java | 9 ++-- .../animations/AnimatedItemDrain.java | 6 +-- .../category/animations/AnimatedMixer.java | 6 +-- .../category/animations/AnimatedPress.java | 10 ++-- .../jei/category/animations/AnimatedSaw.java | 9 ++-- .../category/animations/AnimatedSpout.java | 6 +-- .../contraptions/base/flwdata/BeltData.java | 13 ++--- .../contraptions/base/flwdata/BeltType.java | 5 +- .../base/flwdata/KineticData.java | 3 +- .../base/flwdata/RotatingData.java | 2 +- .../base/flwdata/RotatingType.java | 6 ++- .../components/actors/DrillActorInstance.java | 6 ++- .../components/actors/SeatEntity.java | 3 +- .../components/actors/flwdata/ActorData.java | 15 +++--- .../clock/CuckooClockTileEntity.java | 16 +++---- .../crafter/MechanicalCrafterRenderer.java | 10 ++-- .../components/deployer/DeployerInstance.java | 10 ++-- .../components/deployer/DeployerRenderer.java | 17 ++++--- .../components/fan/NozzleTileEntity.java | 4 +- .../components/press/PressInstance.java | 7 +-- .../components/saw/SawRenderer.java | 6 +-- .../components/saw/SawTileEntity.java | 4 +- .../components/steam/SteamJetParticle.java | 16 ++++--- .../AbstractContraptionEntity.java | 6 +-- .../structureMovement/Contraption.java | 11 +++-- .../bearing/BearingInstance.java | 23 ++++----- .../bearing/StabilizedBearingInstance.java | 13 ++--- .../StabilizedBearingMovementBehaviour.java | 11 +++-- .../glue/SuperGlueEntity.java | 3 +- .../pulley/AbstractPulleyInstance.java | 6 +-- .../render/ContraptionMatrices.java | 18 +++---- .../render/ContraptionProgram.java | 2 +- .../render/FlwContraption.java | 7 +-- .../train/CouplingHandlerClient.java | 3 +- .../train/CouplingRenderer.java | 22 ++++----- .../fluids/actors/ItemDrainRenderer.java | 19 ++++---- .../fluids/particle/BasinFluidParticle.java | 7 +-- .../processing/InWorldProcessing.java | 3 +- .../relays/belt/BeltInstance.java | 6 ++- .../relays/belt/BeltRenderer.java | 25 +++++----- .../belt/item/BeltConnectorHandler.java | 3 +- .../BracketedKineticTileInstance.java | 11 ++--- .../BracketedTileEntityBehaviour.java | 3 +- .../relays/encased/EncasedCogInstance.java | 4 +- .../contraptions/relays/gauge/GaugeBlock.java | 3 +- .../wrench/WrenchItemRenderer.java | 4 +- .../bell/CustomRotationParticle.java | 16 ++++--- .../curiosities/bell/SoulBaseParticle.java | 9 ++-- .../curiosities/bell/SoulParticle.java | 12 +++-- .../curiosities/deco/PlacardTileEntity.java | 3 +- .../curiosities/symmetry/SymmetryHandler.java | 3 +- .../symmetry/SymmetryWandScreen.java | 6 ++- .../client/SymmetryWandItemRenderer.java | 4 +- .../toolbox/ToolboxDyeingRecipe.java | 5 +- .../curiosities/tools/BlueprintEntity.java | 3 +- .../curiosities/tools/BlueprintRenderer.java | 12 ++--- .../tools/SandPaperItemRenderer.java | 12 +++-- .../weapons/PotatoCannonItemRenderer.java | 4 +- .../weapons/PotatoProjectileEntity.java | 3 +- .../zapper/ShootableGadgetRenderHandler.java | 20 ++++---- .../curiosities/zapper/ZapperItem.java | 5 +- .../zapper/ZapperRenderHandler.java | 4 +- .../curiosities/zapper/ZapperScreen.java | 6 +-- .../WorldshaperItemRenderer.java | 4 +- .../terrainzapper/WorldshaperScreen.java | 2 +- .../logistics/block/depot/DepotRenderer.java | 8 ++-- .../block/depot/EjectorTargetHandler.java | 3 +- .../logistics/block/flap/FlapData.java | 3 +- .../block/mechanicalArm/ArmRenderer.java | 2 +- .../block/redstone/AnalogLeverBlock.java | 3 +- .../logistics/trains/DimensionPalette.java | 6 +-- .../entity/CarriageContraptionInstance.java | 3 +- .../logistics/trains/entity/Train.java | 4 +- .../display/FlapDisplayRenderer.java | 3 +- .../edgePoint/station/AssemblyScreen.java | 4 +- .../station/NoShadowFontWrapper.java | 3 +- .../edgePoint/station/StationMarker.java | 3 +- .../edgePoint/station/StationScreen.java | 8 ++-- .../edgePoint/station/WideIconButton.java | 2 +- .../management/schedule/ScheduleScreen.java | 6 +-- .../trains/track/StandardBogeyBlock.java | 19 ++++---- .../trains/track/TrackTileEntity.java | 4 +- .../schematics/SchematicChunkSource.java | 6 +-- .../block/SchematicTableScreen.java | 2 +- .../block/SchematicannonRenderer.java | 6 +-- .../simibubi/create/events/CommonEvents.java | 8 +++- .../foundation/ModFilePackResources.java | 2 +- .../create/foundation/collision/Matrix3d.java | 4 +- .../config/ui/ConfigModListScreen.java | 4 +- .../config/ui/HintableTextFieldWidget.java | 2 +- .../config/ui/OpenCreateMenuButton.java | 6 +-- .../config/ui/entries/BooleanEntry.java | 4 +- .../config/ui/entries/EnumEntry.java | 12 ++--- .../config/ui/entries/NumberEntry.java | 8 ++-- .../config/ui/entries/SubMenuEntry.java | 4 +- .../config/ui/entries/ValueEntry.java | 4 +- .../data/recipe/StandardRecipeGen.java | 4 +- .../foundation/gui/AbstractSimiScreen.java | 12 ++--- .../create/foundation/gui/AllIcons.java | 3 +- .../foundation/gui/CreateMainMenuScreen.java | 43 +++++++++-------- .../gui/CustomLightingSettings.java | 22 +++++---- .../create/foundation/gui/ModularGuiLine.java | 6 +-- .../foundation/gui/ModularGuiLineBuilder.java | 2 +- .../foundation/gui/RemovedGuiUtils.java | 3 +- .../create/foundation/gui/UIRenderHelper.java | 12 ++--- .../AbstractSimiContainerScreen.java | 12 ++--- .../foundation/gui/element/BoxElement.java | 3 +- .../gui/element/GuiGameElement.java | 8 ++-- .../gui/widget/AbstractSimiWidget.java | 4 +- .../foundation/gui/widget/BoxWidget.java | 4 +- .../foundation/gui/widget/ElementWidget.java | 2 +- .../foundation/gui/widget/IconButton.java | 6 +-- .../foundation/gui/widget/Indicator.java | 2 +- .../create/foundation/gui/widget/Label.java | 4 +- .../foundation/gui/widget/TooltipArea.java | 2 +- .../foundation/item/CreateItemGroupBase.java | 6 +-- .../mixin/MapRendererMapInstanceMixin.java | 2 +- .../create/foundation/ponder/PonderScene.java | 6 +-- .../foundation/ponder/SceneBuilder.java | 3 +- .../ponder/element/TextWindowElement.java | 3 +- .../ponder/element/WorldSectionElement.java | 7 +-- .../foundation/ponder/ui/ChapterLabel.java | 6 +-- .../ponder/ui/NavigatableSimiScreen.java | 4 +- .../foundation/ponder/ui/PonderButton.java | 2 +- .../ponder/ui/PonderProgressBar.java | 10 ++-- .../create/foundation/ponder/ui/PonderUI.java | 47 ++++++++++--------- .../create/foundation/render/RenderTypes.java | 6 +-- .../foundation/render/SuperByteBuffer.java | 44 +++++++++-------- .../render/TileEntityRenderHelper.java | 7 +-- .../tileEntity/behaviour/ValueBox.java | 7 +-- .../foundation/utility/BlockHelper.java | 4 +- .../create/foundation/utility/Color.java | 3 +- .../create/foundation/utility/FontHelper.java | 3 +- .../foundation/utility/RemapHelper.java | 8 ++-- .../create/foundation/utility/TreeCutter.java | 4 +- .../create/foundation/utility/VecHelper.java | 28 +++++------ .../foundation/utility/WorldHelper.java | 4 +- .../foundation/utility/outliner/Outline.java | 3 +- .../utility/placement/PlacementHelpers.java | 7 +-- .../utility/recipe/BlockTagIngredient.java | 6 +-- .../worldWrappers/DummyLevelEntityGetter.java | 5 +- .../worldgen/AllOreFeatureConfigEntries.java | 6 +-- .../worldgen/AllPlacementModifiers.java | 4 +- .../worldgen/BuiltinRegistration.java | 6 +-- .../worldgen/OreFeatureConfigEntry.java | 13 ++--- src/main/resources/META-INF/mods.toml | 6 +-- src/main/resources/pack.mcmeta | 2 +- .../resourcepacks/legacy_copper/pack.mcmeta | 2 +- 159 files changed, 635 insertions(+), 569 deletions(-) diff --git a/build.gradle b/build.gradle index 68c057e1c..cca0de726 100644 --- a/build.gradle +++ b/build.gradle @@ -140,7 +140,7 @@ repositories { dependencies { minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}" - jarJar(group: 'com.tterrag.registrate', name: 'Registrate', version: '[MC1.19-1.1.5,)') { + jarJar(group: 'com.tterrag.registrate', name: 'Registrate', version: '[MC1.19.3-1.1.10,)') { jarJar.pin(it, project.registrate_version) } jarJar(group: 'com.jozufozu.flywheel', name: "flywheel-forge-${flywheel_minecraft_version}", version: '[0.6.8,0.6.9)') { diff --git a/gradle.properties b/gradle.properties index be9c57960..ef86a2ea9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,10 +5,10 @@ org.gradle.daemon = false # mod version info mod_version = 0.5.0.i -artifact_minecraft_version = 1.19.2 +artifact_minecraft_version = 1.19.3 -minecraft_version = 1.19.2 -forge_version = 43.2.4 +minecraft_version = 1.19.3 +forge_version = 44.1.8 # build dependency versions forgegradle_version = 5.1.53 @@ -16,16 +16,16 @@ mixingradle_version = 0.7-SNAPSHOT mixin_version = 0.8.5 librarian_version = 1.+ cursegradle_version = 1.4.0 -parchment_version = 2022.11.06 +parchment_version = 2022.12.18 # dependency versions -registrate_version = MC1.19-1.1.5 -flywheel_minecraft_version = 1.19.2 -flywheel_version = 0.6.8.a-14 -jei_minecraft_version = 1.19.2 -jei_version = 11.2.0.254 -curios_minecraft_version = 1.19.2 -curios_version = 5.1.1.0 +registrate_version = MC1.19.3-1.1.10 +flywheel_minecraft_version = 1.19.3 +flywheel_version = 0.6.8.a-1 +jei_minecraft_version = 1.19.3 +jei_version = 12.1.1.13 +curios_minecraft_version = 1.19.3 +curios_version = 5.1.2.0 # curseforge information projectId = 328085 diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index b25c89fd6..463ddf8b5 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -242,7 +242,7 @@ import com.tterrag.registrate.util.entry.BlockEntry; import net.minecraft.client.renderer.RenderType; import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.data.recipes.ShapelessRecipeBuilder; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BlockTags; @@ -572,7 +572,7 @@ public class AllBlocks { .transform(axeOrPickaxe()) .transform(BuilderTransformers.cuckooClock()) .lang("Cuckoo Clock") - .onRegisterAfter(Registry.ITEM_REGISTRY, c -> TooltipHelper.referTo(c, CUCKOO_CLOCK)) + .onRegisterAfter(Registries.ITEM, c -> TooltipHelper.referTo(c, CUCKOO_CLOCK)) .register(); public static final BlockEntry MILLSTONE = REGISTRATE.block("millstone", MillstoneBlock::new) @@ -1339,7 +1339,7 @@ public class AllBlocks { .unlockedBy("has_seat", RegistrateRecipeProvider.has(AllItemTags.SEATS.tag)) .save(p, Create.asResource("crafting/kinetics/" + c.getName() + "_from_other_seat")); }) - .onRegisterAfter(Registry.ITEM_REGISTRY, v -> TooltipHelper.referTo(v, "block.create.brown_seat")) + .onRegisterAfter(Registries.ITEM, v -> TooltipHelper.referTo(v, "block.create.brown_seat")) .tag(AllBlockTags.SEATS.tag) .item() .tag(AllItemTags.SEATS.tag) @@ -1955,7 +1955,7 @@ public class AllBlocks { .withExistingParent(colourName + "_toolbox", p.modLoc("block/toolbox/block")) .texture("0", p.modLoc("block/toolbox/" + colourName))); }) - .onRegisterAfter(Registry.ITEM_REGISTRY, v -> TooltipHelper.referTo(v, "block.create.toolbox")) + .onRegisterAfter(Registries.ITEM, v -> TooltipHelper.referTo(v, "block.create.toolbox")) .tag(AllBlockTags.TOOLBOXES.tag) .item(UncontainableBlockItem::new) .model((c, p) -> p.withExistingParent(colourName + "_toolbox", p.modLoc("block/toolbox/item")) diff --git a/src/main/java/com/simibubi/create/AllRecipeTypes.java b/src/main/java/com/simibubi/create/AllRecipeTypes.java index 08e8ffffe..67082d834 100644 --- a/src/main/java/com/simibubi/create/AllRecipeTypes.java +++ b/src/main/java/com/simibubi/create/AllRecipeTypes.java @@ -31,14 +31,14 @@ import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.RegisteredObjects; import com.simibubi.create.foundation.utility.recipe.IRecipeTypeInfo; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.Container; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.item.crafting.ShapedRecipe; -import net.minecraft.world.item.crafting.SimpleRecipeSerializer; +import net.minecraft.world.item.crafting.SimpleCraftingRecipeSerializer; import net.minecraft.world.level.Level; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; @@ -66,7 +66,7 @@ public enum AllRecipeTypes implements IRecipeTypeInfo { MECHANICAL_CRAFTING(MechanicalCraftingRecipe.Serializer::new), SEQUENCED_ASSEMBLY(SequencedAssemblyRecipeSerializer::new), - TOOLBOX_DYEING(() -> new SimpleRecipeSerializer<>(ToolboxDyeingRecipe::new), () -> RecipeType.CRAFTING, false); + TOOLBOX_DYEING(() -> new SimpleCraftingRecipeSerializer<>(ToolboxDyeingRecipe::new), () -> RecipeType.CRAFTING, false); private final ResourceLocation id; private final RegistryObject> serializerObject; @@ -141,7 +141,7 @@ public enum AllRecipeTypes implements IRecipeTypeInfo { private static class Registers { private static final DeferredRegister> SERIALIZER_REGISTER = DeferredRegister.create(ForgeRegistries.RECIPE_SERIALIZERS, Create.ID); - private static final DeferredRegister> TYPE_REGISTER = DeferredRegister.create(Registry.RECIPE_TYPE_REGISTRY, Create.ID); + private static final DeferredRegister> TYPE_REGISTER = DeferredRegister.create(Registries.RECIPE_TYPE, Create.ID); } } diff --git a/src/main/java/com/simibubi/create/AllSoundEvents.java b/src/main/java/com/simibubi/create/AllSoundEvents.java index 863a39757..21efa0b29 100644 --- a/src/main/java/com/simibubi/create/AllSoundEvents.java +++ b/src/main/java/com/simibubi/create/AllSoundEvents.java @@ -10,9 +10,10 @@ import java.util.function.Supplier; import com.google.gson.JsonArray; import com.google.gson.JsonObject; +import com.simibubi.create.AllSoundEvents.SoundEntry; -import net.minecraft.core.Registry; import net.minecraft.core.Vec3i; +import net.minecraft.core.registries.Registries; import net.minecraft.data.CachedOutput; import net.minecraft.data.DataGenerator; import net.minecraft.data.DataProvider; @@ -311,7 +312,7 @@ public class AllSoundEvents { } public static void register(RegisterEvent event) { - event.register(Registry.SOUND_EVENT_REGISTRY, helper -> { + event.register(Registries.SOUND_EVENT, helper -> { for (SoundEntry entry : ALL.values()) entry.register(helper); }); diff --git a/src/main/java/com/simibubi/create/AllStructureProcessorTypes.java b/src/main/java/com/simibubi/create/AllStructureProcessorTypes.java index 047f68f9a..f767e2d80 100644 --- a/src/main/java/com/simibubi/create/AllStructureProcessorTypes.java +++ b/src/main/java/com/simibubi/create/AllStructureProcessorTypes.java @@ -2,14 +2,14 @@ package com.simibubi.create; import com.simibubi.create.content.schematics.SchematicProcessor; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.world.level.levelgen.structure.templatesystem.StructureProcessorType; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.RegistryObject; public class AllStructureProcessorTypes { - private static final DeferredRegister> REGISTER = DeferredRegister.create(Registry.STRUCTURE_PROCESSOR_REGISTRY, Create.ID); + private static final DeferredRegister> REGISTER = DeferredRegister.create(Registries.STRUCTURE_PROCESSOR, Create.ID); public static final RegistryObject> SCHEMATIC = REGISTER.register("schematic", () -> () -> SchematicProcessor.CODEC); diff --git a/src/main/java/com/simibubi/create/compat/curios/GogglesCurioRenderer.java b/src/main/java/com/simibubi/create/compat/curios/GogglesCurioRenderer.java index 25a243fc2..a76ee63b2 100644 --- a/src/main/java/com/simibubi/create/compat/curios/GogglesCurioRenderer.java +++ b/src/main/java/com/simibubi/create/compat/curios/GogglesCurioRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.compat.curios; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.Create; import net.minecraft.client.Minecraft; @@ -46,16 +46,16 @@ public class GogglesCurioRenderer implements ICurioRenderer { // Translate and rotate with our head matrixStack.pushPose(); matrixStack.translate(model.head.x / 16.0, model.head.y / 16.0, model.head.z / 16.0); - matrixStack.mulPose(Vector3f.YP.rotation(model.head.yRot)); - matrixStack.mulPose(Vector3f.XP.rotation(model.head.xRot)); + matrixStack.mulPose(Axis.YP.rotation(model.head.yRot)); + matrixStack.mulPose(Axis.XP.rotation(model.head.xRot)); // Translate and scale to our head matrixStack.translate(0, -0.25, 0); - matrixStack.mulPose(Vector3f.ZP.rotationDegrees(180.0f)); + matrixStack.mulPose(Axis.ZP.rotationDegrees(180.0f)); matrixStack.scale(0.625f, 0.625f, 0.625f); if(!slotContext.entity().getItemBySlot(EquipmentSlot.HEAD).isEmpty()) { - matrixStack.mulPose(Vector3f.ZP.rotationDegrees(180.0f)); + matrixStack.mulPose(Axis.ZP.rotationDegrees(180.0f)); matrixStack.translate(0, -0.25, 0); } diff --git a/src/main/java/com/simibubi/create/compat/jei/category/ItemApplicationCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/ItemApplicationCategory.java index a24f3e258..c68bdeb79 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/ItemApplicationCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/ItemApplicationCategory.java @@ -6,7 +6,7 @@ import java.util.Optional; import javax.annotation.ParametersAreNonnullByDefault; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.compat.jei.category.animations.AnimatedKinetics; import com.simibubi.create.content.contraptions.processing.ItemApplicationRecipe; import com.simibubi.create.content.contraptions.processing.ProcessingOutput; @@ -82,8 +82,8 @@ public class ItemApplicationCategory extends CreateRecipeCategory> extends Crea matrixStack.pushPose(); translateFan(matrixStack); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-12.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-12.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); AnimatedKinetics.defaultBlockElement(AllBlockPartials.ENCASED_FAN_INNER) .rotateBlock(180, 0, AnimatedKinetics.getCurrentAngle() * 16) diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java index 3f76002bf..a15702e24 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedBlazeBurner.java @@ -3,7 +3,7 @@ package com.simibubi.create.compat.jei.category.animations; import com.jozufozu.flywheel.core.PartialModel; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSpriteShifts; @@ -31,8 +31,8 @@ public class AnimatedBlazeBurner extends AnimatedKinetics { public void draw(PoseStack matrixStack, int xOffset, int yOffset) { matrixStack.pushPose(); matrixStack.translate(xOffset, yOffset, 200); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-15.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); int scale = 23; float offset = (Mth.sin(AnimationTickHolder.getRenderTime() / 16f) + 0.5f) / 16f; diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java index 0833929ab..e73a099b0 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedCrushingWheels.java @@ -1,23 +1,23 @@ package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlocks; -import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.block.state.properties.BlockStateProperties; public class AnimatedCrushingWheels extends AnimatedKinetics { private final BlockState wheel = AllBlocks.CRUSHING_WHEEL.getDefaultState() - .setValue(BlockStateProperties.AXIS, Axis.X); + .setValue(BlockStateProperties.AXIS, Direction.Axis.X); @Override public void draw(PoseStack matrixStack, int xOffset, int yOffset) { matrixStack.pushPose(); matrixStack.translate(xOffset, yOffset, 100); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(-22.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(-22.5f)); int scale = 22; blockElement(wheel) diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedDeployer.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedDeployer.java index 218aa985c..b82b78bf9 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedDeployer.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedDeployer.java @@ -1,14 +1,13 @@ package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.components.deployer.DeployerBlock; import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.core.Direction; -import net.minecraft.core.Direction.Axis; public class AnimatedDeployer extends AnimatedKinetics { @@ -16,11 +15,11 @@ public class AnimatedDeployer extends AnimatedKinetics { public void draw(PoseStack matrixStack, int xOffset, int yOffset) { matrixStack.pushPose(); matrixStack.translate(xOffset, yOffset, 100); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-15.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); int scale = 20; - blockElement(shaft(Axis.Z)) + blockElement(shaft(Direction.Axis.Z)) .rotateBlock(0, 0, getCurrentAngle()) .scale(scale) .render(matrixStack); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedItemDrain.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedItemDrain.java index 1c7e56913..427dcba38 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedItemDrain.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedItemDrain.java @@ -2,7 +2,7 @@ package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.fluid.FluidRenderer; import com.simibubi.create.foundation.gui.UIRenderHelper; @@ -25,8 +25,8 @@ public class AnimatedItemDrain extends AnimatedKinetics { public void draw(PoseStack matrixStack, int xOffset, int yOffset) { matrixStack.pushPose(); matrixStack.translate(xOffset, yOffset, 100); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-15.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); int scale = 20; blockElement(AllBlocks.ITEM_DRAIN.getDefaultState()) diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java index fa041a418..9c820e01f 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedMixer.java @@ -1,7 +1,7 @@ package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -14,8 +14,8 @@ public class AnimatedMixer extends AnimatedKinetics { public void draw(PoseStack matrixStack, int xOffset, int yOffset) { matrixStack.pushPose(); matrixStack.translate(xOffset, yOffset, 200); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-15.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); int scale = 23; blockElement(cogwheel()) diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java index 26b0c1061..a3c0dc589 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedPress.java @@ -1,12 +1,12 @@ package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.utility.AnimationTickHolder; -import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction; public class AnimatedPress extends AnimatedKinetics { @@ -20,11 +20,11 @@ public class AnimatedPress extends AnimatedKinetics { public void draw(PoseStack matrixStack, int xOffset, int yOffset) { matrixStack.pushPose(); matrixStack.translate(xOffset, yOffset, 200); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-15.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); int scale = basin ? 23 : 24; - blockElement(shaft(Axis.Z)) + blockElement(shaft(Direction.Axis.Z)) .rotateBlock(0, 0, getCurrentAngle()) .scale(scale) .render(matrixStack); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java index 97990ddee..45c91b8ce 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSaw.java @@ -1,13 +1,12 @@ package com.simibubi.create.compat.jei.category.animations; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.content.contraptions.components.saw.SawBlock; import net.minecraft.core.Direction; -import net.minecraft.core.Direction.Axis; public class AnimatedSaw extends AnimatedKinetics { @@ -17,11 +16,11 @@ public class AnimatedSaw extends AnimatedKinetics { matrixStack.translate(xOffset, yOffset, 0); matrixStack.translate(0, 0, 200); matrixStack.translate(2, 22, 0); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-15.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f + 90)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f + 90)); int scale = 25; - blockElement(shaft(Axis.X)) + blockElement(shaft(Direction.Axis.X)) .rotateBlock(-getCurrentAngle(), 0, 0) .scale(scale) .render(matrixStack); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSpout.java b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSpout.java index faac26a70..cd227210a 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSpout.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/animations/AnimatedSpout.java @@ -5,7 +5,7 @@ import java.util.List; import com.mojang.blaze3d.platform.Lighting; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.fluid.FluidRenderer; @@ -31,8 +31,8 @@ public class AnimatedSpout extends AnimatedKinetics { public void draw(PoseStack matrixStack, int xOffset, int yOffset) { matrixStack.pushPose(); matrixStack.translate(xOffset, yOffset, 100); - matrixStack.mulPose(Vector3f.XP.rotationDegrees(-15.5f)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees(22.5f)); + matrixStack.mulPose(Axis.XP.rotationDegrees(-15.5f)); + matrixStack.mulPose(Axis.YP.rotationDegrees(22.5f)); int scale = 20; blockElement(AllBlocks.SPOUT.getDefaultState()) diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltData.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltData.java index 5b89864f9..935bc68b9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltData.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltData.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.contraptions.base.flwdata; -import com.mojang.math.Quaternion; +import org.joml.Quaternionf; + import com.simibubi.create.foundation.block.render.SpriteShiftEntry; import net.minecraft.client.renderer.texture.TextureAtlasSprite; @@ -18,11 +19,11 @@ public class BeltData extends KineticData { float maxV; byte scrollMult; - public BeltData setRotation(Quaternion q) { - this.qX = q.i(); - this.qY = q.j(); - this.qZ = q.k(); - this.qW = q.r(); + public BeltData setRotation(Quaternionf q) { + this.qX = q.x(); + this.qY = q.y(); + this.qZ = q.z(); + this.qW = q.w(); markDirty(); return this; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java index b7ab909ce..d881d28ee 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/BeltType.java @@ -1,5 +1,7 @@ package com.simibubi.create.content.contraptions.base.flwdata; +import org.joml.Quaternionf; + import com.jozufozu.flywheel.api.struct.Batched; import com.jozufozu.flywheel.api.struct.Instanced; import com.jozufozu.flywheel.api.struct.StructWriter; @@ -7,7 +9,6 @@ import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; import com.jozufozu.flywheel.core.layout.BufferLayout; import com.jozufozu.flywheel.core.model.ModelTransformer; import com.jozufozu.flywheel.util.RenderMath; -import com.mojang.math.Quaternion; import com.simibubi.create.content.contraptions.KineticDebugger; import com.simibubi.create.foundation.render.AllInstanceFormats; import com.simibubi.create.foundation.render.AllProgramSpecs; @@ -52,7 +53,7 @@ public class BeltType implements Instanced, Batched { }); b.translate(d.x + 0.5, d.y + 0.5, d.z + 0.5) - .multiply(new Quaternion(d.qX, d.qY, d.qZ, d.qW)) + .multiply(new Quaternionf(d.qX, d.qY, d.qZ, d.qW)) .unCentre() .light(d.getPackedLight()); if (KineticDebugger.isActive()) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java index 88f97c572..85c016538 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/KineticData.java @@ -1,7 +1,8 @@ package com.simibubi.create.content.contraptions.base.flwdata; +import org.joml.Vector3f; + import com.jozufozu.flywheel.core.materials.BasicData; -import com.mojang.math.Vector3f; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.foundation.utility.Color; diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingData.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingData.java index 2431f86b5..99820725a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingData.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingData.java @@ -1,6 +1,6 @@ package com.simibubi.create.content.contraptions.base.flwdata; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; import net.minecraft.core.Direction; diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java index bef2e4722..43b71c8db 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/flwdata/RotatingType.java @@ -1,5 +1,7 @@ package com.simibubi.create.content.contraptions.base.flwdata; +import org.joml.Vector3f; + import com.jozufozu.flywheel.api.struct.Batched; import com.jozufozu.flywheel.api.struct.Instanced; import com.jozufozu.flywheel.api.struct.StructWriter; @@ -7,7 +9,7 @@ import com.jozufozu.flywheel.backend.gl.buffer.VecBuffer; import com.jozufozu.flywheel.core.layout.BufferLayout; import com.jozufozu.flywheel.core.model.ModelTransformer; import com.jozufozu.flywheel.util.RenderMath; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.content.contraptions.KineticDebugger; import com.simibubi.create.foundation.render.AllInstanceFormats; import com.simibubi.create.foundation.render.AllProgramSpecs; @@ -40,7 +42,7 @@ public class RotatingType implements Instanced, Batched getAddEntityPacket() { + public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorData.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorData.java index 8432de748..9e232353f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorData.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/flwdata/ActorData.java @@ -1,8 +1,9 @@ package com.simibubi.create.content.contraptions.components.actors.flwdata; +import org.joml.Quaternionf; +import org.joml.Vector3f; + import com.jozufozu.flywheel.api.InstanceData; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; import net.minecraft.core.BlockPos; @@ -83,11 +84,11 @@ public class ActorData extends InstanceData { return this; } - public ActorData setLocalRotation(Quaternion q) { - this.qX = q.i(); - this.qY = q.j(); - this.qZ = q.k(); - this.qW = q.r(); + public ActorData setLocalRotation(Quaternionf q) { + this.qX = q.x(); + this.qY = q.y(); + this.qZ = q.z(); + this.qW = q.w(); markDirty(); return this; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java index 2367a0a23..846711cf1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockTileEntity.java @@ -19,7 +19,7 @@ import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.level.Explosion; +import net.minecraft.world.level.Level.ExplosionInteraction; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.phys.Vec3; @@ -83,9 +83,9 @@ public class CuckooClockTileEntity extends KineticTileEntity { moveHands(hours, minutes); if (AnimationTickHolder.getTicks() % 6 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT, 1 / 16f, 2f); + playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 2f); else if (AnimationTickHolder.getTicks() % 3 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT, 1 / 16f, 1.5f); + playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 1.5f); } return; } @@ -106,7 +106,7 @@ public class CuckooClockTileEntity extends KineticTileEntity { Vec3 center = VecHelper.getCenterOf(worldPosition); level.destroyBlock(worldPosition, false); level.explode(null, CUCKOO_SURPRISE, null, center.x, center.y, center.z, 3, false, - Explosion.BlockInteraction.BREAK); + ExplosionInteraction.BLOCK); } } @@ -117,9 +117,9 @@ public class CuckooClockTileEntity extends KineticTileEntity { if (animationType == Animation.NONE) { if (AnimationTickHolder.getTicks() % 32 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT, 1 / 16f, 2f); + playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 2f); else if (AnimationTickHolder.getTicks() % 16 == 0) - playSound(SoundEvents.NOTE_BLOCK_HAT, 1 / 16f, 1.5f); + playSound(SoundEvents.NOTE_BLOCK_HAT.get(), 1 / 16f, 1.5f); } else { boolean isSurprise = animationType == Animation.SURPRISE; @@ -131,9 +131,9 @@ public class CuckooClockTileEntity extends KineticTileEntity { // sounds if (value == 1) - playSound(SoundEvents.NOTE_BLOCK_CHIME, 2, .5f); + playSound(SoundEvents.NOTE_BLOCK_CHIME.get(), 2, .5f); if (value == 21) - playSound(SoundEvents.NOTE_BLOCK_CHIME, 2, 0.793701f); + playSound(SoundEvents.NOTE_BLOCK_CHIME.get(), 2, 0.793701f); if (value > 30 && isSurprise) { Vec3 pos = VecHelper.offsetRandomly(VecHelper.getCenterOf(this.worldPosition), level.random, .5f); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java index 72a648e76..62ddecd4d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crafter/MechanicalCrafterRenderer.java @@ -8,7 +8,7 @@ import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllSpriteShifts; import com.simibubi.create.content.contraptions.components.crafter.MechanicalCrafterTileEntity.Phase; @@ -58,7 +58,7 @@ public class MechanicalCrafterRenderer extends SafeTileEntityRenderer float xRot = facing == Direction.UP ? 90 : facing == Direction.DOWN ? 270 : 0; boolean displayMode = facing == Direction.UP && te.getSpeed() == 0 && !punching; - ms.mulPose(Vector3f.YP.rotationDegrees(yRot)); + ms.mulPose(Axis.YP.rotationDegrees(yRot)); if (!displayMode) { - ms.mulPose(Vector3f.XP.rotationDegrees(xRot)); + ms.mulPose(Axis.XP.rotationDegrees(xRot)); ms.translate(0, 0, -11 / 16f); } @@ -98,7 +97,7 @@ public class DeployerRenderer extends SafeTileEntityRenderer ms.translate(0, isBlockItem ? 9 / 16f : 11 / 16f, 0); ms.scale(scale, scale, scale); transform = TransformType.GROUND; - ms.mulPose(Vector3f.YP.rotationDegrees(AnimationTickHolder.getRenderTime(te.getLevel()))); + ms.mulPose(Axis.YP.rotationDegrees(AnimationTickHolder.getRenderTime(te.getLevel()))); } else { float scale = punching ? .75f : isBlockItem ? .75f - 1 / 64f : .5f; @@ -146,7 +145,7 @@ public class DeployerRenderer extends SafeTileEntityRenderer float yRot = AngleHelper.horizontalAngle(facing); float xRot = facing == Direction.UP ? 270 : facing == Direction.DOWN ? 90 : 0; float zRot = - axisDirectionMatters && (deployerState.getValue(AXIS_ALONG_FIRST_COORDINATE) ^ facing.getAxis() == Axis.Z) ? 90 + axisDirectionMatters && (deployerState.getValue(AXIS_ALONG_FIRST_COORDINATE) ^ facing.getAxis() == Direction.Axis.Z) ? 90 : 0; buffer.rotateCentered(Direction.UP, (float) ((yRot) / 180 * Math.PI)); @@ -188,7 +187,7 @@ public class DeployerRenderer extends SafeTileEntityRenderer m.pushPose(); m.pushPose(); - Axis axis = Axis.Y; + Direction.Axis axis = Direction.Axis.Y; if (context.state.getBlock() instanceof IRotate) { IRotate def = (IRotate) context.state.getBlock(); axis = def.getRotationAxis(context.state); @@ -199,11 +198,11 @@ public class DeployerRenderer extends SafeTileEntityRenderer TransformStack.cast(m) .centre() - .rotateY(axis == Axis.Z ? 90 : 0) + .rotateY(axis == Direction.Axis.Z ? 90 : 0) .rotateZ(axis.isHorizontal() ? 90 : 0) .unCentre(); shaft.transform(m); - shaft.rotateCentered(Direction.get(AxisDirection.POSITIVE, Axis.Y), angle); + shaft.rotateCentered(Direction.get(AxisDirection.POSITIVE, Direction.Axis.Y), angle); m.popPose(); m.translate(offset.x, offset.y, offset.z); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java index c5b912999..f39b1d43c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/fan/NozzleTileEntity.java @@ -19,7 +19,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.ClipContext.Block; import net.minecraft.world.level.ClipContext.Fluid; -import net.minecraft.world.level.Explosion.BlockInteraction; +import net.minecraft.world.level.Level.ExplosionInteraction; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; @@ -171,7 +171,7 @@ public class NozzleTileEntity extends SmartTileEntity { } if (!pushing && pushingEntities.size() > 256 && !level.isClientSide) { - level.explode(null, center.x, center.y, center.z, 2, BlockInteraction.NONE); + level.explode(null, center.x, center.y, center.z, 2, ExplosionInteraction.NONE); for (Iterator iterator = pushingEntities.iterator(); iterator.hasNext();) { Entity entity = iterator.next(); entity.discard(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java index 25d7271e3..2d4d8b033 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/press/PressInstance.java @@ -1,11 +1,12 @@ package com.simibubi.create.content.contraptions.components.press; +import org.joml.Quaternionf; + import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.api.instance.DynamicInstance; import com.jozufozu.flywheel.core.Materials; import com.jozufozu.flywheel.core.materials.oriented.OrientedData; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; import com.simibubi.create.foundation.utility.AngleHelper; @@ -25,7 +26,7 @@ public class PressInstance extends ShaftInstance implements DynamicInstance { .getModel(AllBlockPartials.MECHANICAL_PRESS_HEAD, blockState) .createInstance(); - Quaternion q = Vector3f.YP + Quaternionf q = Axis.YP .rotationDegrees(AngleHelper.horizontalAngle(blockState.getValue(MechanicalPressBlock.HORIZONTAL_FACING))); pressHead.setRotation(q); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java index 6da19d6a5..c409fed17 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawRenderer.java @@ -6,7 +6,7 @@ import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; @@ -132,8 +132,8 @@ public class SawRenderer extends SafeTileEntityRenderer { ms.scale(.5f, .5f, .5f); if (alongZ) - ms.mulPose(Vector3f.YP.rotationDegrees(90)); - ms.mulPose(Vector3f.XP.rotationDegrees(90)); + ms.mulPose(Axis.YP.rotationDegrees(90)); + ms.mulPose(Axis.XP.rotationDegrees(90)); itemRenderer.renderStatic(stack, ItemTransforms.TransformType.FIXED, light, overlay, ms, buffer, 0); break; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java index 4de40e736..39b90ab0f 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/saw/SawTileEntity.java @@ -48,7 +48,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Recipe; import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.item.crafting.StonecutterRecipe; -import net.minecraft.world.level.block.BambooBlock; +import net.minecraft.world.level.block.BambooStalkBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.CactusBlock; import net.minecraft.world.level.block.ChorusPlantBlock; @@ -488,7 +488,7 @@ public class SawTileEntity extends BlockBreakingKineticTileEntity { if (TreeCutter.isRoot(stateToBreak)) return true; Block block = stateToBreak.getBlock(); - if (block instanceof BambooBlock) + if (block instanceof BambooStalkBlock) return true; if (block instanceof StemGrownBlock) return true; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamJetParticle.java b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamJetParticle.java index 5f1f70c1f..35030de4b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamJetParticle.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/steam/SteamJetParticle.java @@ -1,8 +1,10 @@ package com.simibubi.create.content.contraptions.components.steam; +import org.joml.Quaternionf; +import org.joml.Vector3f; + import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import net.minecraft.client.Camera; import net.minecraft.client.multiplayer.ClientLevel; @@ -53,11 +55,11 @@ public class SteamJetParticle extends SimpleAnimatedParticle { float f4 = this.getQuadSize(pPartialTicks); for (int i = 0; i < 4; i++) { - Quaternion quaternion = new Quaternion(Vector3f.YP, yaw, false); - quaternion.mul(Vector3f.XP.rotation(pitch)); - quaternion.mul(Vector3f.YP.rotation(f3 + Mth.PI / 2 * i + roll)); + Quaternionf quaternion = Axis.YP.rotation(yaw); + quaternion.mul(Axis.XP.rotation(pitch)); + quaternion.mul(Axis.YP.rotation(f3 + Mth.PI / 2 * i + roll)); Vector3f vector3f1 = new Vector3f(-1.0F, -1.0F, 0.0F); - vector3f1.transform(quaternion); + vector3f1.rotate(quaternion); Vector3f[] avector3f = new Vector3f[] { new Vector3f(-1.0F, -1.0F, 0.0F), new Vector3f(-1.0F, 1.0F, 0.0F), new Vector3f(1.0F, 1.0F, 0.0F), new Vector3f(1.0F, -1.0F, 0.0F) }; @@ -65,7 +67,7 @@ public class SteamJetParticle extends SimpleAnimatedParticle { for (int j = 0; j < 4; ++j) { Vector3f vector3f = avector3f[j]; vector3f.add(0, 1, 0); - vector3f.transform(quaternion); + vector3f.rotate(quaternion); vector3f.mul(f4); vector3f.add(f, f1, f2); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java index 764f9b643..b84fa3cf1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/AbstractContraptionEntity.java @@ -10,8 +10,6 @@ import java.util.UUID; import javax.annotation.Nullable; -import com.simibubi.create.foundation.utility.ContraptionData; - import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.lang3.tuple.MutablePair; @@ -37,6 +35,7 @@ import com.simibubi.create.foundation.collision.Matrix3d; import com.simibubi.create.foundation.mixin.accessor.ServerLevelAccessor; import com.simibubi.create.foundation.networking.AllPackets; import com.simibubi.create.foundation.utility.AngleHelper; +import com.simibubi.create.foundation.utility.ContraptionData; import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.client.Minecraft; @@ -47,6 +46,7 @@ import net.minecraft.nbt.Tag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.Packet; +import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; @@ -587,7 +587,7 @@ public abstract class AbstractContraptionEntity extends Entity implements IEntit } @Override - public Packet getAddEntityPacket() { + public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java index 8d5cb27cb..da57caced 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/Contraption.java @@ -79,6 +79,8 @@ import com.simibubi.create.foundation.utility.UniqueLinkedList; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; +import net.minecraft.core.HolderGetter; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.NbtUtils; @@ -836,6 +838,7 @@ public abstract class Contraption { } private void readBlocksCompound(Tag compound, Level world, boolean usePalettedDeserialization) { + HolderGetter holderGetter = world.holderLookup(Registries.BLOCK); HashMapPalette palette = null; ListTag blockList; if (usePalettedDeserialization) { @@ -847,7 +850,7 @@ public abstract class Contraption { ListTag list = c.getList("Palette", 10); palette.values.clear(); for (int i = 0; i < list.size(); ++i) - palette.values.add(NbtUtils.readBlockState(list.getCompound(i))); + palette.values.add(NbtUtils.readBlockState(holderGetter, list.getCompound(i))); blockList = c.getList("BlockList", 10); } else { @@ -859,7 +862,7 @@ public abstract class Contraption { CompoundTag c = (CompoundTag) e; StructureBlockInfo info = - usePalettedDeserialization ? readStructureBlockInfo(c, finalPalette) : legacyReadStructureBlockInfo(c); + usePalettedDeserialization ? readStructureBlockInfo(c, finalPalette) : legacyReadStructureBlockInfo(c, holderGetter); this.blocks.put(info.pos, info); @@ -902,9 +905,9 @@ public abstract class Contraption { blockListEntry.contains("Data") ? blockListEntry.getCompound("Data") : null); } - private static StructureBlockInfo legacyReadStructureBlockInfo(CompoundTag blockListEntry) { + private static StructureBlockInfo legacyReadStructureBlockInfo(CompoundTag blockListEntry, HolderGetter holderGetter) { return new StructureBlockInfo(NbtUtils.readBlockPos(blockListEntry.getCompound("Pos")), - NbtUtils.readBlockState(blockListEntry.getCompound("Block")), + NbtUtils.readBlockState(holderGetter, blockListEntry.getCompound("Block")), blockListEntry.contains("Data") ? blockListEntry.getCompound("Data") : null); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java index e4f303402..e7ea2ede5 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/BearingInstance.java @@ -1,11 +1,12 @@ package com.simibubi.create.content.contraptions.components.structureMovement.bearing; +import org.joml.Quaternionf; + import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.api.instance.DynamicInstance; import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.core.materials.oriented.OrientedData; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.BackHalfShaftInstance; import com.simibubi.create.content.contraptions.base.KineticTileEntity; @@ -20,15 +21,15 @@ public class BearingInstance e final OrientedData topInstance; - final Vector3f rotationAxis; - final Quaternion blockOrientation; + final Axis rotationAxis; + final Quaternionf blockOrientation; public BearingInstance(MaterialManager modelManager, B tile) { super(modelManager, tile); this.bearing = tile; Direction facing = blockState.getValue(BlockStateProperties.FACING); - rotationAxis = Direction.get(Direction.AxisDirection.POSITIVE, axis).step(); + rotationAxis = Axis.of(Direction.get(Direction.AxisDirection.POSITIVE, axis).step()); blockOrientation = getBlockStateOrientation(facing); @@ -44,7 +45,7 @@ public class BearingInstance e public void beginFrame() { float interpolatedAngle = bearing.getInterpolatedAngle(AnimationTickHolder.getPartialTicks() - 1); - Quaternion rot = rotationAxis.rotationDegrees(interpolatedAngle); + Quaternionf rot = rotationAxis.rotationDegrees(interpolatedAngle); rot.mul(blockOrientation); @@ -63,16 +64,16 @@ public class BearingInstance e topInstance.delete(); } - static Quaternion getBlockStateOrientation(Direction facing) { - Quaternion orientation; + static Quaternionf getBlockStateOrientation(Direction facing) { + Quaternionf orientation; if (facing.getAxis().isHorizontal()) { - orientation = Vector3f.YP.rotationDegrees(AngleHelper.horizontalAngle(facing.getOpposite())); + orientation = Axis.YP.rotationDegrees(AngleHelper.horizontalAngle(facing.getOpposite())); } else { - orientation = Quaternion.ONE.copy(); + orientation = new Quaternionf(); } - orientation.mul(Vector3f.XP.rotationDegrees(-90 - AngleHelper.verticalAngle(facing))); + orientation.mul(Axis.XP.rotationDegrees(-90 - AngleHelper.verticalAngle(facing))); return orientation; } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java index 88d9b7998..69079056d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingInstance.java @@ -1,11 +1,12 @@ package com.simibubi.create.content.contraptions.components.structureMovement.bearing; +import org.joml.Quaternionf; + import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.core.Materials; import com.jozufozu.flywheel.core.materials.oriented.OrientedData; import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import com.simibubi.create.content.contraptions.components.structureMovement.MovementContext; @@ -23,8 +24,8 @@ public class StabilizedBearingInstance extends ActorInstance { final RotatingData shaft; final Direction facing; - final Vector3f rotationAxis; - final Quaternion blockOrientation; + final Axis rotationAxis; + final Quaternionf blockOrientation; public StabilizedBearingInstance(MaterialManager materialManager, VirtualRenderWorld simulationWorld, MovementContext context) { super(materialManager, simulationWorld, context); @@ -32,7 +33,7 @@ public class StabilizedBearingInstance extends ActorInstance { BlockState blockState = context.state; facing = blockState.getValue(BlockStateProperties.FACING); - rotationAxis = Direction.get(Direction.AxisDirection.POSITIVE, facing.getAxis()).step(); + rotationAxis = Axis.of(Direction.get(Direction.AxisDirection.POSITIVE, facing.getAxis()).step()); blockOrientation = BearingInstance.getBlockStateOrientation(facing); @@ -60,7 +61,7 @@ public class StabilizedBearingInstance extends ActorInstance { public void beginFrame() { float counterRotationAngle = StabilizedBearingMovementBehaviour.getCounterRotationAngle(context, facing, AnimationTickHolder.getPartialTicks()); - Quaternion rotation = rotationAxis.rotationDegrees(counterRotationAngle); + Quaternionf rotation = rotationAxis.rotationDegrees(counterRotationAngle); rotation.mul(blockOrientation); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingMovementBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingMovementBehaviour.java index 340db86f8..a25796473 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingMovementBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/StabilizedBearingMovementBehaviour.java @@ -2,10 +2,12 @@ package com.simibubi.create.content.contraptions.components.structureMovement.be import javax.annotation.Nullable; +import org.joml.Quaternionf; + import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld; -import com.mojang.math.Quaternion; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.ControlledContraptionEntity; @@ -22,7 +24,6 @@ import com.simibubi.create.foundation.utility.AnimationTickHolder; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.core.Direction; -import net.minecraft.core.Direction.Axis; import net.minecraft.world.level.block.state.properties.BlockStateProperties; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; @@ -42,13 +43,13 @@ public class StabilizedBearingMovementBehaviour implements MovementBehaviour { float renderPartialTicks = AnimationTickHolder.getPartialTicks(); // rotate to match blockstate - Quaternion orientation = BearingInstance.getBlockStateOrientation(facing); + Quaternionf orientation = BearingInstance.getBlockStateOrientation(facing); // rotate against parent float angle = getCounterRotationAngle(context, facing, renderPartialTicks) * facing.getAxisDirection() .getStep(); - Quaternion rotation = facing.step() + Quaternionf rotation = Axis.of(facing.step()) .rotationDegrees(angle); rotation.mul(orientation); @@ -81,7 +82,7 @@ public class StabilizedBearingMovementBehaviour implements MovementBehaviour { return 0; float offset = 0; - Axis axis = facing.getAxis(); + Direction.Axis axis = facing.getAxis(); AbstractContraptionEntity entity = context.contraption.entity; if (entity instanceof ControlledContraptionEntity) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java index 2c74e3b0f..a2dacd6c9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/glue/SuperGlueEntity.java @@ -27,6 +27,7 @@ import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.protocol.Packet; +import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.server.level.ServerLevel; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; @@ -260,7 +261,7 @@ public class SuperGlueEntity extends Entity implements IEntityAdditionalSpawnDat } @Override - public Packet getAddEntityPacket() { + public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java index 75ff9156a..f2e37bd82 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/pulley/AbstractPulleyInstance.java @@ -12,7 +12,7 @@ import com.jozufozu.flywheel.light.LightVolume; import com.jozufozu.flywheel.light.TickingLightListener; import com.jozufozu.flywheel.util.box.GridAlignedBB; import com.jozufozu.flywheel.util.box.ImmutableBox; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.relays.encased.ShaftInstance; @@ -29,7 +29,7 @@ public abstract class AbstractPulleyInstance extends ShaftInstance implements Dy protected float offset; protected final Direction rotatingAbout; - protected final Vector3f rotationAxis; + protected final Axis rotationAxis; private final GridAlignedBB volume = new GridAlignedBB(); private final LightVolume light; @@ -38,7 +38,7 @@ public abstract class AbstractPulleyInstance extends ShaftInstance implements Dy super(dispatcher, tile); rotatingAbout = Direction.get(Direction.AxisDirection.POSITIVE, axis); - rotationAxis = rotatingAbout.step(); + rotationAxis = Axis.of(rotatingAbout.step()); coil = getCoilModel().createInstance() .setPosition(getInstancePosition()); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionMatrices.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionMatrices.java index 1b6ab8520..a2343a979 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionMatrices.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionMatrices.java @@ -1,7 +1,8 @@ package com.simibubi.create.content.contraptions.components.structureMovement.render; +import org.joml.Matrix4f; + import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -23,11 +24,6 @@ public class ContraptionMatrices { private boolean ready; - public ContraptionMatrices() { - world.setIdentity(); - light.setIdentity(); - } - public void setup(PoseStack viewProjection, AbstractContraptionEntity entity) { float partialTicks = AnimationTickHolder.getPartialTicks(); @@ -42,8 +38,8 @@ public class ContraptionMatrices { translateToEntity(world, entity, partialTicks); - light.load(world); - light.multiply(model.last() + light.set(world); + light.mul(model.last() .pose()); ready = true; @@ -53,8 +49,8 @@ public class ContraptionMatrices { clearStack(modelViewProjection); clearStack(viewProjection); clearStack(model); - world.setIdentity(); - light.setIdentity(); + world.identity(); + light.identity(); ready = false; } @@ -85,7 +81,7 @@ public class ContraptionMatrices { public static void transform(PoseStack ms, PoseStack transform) { ms.last() .pose() - .multiply(transform.last() + .mul(transform.last() .pose()); ms.last() .normal() diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionProgram.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionProgram.java index c1c6e7f91..acbd2afde 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionProgram.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/ContraptionProgram.java @@ -1,9 +1,9 @@ package com.simibubi.create.content.contraptions.components.structureMovement.render; +import org.joml.Matrix4f; import org.lwjgl.opengl.GL20; import com.jozufozu.flywheel.core.shader.WorldProgram; -import com.mojang.math.Matrix4f; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.phys.AABB; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java index 5f467689b..1a4286b9d 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/render/FlwContraption.java @@ -5,6 +5,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.joml.Matrix4f; + import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.backend.gl.GlStateTracker; import com.jozufozu.flywheel.backend.instancing.Engine; @@ -19,7 +21,6 @@ import com.jozufozu.flywheel.core.virtual.VirtualRenderWorld; import com.jozufozu.flywheel.event.BeginFrameEvent; import com.jozufozu.flywheel.event.RenderLayerEvent; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import com.simibubi.create.content.contraptions.components.structureMovement.AbstractContraptionEntity; import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; import com.simibubi.create.foundation.render.CreateContexts; @@ -90,7 +91,7 @@ public class FlwContraption extends ContraptionRenderInfo { public void beginFrame(BeginFrameEvent event) { super.beginFrame(event); - modelViewPartial.setIdentity(); + modelViewPartial.identity(); modelViewPartialReady = false; if (!isVisible()) return; @@ -172,7 +173,7 @@ public class FlwContraption extends ContraptionRenderInfo { float y = (float) (Mth.lerp(pt, entity.yOld, entity.getY()) - camY); float z = (float) (Mth.lerp(pt, entity.zOld, entity.getZ()) - camZ); matrix.setTranslation(x, y, z); - matrix.multiply(modelMatrix); + matrix.mul(modelMatrix); } public void tick() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingHandlerClient.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingHandlerClient.java index 467bb0a62..57488883a 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingHandlerClient.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingHandlerClient.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.contraptions.components.structureMovement.train; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; + import com.simibubi.create.AllItems; import com.simibubi.create.foundation.networking.AllPackets; import com.simibubi.create.foundation.utility.VecHelper; diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingRenderer.java index 63eead5a9..0841bdc79 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/train/CouplingRenderer.java @@ -5,7 +5,7 @@ import static net.minecraft.util.Mth.lerp; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.CreateClient; import com.simibubi.create.content.contraptions.KineticDebugger; @@ -23,7 +23,7 @@ import net.minecraft.client.renderer.LevelRenderer; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.core.BlockPos; -import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.world.entity.vehicle.AbstractMinecart; import net.minecraft.world.level.block.Blocks; @@ -133,8 +133,8 @@ public class CouplingRenderer { roll = roll > 0 ? Mth.sin(roll) * roll * rollAmplifier / 10.0F * cart.getHurtDir() : 0; Vec3 positionVec = new Vec3(xIn, yIn, zIn); - Vec3 frontVec = positionVec.add(VecHelper.rotate(new Vec3(.5, 0, 0), 180 - yaw, Axis.Y)); - Vec3 backVec = positionVec.add(VecHelper.rotate(new Vec3(-.5, 0, 0), 180 - yaw, Axis.Y)); + Vec3 frontVec = positionVec.add(VecHelper.rotate(new Vec3(.5, 0, 0), 180 - yaw, Direction.Axis.Y)); + Vec3 backVec = positionVec.add(VecHelper.rotate(new Vec3(-.5, 0, 0), 180 - yaw, Direction.Axis.Y)); Vec3 railVecOfPos = cart.getPos(xIn, yIn, zIn); boolean flip = false; @@ -196,20 +196,20 @@ public class CouplingRenderer { public Vec3 apply(Vec3 vec) { vec = vec.add(offset, 0, 0); - vec = VecHelper.rotate(vec, roll, Axis.X); - vec = VecHelper.rotate(vec, pitch, Axis.Z); - vec = VecHelper.rotate(vec, yaw, Axis.Y); + vec = VecHelper.rotate(vec, roll, Direction.Axis.X); + vec = VecHelper.rotate(vec, pitch, Direction.Axis.Z); + vec = VecHelper.rotate(vec, yaw, Direction.Axis.Y); return vec.add(x, y, z); } public void apply(PoseStack ms) { ms.translate(x, y, z); - ms.mulPose(Vector3f.YP.rotationDegrees(yaw)); - ms.mulPose(Vector3f.ZP.rotationDegrees(pitch)); - ms.mulPose(Vector3f.XP.rotationDegrees(roll)); + ms.mulPose(Axis.YP.rotationDegrees(yaw)); + ms.mulPose(Axis.ZP.rotationDegrees(pitch)); + ms.mulPose(Axis.XP.rotationDegrees(roll)); ms.translate(offset, 0, 0); if (flip) - ms.mulPose(Vector3f.YP.rotationDegrees(180)); + ms.mulPose(Axis.YP.rotationDegrees(180)); } } diff --git a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java index 0b6c9e33f..7ba591559 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/fluids/actors/ItemDrainRenderer.java @@ -4,7 +4,7 @@ import java.util.Random; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.content.contraptions.processing.EmptyingByBasin; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; @@ -20,7 +20,6 @@ import net.minecraft.client.renderer.block.model.ItemTransforms.TransformType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.core.Direction; -import net.minecraft.core.Direction.Axis; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemStack; @@ -67,7 +66,7 @@ public class ItemDrainRenderer extends SmartTileEntityRenderer { float rotY = facing.toYRot() + ((diagonal ^ alongX) && !downward ? 180 : 0) + (sideways && alongZ ? 180 : 0) + (vertical && alongX ? 90 : 0); float rotZ = (sideways ? 90 : 0) + (vertical && alongX ? 90 : 0); - Quaternion q = new Quaternion(rotX, rotY, rotZ, true); + Quaternionf q = new Quaternionf().rotationXYZ(rotX * Mth.DEG_TO_RAD, rotY * Mth.DEG_TO_RAD, rotZ * Mth.DEG_TO_RAD); key.setScrollTexture(spriteShift) .setScrollMult(diagonal ? 3f / 8f : 0.5f) diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java index b27ed9d8b..7dcec6495 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltRenderer.java @@ -8,7 +8,7 @@ import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.AllBlocks; import com.simibubi.create.AllSpriteShifts; @@ -31,7 +31,6 @@ import net.minecraft.client.renderer.block.model.ItemTransforms.TransformType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.core.Direction; -import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; import net.minecraft.core.Vec3i; import net.minecraft.util.Mth; @@ -70,7 +69,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { boolean start = part == BeltPart.START; boolean end = part == BeltPart.END; boolean sideways = beltSlope == BeltSlope.SIDEWAYS; - boolean alongX = facing.getAxis() == Axis.X; + boolean alongX = facing.getAxis() == Direction.Axis.X; PoseStack localTransforms = new PoseStack(); TransformStack msr = TransformStack.cast(localTransforms); @@ -133,8 +132,8 @@ public class BeltRenderer extends SafeTileEntityRenderer { PoseStack stack = new PoseStack(); TransformStack stacker = TransformStack.cast(stack); stacker.centre(); - if (dir.getAxis() == Axis.X) stacker.rotateY(90); - if (dir.getAxis() == Axis.Y) stacker.rotateX(90); + if (dir.getAxis() == Direction.Axis.X) stacker.rotateY(90); + if (dir.getAxis() == Direction.Axis.Y) stacker.rotateX(90); stacker.rotateX(90); stacker.unCentre(); return stack; @@ -192,7 +191,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { .getValue(BeltBlock.SLOPE); int verticality = slope == BeltSlope.DOWNWARD ? -1 : slope == BeltSlope.UPWARD ? 1 : 0; boolean slopeAlongX = beltFacing - .getAxis() == Axis.X; + .getAxis() == Direction.Axis.X; boolean onContraption = te.getLevel() instanceof WrappedWorld; @@ -225,14 +224,14 @@ public class BeltRenderer extends SafeTileEntityRenderer { slope != BeltSlope.HORIZONTAL && Mth.clamp(offset, .5f, te.beltLength - .5f) == offset; boolean tiltForward = (slope == BeltSlope.DOWNWARD ^ beltFacing .getAxisDirection() == AxisDirection.POSITIVE) == (beltFacing - .getAxis() == Axis.Z); + .getAxis() == Direction.Axis.Z); float slopeAngle = onSlope ? tiltForward ? -45 : 45 : 0; ms.translate(offsetVec.x, offsetVec.y, offsetVec.z); boolean alongX = beltFacing .getClockWise() - .getAxis() == Axis.X; + .getAxis() == Direction.Axis.X; if (!alongX) sideOffset *= -1; ms.translate(alongX ? sideOffset : 0, 0, alongX ? 0 : sideOffset); @@ -251,7 +250,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { if (slopeShadowOnly) ms.pushPose(); if (!renderUpright || slopeShadowOnly) - ms.mulPose(new Vector3f(slopeAlongX ? 0 : 1, 0, slopeAlongX ? 1 : 0).rotationDegrees(slopeAngle)); + ms.mulPose((slopeAlongX ? Axis.ZP : Axis.XP).rotationDegrees(slopeAngle)); if (onSlope) ms.translate(0, slopeOffset, 0); ms.pushPose(); @@ -270,7 +269,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { Vec3 vectorForOffset = BeltHelper.getVectorForOffset(te, offset); Vec3 diff = vectorForOffset.subtract(positionVec); float yRot = (float) (Mth.atan2(diff.x, diff.z) + Math.PI); - ms.mulPose(Vector3f.YP.rotation(yRot)); + ms.mulPose(Axis.YP.rotation(yRot)); } ms.translate(0, 3 / 32d, 1 / 16f); } @@ -278,10 +277,10 @@ public class BeltRenderer extends SafeTileEntityRenderer { for (int i = 0; i <= count; i++) { ms.pushPose(); - ms.mulPose(Vector3f.YP.rotationDegrees(transported.angle)); + ms.mulPose(Axis.YP.rotationDegrees(transported.angle)); if (!blockItem && !renderUpright) { ms.translate(0, -.09375, 0); - ms.mulPose(Vector3f.XP.rotationDegrees(90)); + ms.mulPose(Axis.XP.rotationDegrees(90)); } if (blockItem) { @@ -294,7 +293,7 @@ public class BeltRenderer extends SafeTileEntityRenderer { if (!renderUpright) { if (!blockItem) - ms.mulPose(Vector3f.YP.rotationDegrees(10)); + ms.mulPose(Axis.YP.rotationDegrees(10)); ms.translate(0, blockItem ? 1 / 64d : 1 / 16d, 0); } else ms.translate(0, 0, -1 / 16f); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorHandler.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorHandler.java index 14dbf2d30..55f58f677 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorHandler.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorHandler.java @@ -4,7 +4,8 @@ import java.util.LinkedList; import java.util.List; import java.util.Random; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; + import com.simibubi.create.AllItems; import com.simibubi.create.content.contraptions.relays.elementary.ShaftBlock; import com.simibubi.create.foundation.config.AllConfigs; diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileInstance.java index e6ab3d5ef..4d5de6265 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedKineticTileInstance.java @@ -4,7 +4,7 @@ import com.jozufozu.flywheel.api.Instancer; import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; @@ -13,7 +13,6 @@ import com.simibubi.create.content.contraptions.base.flwdata.RotatingData; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; public class BracketedKineticTileInstance extends SingleRotatingInstance { @@ -34,7 +33,7 @@ public class BracketedKineticTileInstance extends SingleRotatingInstance { // mesh properly float speed = blockEntity.getSpeed(); - Axis axis = KineticTileEntityRenderer.getRotationAxisOf(blockEntity); + Direction.Axis axis = KineticTileEntityRenderer.getRotationAxisOf(blockEntity); BlockPos pos = blockEntity.getBlockPos(); float offset = BracketedKineticTileRenderer.getShaftAngleOffset(axis, pos); Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); @@ -50,19 +49,19 @@ public class BracketedKineticTileInstance extends SingleRotatingInstance { if (!ICogWheel.isLargeCog(blockEntity.getBlockState())) return super.getModel(); - Axis axis = KineticTileEntityRenderer.getRotationAxisOf(blockEntity); + Direction.Axis axis = KineticTileEntityRenderer.getRotationAxisOf(blockEntity); Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); return getRotatingMaterial().getModel(AllBlockPartials.SHAFTLESS_LARGE_COGWHEEL, blockState, facing, () -> this.rotateToAxis(axis)); } - private PoseStack rotateToAxis(Axis axis) { + private PoseStack rotateToAxis(Direction.Axis axis) { Direction facing = Direction.fromAxisAndDirection(axis, AxisDirection.POSITIVE); PoseStack poseStack = new PoseStack(); TransformStack.cast(poseStack) .centre() .rotateToFace(facing) - .multiply(Vector3f.XN.rotationDegrees(-90)) + .multiply(Axis.XN.rotationDegrees(-90)) .unCentre(); return poseStack; } diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java index 8c5ae2e3b..0989cc8dd 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/elementary/BracketedTileEntityBehaviour.java @@ -11,6 +11,7 @@ import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; import com.simibubi.create.foundation.tileEntity.behaviour.BehaviourType; import com.simibubi.create.foundation.utility.NBTHelper; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.world.level.Level; @@ -123,7 +124,7 @@ public class BracketedTileEntityBehaviour extends TileEntityBehaviour { @Override public void read(CompoundTag nbt, boolean clientPacket) { if (nbt.contains("Bracket")) - bracket = NbtUtils.readBlockState(nbt.getCompound("Bracket")); + bracket = NbtUtils.readBlockState(getWorld().holderLookup(Registries.BLOCK), nbt.getCompound("Bracket")); if (clientPacket && nbt.contains("Redraw")) getWorld().sendBlockUpdated(getPos(), tileEntity.getBlockState(), tileEntity.getBlockState(), 16); super.read(nbt, clientPacket); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java index 62d6f45bc..3a2f3f506 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogInstance.java @@ -8,7 +8,7 @@ import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.IRotate; import com.simibubi.create.content.contraptions.base.KineticTileEntity; @@ -99,7 +99,7 @@ public class EncasedCogInstance extends KineticTileInstance { TransformStack.cast(poseStack) .centre() .rotateToFace(facing) - .multiply(Vector3f.XN.rotationDegrees(90)) + .multiply(Axis.XN.rotationDegrees(90)) .unCentre(); return poseStack; }); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java index f716773eb..76d4dc653 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gauge/GaugeBlock.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.contraptions.relays.gauge; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; + import com.simibubi.create.AllTileEntities; import com.simibubi.create.content.contraptions.base.DirectionalAxisKineticBlock; import com.simibubi.create.content.contraptions.base.IRotate; diff --git a/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java b/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java index 1539410e1..fc0d24e17 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/contraptions/wrench/WrenchItemRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.contraptions.wrench; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; import com.simibubi.create.foundation.tileEntity.behaviour.scrollvalue.ScrollValueHandler; @@ -21,7 +21,7 @@ public class WrenchItemRenderer extends CustomRenderedItemModelRenderer { diff --git a/src/main/java/com/simibubi/create/content/curiosities/bell/SoulParticle.java b/src/main/java/com/simibubi/create/content/curiosities/bell/SoulParticle.java index b878d5142..16b6694c4 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/bell/SoulParticle.java +++ b/src/main/java/com/simibubi/create/content/curiosities/bell/SoulParticle.java @@ -1,8 +1,9 @@ package com.simibubi.create.content.curiosities.bell; +import org.joml.Quaternionf; + import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllParticleTypes; import net.minecraft.client.Camera; @@ -11,6 +12,7 @@ import net.minecraft.client.particle.SpriteSet; import net.minecraft.core.BlockPos; import net.minecraft.core.particles.ParticleOptions; import net.minecraft.core.particles.ParticleType; +import net.minecraft.util.Mth; public class SoulParticle extends CustomRotationParticle { @@ -94,10 +96,10 @@ public class SoulParticle extends CustomRotationParticle { } @Override - public Quaternion getCustomRotation(Camera camera, float partialTicks) { + public Quaternionf getCustomRotation(Camera camera, float partialTicks) { if (isPerimeter) - return Vector3f.XP.rotationDegrees(90); - return new Quaternion(0, -camera.getYRot(), 0, true); + return Axis.XP.rotationDegrees(90); + return new Quaternionf().rotationXYZ(0, -camera.getYRot() * Mth.DEG_TO_RAD, 0); } public static class Data extends BasicParticleData { diff --git a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardTileEntity.java b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardTileEntity.java index ab6fa677e..23ddd47c1 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardTileEntity.java +++ b/src/main/java/com/simibubi/create/content/curiosities/deco/PlacardTileEntity.java @@ -2,7 +2,8 @@ package com.simibubi.create.content.curiosities.deco; import java.util.List; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; + import com.simibubi.create.AllBlocks; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; import com.simibubi.create.foundation.tileEntity.TileEntityBehaviour; diff --git a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryHandler.java b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryHandler.java index 9db0959db..7d274573b 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryHandler.java +++ b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryHandler.java @@ -2,9 +2,10 @@ package com.simibubi.create.content.curiosities.symmetry; import java.util.Random; +import org.joml.Vector3f; + import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Vector3f; import com.simibubi.create.AllItems; import com.simibubi.create.content.curiosities.symmetry.mirror.EmptyMirror; import com.simibubi.create.content.curiosities.symmetry.mirror.SymmetryMirror; diff --git a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java index f3d009546..01849ecd5 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java +++ b/src/main/java/com/simibubi/create/content/curiosities/symmetry/SymmetryWandScreen.java @@ -1,7 +1,9 @@ package com.simibubi.create.content.curiosities.symmetry; +import org.joml.Vector3f; + import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.content.curiosities.symmetry.mirror.CrossPlaneMirror; import com.simibubi.create.content.curiosities.symmetry.mirror.EmptyMirror; import com.simibubi.create.content.curiosities.symmetry.mirror.PlaneMirror; @@ -136,7 +138,7 @@ public class SymmetryWandScreen extends AbstractSimiScreen { ms.pushPose(); ms.translate(x + 26, y + 39, 20); ms.scale(16, 16, 16); - ms.mulPose(new Vector3f(.3f, 1f, 0f).rotationDegrees(-22.5f)); + ms.mulPose(Axis.of(new Vector3f(.3f, 1f, 0f)).rotationDegrees(-22.5f)); currentElement.applyModelTransform(ms); // RenderSystem.multMatrix(ms.peek().getModel()); GuiGameElement.of(currentElement.getModel()) diff --git a/src/main/java/com/simibubi/create/content/curiosities/symmetry/client/SymmetryWandItemRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/symmetry/client/SymmetryWandItemRenderer.java index 4f28a4d67..11c5d1ebd 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/symmetry/client/SymmetryWandItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/symmetry/client/SymmetryWandItemRenderer.java @@ -1,7 +1,7 @@ package com.simibubi.create.content.curiosities.symmetry.client; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -29,7 +29,7 @@ public class SymmetryWandItemRenderer extends CustomRenderedItemModelRenderer getAddEntityPacket() { + public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintRenderer.java index 4b68a02cc..8b9675eb1 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/tools/BlueprintRenderer.java @@ -1,9 +1,10 @@ package com.simibubi.create.content.curiosities.tools; +import org.joml.Matrix3f; + import com.jozufozu.flywheel.core.PartialModel; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix3f; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.curiosities.tools.BlueprintEntity.BlueprintSection; import com.simibubi.create.foundation.render.CachedBufferer; @@ -62,9 +63,8 @@ public class BlueprintRenderer extends EntityRenderer { TransformStack.cast(ms) .rotateY(vertical ? 0 : -yaw) .rotateX(fakeNormalXRotation); - Matrix3f copy = ms.last() - .normal() - .copy(); + Matrix3f copy = new Matrix3f(ms.last() + .normal()); ms.popPose(); ms.pushPose(); @@ -80,7 +80,7 @@ public class BlueprintRenderer extends EntityRenderer { PoseStack squashedMS = new PoseStack(); squashedMS.last() .pose() - .multiply(ms.last() + .mul(ms.last() .pose()); for (int x = 0; x < entity.size; x++) { @@ -102,7 +102,7 @@ public class BlueprintRenderer extends EntityRenderer { squashedMS.last() .normal() - .load(copy); + .set(copy); Minecraft.getInstance() .getItemRenderer() diff --git a/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItemRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItemRenderer.java index 561e8a410..842826977 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/tools/SandPaperItemRenderer.java @@ -1,7 +1,9 @@ package com.simibubi.create.content.curiosities.tools; +import org.joml.Vector3f; + import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.foundation.item.render.CreateCustomRenderedItemModel; import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; @@ -42,7 +44,7 @@ public class SandPaperItemRenderer extends CustomRenderedItemModelRenderer 0) { int modifier = leftHand ? -1 : 1; ms.translate(modifier * .5f, 0, -.25f); - ms.mulPose(Vector3f.ZP.rotationDegrees(modifier * 40)); - ms.mulPose(Vector3f.XP.rotationDegrees(modifier * 10)); - ms.mulPose(Vector3f.YP.rotationDegrees(modifier * 90)); + ms.mulPose(Axis.ZP.rotationDegrees(modifier * 40)); + ms.mulPose(Axis.XP.rotationDegrees(modifier * 10)); + ms.mulPose(Axis.YP.rotationDegrees(modifier * 90)); } } diff --git a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItemRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItemRenderer.java index 953fff03c..242d920bd 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/weapons/PotatoCannonItemRenderer.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.curiosities.weapons; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.CreateClient; import com.simibubi.create.foundation.item.render.CustomRenderedItemModelRenderer; import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; @@ -44,7 +44,7 @@ public class PotatoCannonItemRenderer extends CustomRenderedItemModelRenderer getAddEntityPacket() { + public Packet getAddEntityPacket() { return NetworkHooks.getEntitySpawningPacket(this); } diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ShootableGadgetRenderHandler.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ShootableGadgetRenderHandler.java index 0337cd5eb..de77c23db 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ShootableGadgetRenderHandler.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ShootableGadgetRenderHandler.java @@ -2,7 +2,7 @@ package com.simibubi.create.content.curiosities.zapper; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import net.minecraft.client.Minecraft; import net.minecraft.client.player.AbstractClientPlayer; @@ -108,15 +108,15 @@ public abstract class ShootableGadgetRenderHandler { float f6 = Mth.sin(f1 * (float) Math.PI); ms.translate(flip * (f2 + 0.64F - .1f), f3 + -0.4F + equipProgress * -0.6F, f4 + -0.72F + .3f + recoil); - ms.mulPose(Vector3f.YP.rotationDegrees(flip * 75.0F)); - ms.mulPose(Vector3f.YP.rotationDegrees(flip * f6 * 70.0F)); - ms.mulPose(Vector3f.ZP.rotationDegrees(flip * f5 * -20.0F)); + ms.mulPose(Axis.YP.rotationDegrees(flip * 75.0F)); + ms.mulPose(Axis.YP.rotationDegrees(flip * f6 * 70.0F)); + ms.mulPose(Axis.ZP.rotationDegrees(flip * f5 * -20.0F)); ms.translate(flip * -1.0F, 3.6F, 3.5F); - ms.mulPose(Vector3f.ZP.rotationDegrees(flip * 120.0F)); - ms.mulPose(Vector3f.XP.rotationDegrees(200.0F)); - ms.mulPose(Vector3f.YP.rotationDegrees(flip * -135.0F)); + ms.mulPose(Axis.ZP.rotationDegrees(flip * 120.0F)); + ms.mulPose(Axis.XP.rotationDegrees(200.0F)); + ms.mulPose(Axis.YP.rotationDegrees(flip * -135.0F)); ms.translate(flip * 5.6F, 0.0F, 0.0F); - ms.mulPose(Vector3f.YP.rotationDegrees(flip * 40.0F)); + ms.mulPose(Axis.YP.rotationDegrees(flip * 40.0F)); transformHand(ms, flip, equipProgress, recoil, pt); if (rightHand) playerrenderer.renderRightHand(ms, buffer, light, player); @@ -127,8 +127,8 @@ public abstract class ShootableGadgetRenderHandler { // Render gadget ms.pushPose(); ms.translate(flip * (f2 + 0.64F - .1f), f3 + -0.4F + equipProgress * -0.6F, f4 + -0.72F - 0.1f + recoil); - ms.mulPose(Vector3f.YP.rotationDegrees(flip * f6 * 70.0F)); - ms.mulPose(Vector3f.ZP.rotationDegrees(flip * f5 * -20.0F)); + ms.mulPose(Axis.YP.rotationDegrees(flip * f6 * 70.0F)); + ms.mulPose(Axis.ZP.rotationDegrees(flip * f5 * -20.0F)); transformTool(ms, flip, equipProgress, recoil, pt); firstPersonRenderer.renderItem(mc.player, heldItem, rightHand ? ItemTransforms.TransformType.FIRST_PERSON_RIGHT_HAND diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java index f0b7b85ff..5ff46435a 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java @@ -20,6 +20,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.model.HumanoidModel.ArmPose; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.nbt.Tag; @@ -59,7 +60,7 @@ public abstract class ZapperItem extends Item implements CustomArmPoseItem { public void appendHoverText(ItemStack stack, Level worldIn, List tooltip, TooltipFlag flagIn) { if (stack.hasTag() && stack.getTag() .contains("BlockUsed")) { - MutableComponent usedBlock = NbtUtils.readBlockState(stack.getTag() + MutableComponent usedBlock = NbtUtils.readBlockState(worldIn.holderLookup(Registries.BLOCK), stack.getTag() .getCompound("BlockUsed")) .getBlock() .getName(); @@ -140,7 +141,7 @@ public abstract class ZapperItem extends Item implements CustomArmPoseItem { BlockState stateToUse = Blocks.AIR.defaultBlockState(); if (nbt.contains("BlockUsed")) - stateToUse = NbtUtils.readBlockState(nbt.getCompound("BlockUsed")); + stateToUse = NbtUtils.readBlockState(world.holderLookup(Registries.BLOCK), nbt.getCompound("BlockUsed")); stateToUse = BlockHelper.setZeroAge(stateToUse); CompoundTag data = null; if (AllBlockTags.SAFE_NBT.matches(stateToUse) && nbt.contains("BlockData", Tag.TAG_COMPOUND)) { diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperRenderHandler.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperRenderHandler.java index 9028abdaa..9c3bb83ab 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperRenderHandler.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperRenderHandler.java @@ -6,7 +6,7 @@ import java.util.Random; import java.util.function.Supplier; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.AllSoundEvents; import com.simibubi.create.CreateClient; @@ -50,7 +50,7 @@ public class ZapperRenderHandler extends ShootableGadgetRenderHandler { @Override protected void transformTool(PoseStack ms, float flip, float equipProgress, float recoil, float pt) { ms.translate(flip * -0.1f, 0.1f, -0.4f); - ms.mulPose(Vector3f.YP.rotationDegrees(flip * 5.0F)); + ms.mulPose(Axis.YP.rotationDegrees(flip * 5.0F)); } @Override diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java index f7168b1c5..3be226575 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.curiosities.zapper; import java.util.Vector; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.foundation.gui.AbstractSimiScreen; import com.simibubi.create.foundation.gui.AllGuiTextures; import com.simibubi.create.foundation.gui.AllIcons; @@ -130,8 +130,8 @@ public abstract class ZapperScreen extends AbstractSimiScreen { protected void renderBlock(PoseStack ms, int x, int y) { ms.pushPose(); ms.translate(x + 32, y + 42, 120); - ms.mulPose(new Vector3f(1f, 0, 0).rotationDegrees(-25f)); - ms.mulPose(new Vector3f(0, 1f, 0).rotationDegrees(-45f)); + ms.mulPose(Axis.XP.rotationDegrees(-25f)); + ms.mulPose(Axis.YP.rotationDegrees(-45f)); ms.scale(20, 20, 20); BlockState state = Blocks.AIR.defaultBlockState(); diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/WorldshaperItemRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/WorldshaperItemRenderer.java index a163d209c..18728f550 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/WorldshaperItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/terrainzapper/WorldshaperItemRenderer.java @@ -3,7 +3,7 @@ package com.simibubi.create.content.curiosities.zapper.terrainzapper; import static java.lang.Math.max; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.content.curiosities.zapper.ZapperItemRenderer; import com.simibubi.create.foundation.item.render.PartialItemModelRenderer; import com.simibubi.create.foundation.utility.AnimationTickHolder; @@ -56,7 +56,7 @@ public class WorldshaperItemRenderer extends ZapperItemRenderer { currentBrushParams[finalIndex] = state; - label.x = x + 65 + 20 * finalIndex - font.width(label.text) / 2; + label.setX(x + 65 + 20 * finalIndex - font.width(label.text) / 2); }); input.setState(currentBrushParams[index]); input.onChanged(); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java index 982213757..501f7dba3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/DepotRenderer.java @@ -4,7 +4,7 @@ import java.util.Random; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.content.contraptions.relays.belt.BeltHelper; import com.simibubi.create.content.contraptions.relays.belt.transport.TransportedItemStack; import com.simibubi.create.foundation.tileEntity.SmartTileEntity; @@ -16,7 +16,7 @@ import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.model.ItemTransforms.TransformType; import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider; import net.minecraft.client.renderer.entity.ItemRenderer; -import net.minecraft.core.Direction.Axis; +import net.minecraft.core.Direction; import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemStack; @@ -59,7 +59,7 @@ public class DepotRenderer extends SafeTileEntityRenderer { .getNormal()).scale(.5f - offset); ms.translate(offsetVec.x, offsetVec.y, offsetVec.z); boolean alongX = tis.insertedFrom.getClockWise() - .getAxis() == Axis.X; + .getAxis() == Direction.Axis.X; if (!alongX) sideOffset *= -1; ms.translate(alongX ? sideOffset : 0, 0, alongX ? 0 : sideOffset); @@ -117,7 +117,7 @@ public class DepotRenderer extends SafeTileEntityRenderer { Vec3 vectorForOffset = itemPosition; Vec3 diff = vectorForOffset.subtract(positionVec); float yRot = (float) (Mth.atan2(diff.x, diff.z) + Math.PI); - ms.mulPose(Vector3f.YP.rotation(yRot)); + ms.mulPose(Axis.YP.rotation(yRot)); } ms.translate(0, 3 / 32d, -1 / 16f); } diff --git a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java index 978f40a9b..952f437f0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/depot/EjectorTargetHandler.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.logistics.block.depot; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; + import com.simibubi.create.AllBlocks; import com.simibubi.create.AllItems; import com.simibubi.create.CreateClient; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapData.java b/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapData.java index 591f0160c..d95e4c28b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapData.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/flap/FlapData.java @@ -1,8 +1,9 @@ package com.simibubi.create.content.logistics.block.flap; +import org.joml.Vector3f; + import com.jozufozu.flywheel.api.InstanceData; import com.jozufozu.flywheel.core.materials.FlatLit; -import com.mojang.math.Vector3f; import net.minecraft.client.renderer.LightTexture; import net.minecraft.core.BlockPos; diff --git a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java index 1baec6fdc..ef387b3c7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/mechanicalArm/ArmRenderer.java @@ -100,7 +100,7 @@ public class ArmRenderer extends KineticTileEntityRenderer { ms.last() .pose() - .multiply(msLocal.last() + .mul(msLocal.last() .pose()); itemRenderer.renderStatic(item, TransformType.FIXED, light, overlay, ms, buffer, 0); diff --git a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java index d8eac7c3b..9d83cec5d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/block/redstone/AnalogLeverBlock.java @@ -1,6 +1,7 @@ package com.simibubi.create.content.logistics.block.redstone; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; + import com.simibubi.create.AllTileEntities; import com.simibubi.create.foundation.block.ITE; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/DimensionPalette.java b/src/main/java/com/simibubi/create/content/logistics/trains/DimensionPalette.java index 8ab827f42..98cba027f 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/DimensionPalette.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/DimensionPalette.java @@ -5,7 +5,7 @@ import java.util.List; import com.simibubi.create.foundation.utility.NBTHelper; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.network.FriendlyByteBuf; @@ -45,7 +45,7 @@ public class DimensionPalette { DimensionPalette palette = new DimensionPalette(); int length = buffer.readInt(); for (int i = 0; i < length; i++) - palette.gatheredDims.add(ResourceKey.create(Registry.DIMENSION_REGISTRY, buffer.readResourceLocation())); + palette.gatheredDims.add(ResourceKey.create(Registries.DIMENSION, buffer.readResourceLocation())); return palette; } @@ -61,7 +61,7 @@ public class DimensionPalette { public static DimensionPalette read(CompoundTag tag) { DimensionPalette palette = new DimensionPalette(); NBTHelper.iterateCompoundList(tag.getList("DimensionPalette", Tag.TAG_COMPOUND), c -> palette.gatheredDims - .add(ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation(c.getString("Id"))))); + .add(ResourceKey.create(Registries.DIMENSION, new ResourceLocation(c.getString("Id"))))); return palette; } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraptionInstance.java b/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraptionInstance.java index 4d18e2525..9ce283971 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraptionInstance.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/entity/CarriageContraptionInstance.java @@ -1,12 +1,13 @@ package com.simibubi.create.content.logistics.trains.entity; +import org.joml.Vector3f; + import com.jozufozu.flywheel.api.MaterialManager; import com.jozufozu.flywheel.api.instance.DynamicInstance; import com.jozufozu.flywheel.backend.instancing.entity.EntityInstance; import com.jozufozu.flywheel.util.AnimationTickHolder; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.utility.Iterate; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java b/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java index 3007a2d41..7bd014b38 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/entity/Train.java @@ -64,8 +64,8 @@ import net.minecraft.util.Mth; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.Explosion.BlockInteraction; import net.minecraft.world.level.Level; +import net.minecraft.world.level.Level.ExplosionInteraction; import net.minecraft.world.phys.Vec3; import net.minecraftforge.common.ForgeHooks; import net.minecraftforge.fluids.FluidStack; @@ -601,7 +601,7 @@ public class Train { double combinedSpeed = Math.abs(speed) + Math.abs(train.speed); if (combinedSpeed > .2f) { Vec3 v = collision.getSecond(); - level.explode(null, v.x, v.y, v.z, (float) Math.min(3 * combinedSpeed, 5), BlockInteraction.NONE); + level.explode(null, v.x, v.y, v.z, (float) Math.min(3 * combinedSpeed, 5), ExplosionInteraction.NONE); } crash(); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java index 06f6842ca..c71ac925b 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/display/FlapDisplayRenderer.java @@ -2,12 +2,13 @@ package com.simibubi.create.content.logistics.trains.management.display; import java.util.List; +import org.joml.Matrix4f; + import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.font.GlyphInfo; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack.Pose; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Matrix4f; import com.simibubi.create.AllBlockPartials; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.base.KineticTileEntityRenderer; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java index c7dc73580..c59a781a2 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/AssemblyScreen.java @@ -17,7 +17,7 @@ import com.simibubi.create.foundation.gui.widget.ScrollInput; import com.simibubi.create.foundation.networking.AllPackets; import com.simibubi.create.foundation.utility.Lang; -import net.minecraft.client.gui.components.Widget; +import net.minecraft.client.gui.components.Renderable; import net.minecraft.network.chat.MutableComponent; import net.minecraft.resources.ResourceLocation; @@ -40,7 +40,7 @@ public class AssemblyScreen extends AbstractStationScreen { int y = guiTop; int by = y + background.height - 24; - Widget widget = renderables.get(0); + Renderable widget = renderables.get(0); if (widget instanceof IconButton ib) { ib.setIcon(AllIcons.I_PRIORITY_VERY_LOW); ib.setToolTip(Lang.translateDirect("station.close")); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/NoShadowFontWrapper.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/NoShadowFontWrapper.java index cc6b3b452..855f30675 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/NoShadowFontWrapper.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/NoShadowFontWrapper.java @@ -2,8 +2,9 @@ package com.simibubi.create.content.logistics.trains.management.edgePoint.statio import java.util.List; +import org.joml.Matrix4f; + import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import net.minecraft.client.StringSplitter; import net.minecraft.client.gui.Font; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationMarker.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationMarker.java index f7b87b122..fa3357d9d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationMarker.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationMarker.java @@ -3,9 +3,10 @@ package com.simibubi.create.content.logistics.trains.management.edgePoint.statio import java.util.Objects; import java.util.Optional; +import org.joml.Matrix4f; + import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Matrix4f; import com.simibubi.create.AllTileEntities; import com.simibubi.create.Create; import com.simibubi.create.content.logistics.trains.management.edgePoint.TrackTargetingBehaviour; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java index 0a8ff8a66..5d3fb0f8d 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationScreen.java @@ -57,7 +57,7 @@ public class StationScreen extends AbstractStationScreen { Consumer onTextChanged; - onTextChanged = s -> nameBox.x = nameBoxX(s, nameBox); + onTextChanged = s -> nameBox.setX(nameBoxX(s, nameBox)); nameBox = new EditBox(new NoShadowFontWrapper(font), x + 23, y + 4, background.width - 20, 10, Components.literal(station.name)); nameBox.setBordered(false); @@ -67,7 +67,7 @@ public class StationScreen extends AbstractStationScreen { nameBox.changeFocus(false); nameBox.mouseClicked(0, 0, 0); nameBox.setResponder(onTextChanged); - nameBox.x = nameBoxX(nameBox.getValue(), nameBox); + nameBox.setX(nameBoxX(nameBox.getValue(), nameBox)); addRenderableWidget(nameBox); Runnable assemblyCallback = () -> { @@ -92,7 +92,7 @@ public class StationScreen extends AbstractStationScreen { .withCallback(() -> AllPackets.channel.sendToServer(StationEditPacket.dropSchedule(te.getBlockPos()))); addRenderableWidget(dropScheduleButton); - onTextChanged = s -> trainNameBox.x = nameBoxX(s, trainNameBox); + onTextChanged = s -> trainNameBox.setX(nameBoxX(s, trainNameBox)); trainNameBox = new EditBox(font, x + 23, y + 47, background.width - 75, 10, Components.immutableEmpty()); trainNameBox.setBordered(false); trainNameBox.setMaxLength(35); @@ -151,7 +151,7 @@ public class StationScreen extends AbstractStationScreen { trainNameBox.active = true; trainNameBox.setValue(imminentTrain.name.getString()); - trainNameBox.x = nameBoxX(trainNameBox.getValue(), trainNameBox); + trainNameBox.setX(nameBoxX(trainNameBox.getValue(), trainNameBox)); addRenderableWidget(trainNameBox); int trainIconWidth = getTrainIconWidth(imminentTrain); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/WideIconButton.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/WideIconButton.java index 1ea17f939..5ef707600 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/WideIconButton.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/WideIconButton.java @@ -14,7 +14,7 @@ public class WideIconButton extends IconButton { @Override protected void drawBg(PoseStack matrixStack, AllGuiTextures button) { super.drawBg(matrixStack, button); - blit(matrixStack, x + 9, y, button.startX + 1, button.startY, button.width - 1, button.height); + blit(matrixStack, getX() + 9, getY(), button.startX + 1, button.startY, button.width - 1, button.height); } } diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java index 96fbfbccd..84320e5a0 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleScreen.java @@ -9,6 +9,7 @@ import java.util.Optional; import java.util.Set; import java.util.function.Consumer; +import org.joml.Matrix4f; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL30; @@ -17,7 +18,6 @@ import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.platform.InputConstants; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import com.simibubi.create.Create; import com.simibubi.create.content.logistics.trains.GlobalRailwayManager; import com.simibubi.create.content.logistics.trains.TrackGraph; @@ -52,7 +52,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.components.EditBox; -import net.minecraft.client.gui.components.Widget; +import net.minecraft.client.gui.components.Renderable; import net.minecraft.client.renderer.Rect2i; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; @@ -368,7 +368,7 @@ public class ScheduleScreen extends AbstractSimiContainerScreen, ProperWaterloggedBlock, ISpecialBlockItemRequirement { - public static final EnumProperty AXIS = BlockStateProperties.HORIZONTAL_AXIS; + public static final EnumProperty AXIS = BlockStateProperties.HORIZONTAL_AXIS; private final boolean large; public StandardBogeyBlock(Properties p_i48440_1_, boolean large) { @@ -69,7 +68,7 @@ public class StandardBogeyBlock extends Block @Override public EnumSet getStickySurfaces(BlockGetter world, BlockPos pos, BlockState state) { - return state.getValue(BlockStateProperties.HORIZONTAL_AXIS) == Axis.X ? STICKY_X : STICKY_Z; + return state.getValue(BlockStateProperties.HORIZONTAL_AXIS) == Direction.Axis.X ? STICKY_X : STICKY_Z; } @Override @@ -108,12 +107,12 @@ public class StandardBogeyBlock extends Block public BlockState getMatchingBogey(Direction upDirection, boolean axisAlongFirst) { if (upDirection != Direction.UP) return null; - return defaultBlockState().setValue(AXIS, axisAlongFirst ? Axis.X : Axis.Z); + return defaultBlockState().setValue(AXIS, axisAlongFirst ? Direction.Axis.X : Direction.Axis.Z); } @Override public boolean isTrackAxisAlongFirstCoordinate(BlockState state) { - return state.getValue(AXIS) == Axis.X; + return state.getValue(AXIS) == Direction.Axis.X; } @Override @@ -122,8 +121,8 @@ public class StandardBogeyBlock extends Block int light, int overlay) { if (state != null) { ms.translate(.5f, .5f, .5f); - if (state.getValue(AXIS) == Axis.X) - ms.mulPose(Vector3f.YP.rotationDegrees(90)); + if (state.getValue(AXIS) == Direction.Axis.X) + ms.mulPose(Axis.YP.rotationDegrees(90)); } ms.translate(0, -1.5 - 1 / 128f, 0); @@ -133,7 +132,7 @@ public class StandardBogeyBlock extends Block for (int i : Iterate.zeroAndOne) CachedBufferer.block(AllBlocks.SHAFT.getDefaultState() - .setValue(ShaftBlock.AXIS, Axis.Z)) + .setValue(ShaftBlock.AXIS, Direction.Axis.Z)) .translate(-.5f, .25f, i * -1) .centre() .rotateZ(wheelAngle) @@ -168,7 +167,7 @@ public class StandardBogeyBlock extends Block private void renderLargeBogey(float wheelAngle, PoseStack ms, int light, VertexConsumer vb, BlockState air) { for (int i : Iterate.zeroAndOne) CachedBufferer.block(AllBlocks.SHAFT.getDefaultState() - .setValue(ShaftBlock.AXIS, Axis.X)) + .setValue(ShaftBlock.AXIS, Direction.Axis.X)) .translate(-.5f, .25f, .5f + i * -2) .centre() .rotateX(wheelAngle) diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackTileEntity.java b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackTileEntity.java index 05431e8fd..56bbe53c9 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackTileEntity.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/track/TrackTileEntity.java @@ -25,7 +25,7 @@ import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction.Axis; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.NbtUtils; @@ -203,7 +203,7 @@ public class TrackTileEntity extends SmartTileEntity implements ITransformableTE if (tag.contains("BoundLocation")) boundLocation = Pair.of( - ResourceKey.create(Registry.DIMENSION_REGISTRY, new ResourceLocation(tag.getString("BoundDimension"))), + ResourceKey.create(Registries.DIMENSION, new ResourceLocation(tag.getString("BoundDimension"))), NbtUtils.readBlockPos(tag.getCompound("BoundLocation"))); } diff --git a/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java b/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java index fa07d62b2..100dcaaa6 100644 --- a/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java +++ b/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java @@ -9,8 +9,8 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Holder; -import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; +import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceKey; import net.minecraft.server.level.ChunkHolder; import net.minecraft.sounds.SoundEvent; @@ -157,7 +157,7 @@ public class SchematicChunkSource extends ChunkSource { SoundEvent p_220367_, SoundSource p_220368_, float p_220369_, float p_220370_, long p_220371_) {} @Override - public void playSeededSound(Player p_220372_, Entity p_220373_, SoundEvent p_220374_, SoundSource p_220375_, + public void playSeededSound(Player p_220372_, Entity p_220373_, Holder p_220374_, SoundSource p_220375_, float p_220376_, float p_220377_, long p_220378_) {} @Override @@ -213,7 +213,7 @@ public class SchematicChunkSource extends ChunkSource { } private static final DummyLevel DUMMY_LEVEL = new DummyLevel(null, null, RegistryAccess.BUILTIN.get() - .registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY) + .registryOrThrow(Registries.DIMENSION_TYPE) .getHolderOrThrow(BuiltinDimensionTypes.OVERWORLD), null, false, false, 0, 0); public EmptierChunk(RegistryAccess registryAccess) { diff --git a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableScreen.java b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableScreen.java index 055370ab1..04aa4efb7 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableScreen.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/SchematicTableScreen.java @@ -129,7 +129,7 @@ public class SchematicTableScreen extends AbstractSimiContainerScreen { - consumer.accept(Pack.create(Create.asResource("legacy_copper").toString(), false, () -> new ModFilePackResources("Create Legacy Copper", modFile, "resourcepacks/legacy_copper"), constructor, Pack.Position.TOP, PackSource.DEFAULT)); + event.addRepositorySource(consumer -> { + Pack pack = Pack.readMetaAndCreate(Create.asResource("legacy_copper").toString(), Components.literal("Create Legacy Copper"), false, id -> new ModFilePackResources(id, modFile, "resourcepacks/legacy_copper"), PackType.CLIENT_RESOURCES, Pack.Position.TOP, PackSource.BUILT_IN); + if (pack != null) { + consumer.accept(pack); + } }); } } diff --git a/src/main/java/com/simibubi/create/foundation/ModFilePackResources.java b/src/main/java/com/simibubi/create/foundation/ModFilePackResources.java index 1fdae4db8..94603298b 100644 --- a/src/main/java/com/simibubi/create/foundation/ModFilePackResources.java +++ b/src/main/java/com/simibubi/create/foundation/ModFilePackResources.java @@ -10,7 +10,7 @@ public class ModFilePackResources extends PathPackResources { protected final String sourcePath; public ModFilePackResources(String name, IModFile modFile, String sourcePath) { - super(name, modFile.findResource(sourcePath)); + super(name, true, modFile.findResource(sourcePath)); this.modFile = modFile; this.sourcePath = sourcePath; } diff --git a/src/main/java/com/simibubi/create/foundation/collision/Matrix3d.java b/src/main/java/com/simibubi/create/foundation/collision/Matrix3d.java index 0778f8d0d..e2115184d 100644 --- a/src/main/java/com/simibubi/create/foundation/collision/Matrix3d.java +++ b/src/main/java/com/simibubi/create/foundation/collision/Matrix3d.java @@ -1,6 +1,6 @@ package com.simibubi.create.foundation.collision; -import com.mojang.math.Matrix4f; +import org.joml.Matrix4f; import net.minecraft.util.Mth; import net.minecraft.world.phys.Vec3; @@ -142,7 +142,7 @@ public class Matrix3d { conversionBuffer[9] = (float) m21; conversionBuffer[10] = (float) m22; - return new Matrix4f(conversionBuffer); + return new Matrix4f().setTransposed(conversionBuffer); } } diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/ConfigModListScreen.java b/src/main/java/com/simibubi/create/foundation/config/ui/ConfigModListScreen.java index e3b074830..9723124ce 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/ConfigModListScreen.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/ConfigModListScreen.java @@ -133,8 +133,8 @@ public class ConfigModListScreen extends ConfigScreen { public void render(PoseStack ms, int index, int y, int x, int width, int height, int mouseX, int mouseY, boolean p_230432_9_, float partialTicks) { super.render(ms, index, y, x, width, height, mouseX, mouseY, p_230432_9_, partialTicks); - button.x = x + width - 108; - button.y = y + 10; + button.setX(x + width - 108); + button.setY(y + 10); button.setHeight(height - 20); button.render(ms, mouseX, mouseY, partialTicks); } diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/HintableTextFieldWidget.java b/src/main/java/com/simibubi/create/foundation/config/ui/HintableTextFieldWidget.java index cc14b033f..18522ac17 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/HintableTextFieldWidget.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/HintableTextFieldWidget.java @@ -35,7 +35,7 @@ public class HintableTextFieldWidget extends EditBox { if (!getValue().isEmpty()) return; - font.draw(ms, hint, x + 5, this.y + (this.height - 8) / 2, Theme.c(Theme.Key.TEXT).scaleAlpha(.75f).getRGB()); + font.draw(ms, hint, getX() + 5, this.getY() + (this.height - 8) / 2, Theme.c(Theme.Key.TEXT).scaleAlpha(.75f).getRGB()); } @Override diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/OpenCreateMenuButton.java b/src/main/java/com/simibubi/create/foundation/config/ui/OpenCreateMenuButton.java index 7ae6880b3..c0038127a 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/OpenCreateMenuButton.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/OpenCreateMenuButton.java @@ -32,12 +32,12 @@ public class OpenCreateMenuButton extends Button { public static final ItemStack ICON = AllItems.GOGGLES.asStack(); public OpenCreateMenuButton(int x, int y) { - super(x, y, 20, 20, Components.immutableEmpty(), OpenCreateMenuButton::click); + super(x, y, 20, 20, Components.immutableEmpty(), OpenCreateMenuButton::click, DEFAULT_NARRATION); } @Override public void renderBg(PoseStack mstack, Minecraft mc, int mouseX, int mouseY) { - Minecraft.getInstance().getItemRenderer().renderGuiItem(ICON, x + 2, y + 2); + Minecraft.getInstance().getItemRenderer().renderGuiItem(ICON, getX() + 2, getY() + 2); } public static void click(Button b) { @@ -113,7 +113,7 @@ public class OpenCreateMenuButton extends Button { .equals(target)) .findFirst() .ifPresent(w -> toAdd - .setValue(new OpenCreateMenuButton(w.x + offsetX_ + (onLeft ? -20 : w.getWidth()), w.y))); + .setValue(new OpenCreateMenuButton(w.getX() + offsetX_ + (onLeft ? -20 : w.getWidth()), w.getY()))); if (toAdd.getValue() != null) event.addListener(toAdd.getValue()); } diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/entries/BooleanEntry.java b/src/main/java/com/simibubi/create/foundation/config/ui/entries/BooleanEntry.java index 371100441..2143b20af 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/entries/BooleanEntry.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/entries/BooleanEntry.java @@ -50,8 +50,8 @@ public class BooleanEntry extends ValueEntry { boolean p_230432_9_, float partialTicks) { super.render(ms, index, y, x, width, height, mouseX, mouseY, p_230432_9_, partialTicks); - button.x = x + width - 80 - resetWidth; - button.y = y + 10; + button.setX(x + width - 80 - resetWidth); + button.setY(y + 10); button.setWidth(35); button.setHeight(height - 20); button.render(ms, mouseX, mouseY, partialTicks); diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/entries/EnumEntry.java b/src/main/java/com/simibubi/create/foundation/config/ui/entries/EnumEntry.java index cc70e436f..d302a0b4e 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/entries/EnumEntry.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/entries/EnumEntry.java @@ -81,23 +81,23 @@ public class EnumEntry extends ValueEntry> { boolean p_230432_9_, float partialTicks) { super.render(ms, index, y, x, width, height, mouseX, mouseY, p_230432_9_, partialTicks); - cycleLeft.x = x + getLabelWidth(width) + 4; - cycleLeft.y = y + 10; + cycleLeft.setX(x + getLabelWidth(width) + 4); + cycleLeft.setY(y + 10); cycleLeft.render(ms, mouseX, mouseY, partialTicks); - valueText.at(cycleLeft.x + cycleWidth - 8, y + 10, 200) + valueText.at(cycleLeft.getX() + cycleWidth - 8, y + 10, 200) .withBounds(width - getLabelWidth(width) - 2 * cycleWidth - resetWidth - 4, 16) .render(ms); - cycleRight.x = x + width - cycleWidth * 2 - resetWidth + 10; - cycleRight.y = y + 10; + cycleRight.setX(x + width - cycleWidth * 2 - resetWidth + 10); + cycleRight.setY(y + 10); cycleRight.render(ms, mouseX, mouseY, partialTicks); new BoxElement() .withBackground(Theme.c(Theme.Key.PONDER_BACKGROUND_FLAT)) .flatBorder(0x01_000000) .withBounds(48, 6) - .at(cycleLeft.x + 22, cycleLeft.y + 5) + .at(cycleLeft.getX() + 22, cycleLeft.getY() + 5) .render(ms); } diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/entries/NumberEntry.java b/src/main/java/com/simibubi/create/foundation/config/ui/entries/NumberEntry.java index 4111d83b2..963852f2c 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/entries/NumberEntry.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/entries/NumberEntry.java @@ -149,21 +149,21 @@ public abstract class NumberEntry extends ValueEntry { public void render(PoseStack ms, int index, int y, int x, int width, int height, int mouseX, int mouseY, boolean p_230432_9_, float partialTicks) { super.render(ms, index, y, x, width, height, mouseX, mouseY, p_230432_9_, partialTicks); - textField.x = x + width - 82 - resetWidth; - textField.y = y + 8; + textField.setX(x + width - 82 - resetWidth); + textField.setY(y + 8); textField.setWidth(Math.min(width - getLabelWidth(width) - resetWidth - minOffset - maxOffset, 40)); textField.setHeight(20); textField.render(ms, mouseX, mouseY, partialTicks); if (minText != null) minText - .at(textField.x - minOffset, textField.y, 0) + .at(textField.getX() - minOffset, textField.getY(), 0) .withBounds(minOffset, textField.getHeight()) .render(ms); if (maxText != null) maxText - .at(textField.x + textField.getWidth(), textField.y, 0) + .at(textField.getX() + textField.getWidth(), textField.getY(), 0) .withBounds(maxOffset, textField.getHeight()) .render(ms); } diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/entries/SubMenuEntry.java b/src/main/java/com/simibubi/create/foundation/config/ui/entries/SubMenuEntry.java index d86f98aaa..57aa79738 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/entries/SubMenuEntry.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/entries/SubMenuEntry.java @@ -36,8 +36,8 @@ public class SubMenuEntry extends ConfigScreenList.LabeledEntry { public void render(PoseStack ms, int index, int y, int x, int width, int height, int mouseX, int mouseY, boolean p_230432_9_, float partialTicks) { super.render(ms, index, y, x, width, height, mouseX, mouseY, p_230432_9_, partialTicks); - button.x = x + width - 108; - button.y = y + 10; + button.setX(x + width - 108); + button.setY(y + 10); button.setHeight(height - 20); button.render(ms, mouseX, mouseY, partialTicks); } diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/entries/ValueEntry.java b/src/main/java/com/simibubi/create/foundation/config/ui/entries/ValueEntry.java index 61123a93f..1992a4a8c 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/entries/ValueEntry.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/entries/ValueEntry.java @@ -100,8 +100,8 @@ public class ValueEntry extends ConfigScreenList.LabeledEntry { public void render(PoseStack ms, int index, int y, int x, int width, int height, int mouseX, int mouseY, boolean p_230432_9_, float partialTicks) { super.render(ms, index, y, x, width, height, mouseX, mouseY, p_230432_9_, partialTicks); - resetButton.x = x + width - resetWidth + 6; - resetButton.y = y + 10; + resetButton.setX(x + width - resetWidth + 6); + resetButton.setY(y + 10); resetButton.render(ms, mouseX, mouseY, partialTicks); } diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java index 5401c429c..e5354ff06 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/StandardRecipeGen.java @@ -49,7 +49,7 @@ import net.minecraft.world.item.Items; import net.minecraft.world.item.crafting.Ingredient; import net.minecraft.world.item.crafting.RecipeSerializer; import net.minecraft.world.item.crafting.SimpleCookingSerializer; -import net.minecraft.world.item.crafting.SimpleRecipeSerializer; +import net.minecraft.world.item.crafting.SimpleCraftingRecipeSerializer; import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; @@ -1108,7 +1108,7 @@ public class StandardRecipeGen extends CreateRecipeProvider { return create(result::get); } - GeneratedRecipe createSpecial(Supplier> serializer, String recipeType, + GeneratedRecipe createSpecial(Supplier> serializer, String recipeType, String path) { ResourceLocation location = Create.asResource(recipeType + "/" + currentFolder + "/" + path); return register(consumer -> { diff --git a/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java index 508880945..644d68f39 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AbstractSimiScreen.java @@ -9,7 +9,7 @@ import com.simibubi.create.foundation.gui.widget.AbstractSimiWidget; import com.simibubi.create.foundation.utility.Components; import net.minecraft.client.gui.components.AbstractWidget; -import net.minecraft.client.gui.components.Widget; +import net.minecraft.client.gui.components.Renderable; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; import net.minecraft.client.gui.screens.Screen; @@ -71,13 +71,13 @@ public abstract class AbstractSimiScreen extends Screen { } @SuppressWarnings("unchecked") - protected void addRenderableWidgets(W... widgets) { + protected void addRenderableWidgets(W... widgets) { for (W widget : widgets) { addRenderableWidget(widget); } } - protected void addRenderableWidgets(Collection widgets) { + protected void addRenderableWidgets(Collection widgets) { for (W widget : widgets) { addRenderableWidget(widget); } @@ -137,14 +137,14 @@ public abstract class AbstractSimiScreen extends Screen { protected abstract void renderWindow(PoseStack ms, int mouseX, int mouseY, float partialTicks); protected void renderWindowForeground(PoseStack ms, int mouseX, int mouseY, float partialTicks) { - for (Widget widget : renderables) { + for (Renderable widget : renderables) { if (widget instanceof AbstractSimiWidget simiWidget && simiWidget.isHoveredOrFocused() && simiWidget.visible) { List tooltip = simiWidget.getToolTip(); if (tooltip.isEmpty()) continue; - int ttx = simiWidget.lockedTooltipX == -1 ? mouseX : simiWidget.lockedTooltipX + simiWidget.x; - int tty = simiWidget.lockedTooltipY == -1 ? mouseY : simiWidget.lockedTooltipY + simiWidget.y; + int ttx = simiWidget.lockedTooltipX == -1 ? mouseX : simiWidget.lockedTooltipX + simiWidget.getX(); + int tty = simiWidget.lockedTooltipY == -1 ? mouseY : simiWidget.lockedTooltipY + simiWidget.getY(); renderComponentTooltip(ms, tooltip, ttx, tty); } } diff --git a/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java b/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java index 0051e041e..cef90136e 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java +++ b/src/main/java/com/simibubi/create/foundation/gui/AllIcons.java @@ -1,9 +1,10 @@ package com.simibubi.create.foundation.gui; +import org.joml.Matrix4f; + import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Matrix4f; import com.simibubi.create.Create; import com.simibubi.create.foundation.gui.element.DelegatedStencilElement; import com.simibubi.create.foundation.gui.element.ScreenElement; diff --git a/src/main/java/com/simibubi/create/foundation/gui/CreateMainMenuScreen.java b/src/main/java/com/simibubi/create/foundation/gui/CreateMainMenuScreen.java index 45c03f754..cda6825be 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/CreateMainMenuScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/CreateMainMenuScreen.java @@ -20,6 +20,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.Util; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.Button; +import net.minecraft.client.gui.components.Tooltip; import net.minecraft.client.gui.screens.ConfirmLinkScreen; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.TitleScreen; @@ -142,31 +143,34 @@ public class CreateMainMenuScreen extends AbstractSimiScreen { int bShortWidth = 98; int bLongWidth = 200; - addRenderableWidget( - new Button(center - 100, yStart + 92, bLongWidth, bHeight, Lang.translateDirect("menu.return"), $ -> linkTo(parent))); - addRenderableWidget(new Button(center - 100, yStart + 24 + -16, bLongWidth, bHeight, Lang.translateDirect("menu.configure"), - $ -> linkTo(BaseConfigScreen.forCreate(this)))); + addRenderableWidget(Button.builder(Lang.translateDirect("menu.return"), $ -> linkTo(parent)) + .bounds(center - 100, yStart + 92, bLongWidth, bHeight) + .build()); + addRenderableWidget(Button.builder(Lang.translateDirect("menu.configure"), $ -> linkTo(BaseConfigScreen.forCreate(this))) + .bounds(center - 100, yStart + 24 + -16, bLongWidth, bHeight) + .build()); - gettingStarted = new Button(center + 2, yStart + 48 + -16, bShortWidth, bHeight, - Lang.translateDirect("menu.ponder_index"), $ -> linkTo(new PonderTagIndexScreen())); + gettingStarted = Button.builder(Lang.translateDirect("menu.ponder_index"), $ -> linkTo(new PonderTagIndexScreen())) + .bounds(center + 2, yStart + 48 + -16, bShortWidth, bHeight) + .build(); gettingStarted.active = !(parent instanceof TitleScreen); addRenderableWidget(gettingStarted); addRenderableWidget(new PlatformIconButton(center - 100, yStart + 48 + -16, bShortWidth / 2, bHeight, AllGuiTextures.CURSEFORGE_LOGO, 0.085f, b -> linkTo(CURSEFORGE_LINK), - (b, ps, mx, my) -> renderTooltip(ps, CURSEFORGE_TOOLTIP, mx, my))); + Tooltip.create(CURSEFORGE_TOOLTIP))); addRenderableWidget(new PlatformIconButton(center - 50, yStart + 48 + -16, bShortWidth / 2, bHeight, AllGuiTextures.MODRINTH_LOGO, 0.0575f, b -> linkTo(MODRINTH_LINK), - (b, ps, mx, my) -> renderTooltip(ps, MODRINTH_TOOLTIP, mx, my))); + Tooltip.create(MODRINTH_TOOLTIP))); - addRenderableWidget(new Button(center + 2, yStart + 68, bShortWidth, bHeight, - Lang.translateDirect("menu.report_bugs"), - $ -> linkTo(ISSUE_TRACKER_LINK))); - addRenderableWidget(new Button(center - 100, yStart + 68, bShortWidth, bHeight, - Lang.translateDirect("menu.support"), - $ -> linkTo(SUPPORT_LINK))); + addRenderableWidget(Button.builder(Lang.translateDirect("menu.report_bugs"), $ -> linkTo(ISSUE_TRACKER_LINK)) + .bounds(center + 2, yStart + 68, bShortWidth, bHeight) + .build()); + addRenderableWidget(Button.builder(Lang.translateDirect("menu.support"), $ -> linkTo(SUPPORT_LINK)) + .bounds(center - 100, yStart + 68, bShortWidth, bHeight) + .build()); } @Override @@ -175,9 +179,9 @@ public class CreateMainMenuScreen extends AbstractSimiScreen { renderables.forEach(w -> w.render(ms, mouseX, mouseY, partialTicks)); if (parent instanceof TitleScreen) { - if (mouseX < gettingStarted.x || mouseX > gettingStarted.x + 98) + if (mouseX < gettingStarted.getX() || mouseX > gettingStarted.getX() + 98) return; - if (mouseY < gettingStarted.y || mouseY > gettingStarted.y + 20) + if (mouseY < gettingStarted.getY() || mouseY > gettingStarted.getY() + 20) return; renderComponentTooltip(ms, TooltipHelper.cutTextComponent(Lang.translateDirect("menu.only_ingame"), ChatFormatting.GRAY, ChatFormatting.GRAY), mouseX, mouseY); @@ -208,16 +212,17 @@ public class CreateMainMenuScreen extends AbstractSimiScreen { protected final AllGuiTextures icon; protected final float scale; - public PlatformIconButton(int pX, int pY, int pWidth, int pHeight, AllGuiTextures icon, float scale, OnPress pOnPress, OnTooltip pOnTooltip) { - super(pX, pY, pWidth, pHeight, Components.immutableEmpty(), pOnPress, pOnTooltip); + public PlatformIconButton(int pX, int pY, int pWidth, int pHeight, AllGuiTextures icon, float scale, OnPress pOnPress, Tooltip tooltip) { + super(pX, pY, pWidth, pHeight, Components.immutableEmpty(), pOnPress, DEFAULT_NARRATION); this.icon = icon; this.scale = scale; + setTooltip(tooltip); } @Override protected void renderBg(PoseStack pPoseStack, Minecraft pMinecraft, int pMouseX, int pMouseY) { pPoseStack.pushPose(); - pPoseStack.translate(x + width / 2 - (icon.width * scale) / 2, y + height / 2 - (icon.height * scale) / 2, 0); + pPoseStack.translate(getX() + width / 2 - (icon.width * scale) / 2, getY() + height / 2 - (icon.height * scale) / 2, 0); pPoseStack.scale(scale, scale, 1); icon.render(pPoseStack, 0, 0); pPoseStack.popPose(); diff --git a/src/main/java/com/simibubi/create/foundation/gui/CustomLightingSettings.java b/src/main/java/com/simibubi/create/foundation/gui/CustomLightingSettings.java index 9abc3159c..2618fd9bf 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/CustomLightingSettings.java +++ b/src/main/java/com/simibubi/create/foundation/gui/CustomLightingSettings.java @@ -1,8 +1,10 @@ package com.simibubi.create.foundation.gui; +import org.joml.Matrix4f; +import org.joml.Vector3f; + import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.math.Matrix4f; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; public class CustomLightingSettings implements ILightingSettings { @@ -19,20 +21,20 @@ public class CustomLightingSettings implements ILightingSettings { } protected void init(float yRot1, float xRot1, float yRot2, float xRot2, boolean doubleLight) { - light1 = Vector3f.ZP.copy(); - light1.transform(Vector3f.YP.rotationDegrees(yRot1)); - light1.transform(Vector3f.XN.rotationDegrees(xRot1)); + light1 = new Vector3f(0, 0, 1); + light1.rotate(Axis.YP.rotationDegrees(yRot1)); + light1.rotate(Axis.XN.rotationDegrees(xRot1)); if (doubleLight) { - light2 = Vector3f.ZP.copy(); - light2.transform(Vector3f.YP.rotationDegrees(yRot2)); - light2.transform(Vector3f.XN.rotationDegrees(xRot2)); + light2 = new Vector3f(0, 0, 1); + light2.rotate(Axis.YP.rotationDegrees(yRot2)); + light2.rotate(Axis.XN.rotationDegrees(xRot2)); } else { - light2 = Vector3f.ZERO; + light2 = new Vector3f(); } lightMatrix = new Matrix4f(); - lightMatrix.setIdentity(); + lightMatrix.identity(); } @Override diff --git a/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLine.java b/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLine.java index b098bf142..fa47c9471 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLine.java +++ b/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLine.java @@ -12,7 +12,7 @@ import com.simibubi.create.foundation.utility.Pair; import net.minecraft.client.gui.components.AbstractWidget; import net.minecraft.client.gui.components.EditBox; -import net.minecraft.client.gui.components.Widget; +import net.minecraft.client.gui.components.Renderable; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; import net.minecraft.nbt.CompoundTag; @@ -48,7 +48,7 @@ public class ModularGuiLine { continue; AbstractWidget aw = pair.getFirst(); - int x = aw.x; + int x = aw.getX(); int width = aw.getWidth(); if (aw instanceof EditBox) { @@ -82,7 +82,7 @@ public class ModularGuiLine { } @SuppressWarnings("unchecked") - public void loadValues(CompoundTag data, + public void loadValues(CompoundTag data, Consumer addRenderable, Consumer addRenderableOnly) { for (Pair pair : widgets) { AbstractWidget w = pair.getFirst(); diff --git a/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLineBuilder.java b/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLineBuilder.java index 69973a41f..ae6c298f2 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLineBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/gui/ModularGuiLineBuilder.java @@ -52,7 +52,7 @@ public class ModularGuiLineBuilder { } private void addScrollInput(T input, BiConsumer inputTransform, String dataKey) { - Label label = new Label(input.x + 5, y, Components.immutableEmpty()); + Label label = new Label(input.getX() + 5, y, Components.immutableEmpty()); label.withShadow(); inputTransform.accept(input, label); input.writingTo(label); diff --git a/src/main/java/com/simibubi/create/foundation/gui/RemovedGuiUtils.java b/src/main/java/com/simibubi/create/foundation/gui/RemovedGuiUtils.java index 7d93d3b64..8f4c1c9b6 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/RemovedGuiUtils.java +++ b/src/main/java/com/simibubi/create/foundation/gui/RemovedGuiUtils.java @@ -5,10 +5,11 @@ import java.util.List; import javax.annotation.Nonnull; +import org.joml.Matrix4f; + import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; -import com.mojang.math.Matrix4f; import net.minecraft.client.gui.Font; import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent; diff --git a/src/main/java/com/simibubi/create/foundation/gui/UIRenderHelper.java b/src/main/java/com/simibubi/create/foundation/gui/UIRenderHelper.java index 4bffc3e76..8d8e67fcd 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/UIRenderHelper.java +++ b/src/main/java/com/simibubi/create/foundation/gui/UIRenderHelper.java @@ -2,6 +2,7 @@ package com.simibubi.create.foundation.gui; import javax.annotation.Nonnull; +import org.joml.Matrix4f; import org.lwjgl.opengl.GL20; import org.lwjgl.opengl.GL30; @@ -15,8 +16,7 @@ import com.mojang.blaze3d.vertex.DefaultVertexFormat; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.blaze3d.vertex.VertexFormat; -import com.mojang.math.Matrix4f; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.Couple; @@ -80,7 +80,7 @@ public class UIRenderHelper { ms.pushPose(); ms.translate(x, y, 0); - ms.mulPose(Vector3f.ZP.rotationDegrees(angle - 90)); + ms.mulPose(Axis.ZP.rotationDegrees(angle - 90)); streak(ms, breadth / 2, length, c1, c2, c3, c4); @@ -96,7 +96,7 @@ public class UIRenderHelper { ms.pushPose(); ms.translate(x, y, 0); - ms.mulPose(Vector3f.ZP.rotationDegrees(angle - 90)); + ms.mulPose(Axis.ZP.rotationDegrees(angle - 90)); streak(ms, breadth / 2, length, c1, c2, c3, c4); @@ -144,7 +144,7 @@ public class UIRenderHelper { public static void angledGradient(@Nonnull PoseStack ms, float angle, int x, int y, int z, int breadth, int length, Color color1, Color color2) { ms.pushPose(); ms.translate(x, y, z); - ms.mulPose(Vector3f.ZP.rotationDegrees(angle - 90)); + ms.mulPose(Axis.ZP.rotationDegrees(angle - 90)); Matrix4f model = ms.last().pose(); int w = breadth / 2; @@ -272,7 +272,7 @@ public class UIRenderHelper { } public static void flipForGuiRender(PoseStack poseStack) { - poseStack.mulPoseMatrix(Matrix4f.createScaleMatrix(1, -1, 1)); + poseStack.mulPoseMatrix(new Matrix4f().scaling(1, -1, 1)); } public static class CustomRenderTarget extends RenderTarget { diff --git a/src/main/java/com/simibubi/create/foundation/gui/container/AbstractSimiContainerScreen.java b/src/main/java/com/simibubi/create/foundation/gui/container/AbstractSimiContainerScreen.java index f18e1a023..cf88a60dc 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/container/AbstractSimiContainerScreen.java +++ b/src/main/java/com/simibubi/create/foundation/gui/container/AbstractSimiContainerScreen.java @@ -13,7 +13,7 @@ import com.simibubi.create.foundation.gui.TickableGuiEventListener; import com.simibubi.create.foundation.gui.widget.AbstractSimiWidget; import net.minecraft.client.gui.components.AbstractWidget; -import net.minecraft.client.gui.components.Widget; +import net.minecraft.client.gui.components.Renderable; import net.minecraft.client.gui.components.events.GuiEventListener; import net.minecraft.client.gui.narration.NarratableEntry; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; @@ -68,13 +68,13 @@ public abstract class AbstractSimiContainerScreen void addRenderableWidgets(W... widgets) { + protected void addRenderableWidgets(W... widgets) { for (W widget : widgets) { addRenderableWidget(widget); } } - protected void addRenderableWidgets(Collection widgets) { + protected void addRenderableWidgets(Collection widgets) { for (W widget : widgets) { addRenderableWidget(widget); } @@ -113,13 +113,13 @@ public abstract class AbstractSimiContainerScreen tooltip = simiWidget.getToolTip(); if (tooltip.isEmpty()) continue; - int ttx = simiWidget.lockedTooltipX == -1 ? mouseX : simiWidget.lockedTooltipX + simiWidget.x; - int tty = simiWidget.lockedTooltipY == -1 ? mouseY : simiWidget.lockedTooltipY + simiWidget.y; + int ttx = simiWidget.lockedTooltipX == -1 ? mouseX : simiWidget.lockedTooltipX + simiWidget.getX(); + int tty = simiWidget.lockedTooltipY == -1 ? mouseY : simiWidget.lockedTooltipY + simiWidget.getY(); renderComponentTooltip(ms, tooltip, ttx, tty); } } diff --git a/src/main/java/com/simibubi/create/foundation/gui/element/BoxElement.java b/src/main/java/com/simibubi/create/foundation/gui/element/BoxElement.java index a578989e0..150f1da87 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/element/BoxElement.java +++ b/src/main/java/com/simibubi/create/foundation/gui/element/BoxElement.java @@ -1,12 +1,13 @@ package com.simibubi.create.foundation.gui.element; +import org.joml.Matrix4f; + import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.BufferBuilder; import com.mojang.blaze3d.vertex.DefaultVertexFormat; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.blaze3d.vertex.VertexFormat; -import com.mojang.math.Matrix4f; import com.simibubi.create.foundation.utility.Color; import com.simibubi.create.foundation.utility.Couple; diff --git a/src/main/java/com/simibubi/create/foundation/gui/element/GuiGameElement.java b/src/main/java/com/simibubi/create/foundation/gui/element/GuiGameElement.java index c03978e25..3f743247e 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/element/GuiGameElement.java +++ b/src/main/java/com/simibubi/create/foundation/gui/element/GuiGameElement.java @@ -10,7 +10,7 @@ import com.mojang.blaze3d.platform.GlStateManager.SourceFactor; import com.mojang.blaze3d.platform.Lighting; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.foundation.fluid.FluidRenderer; import com.simibubi.create.foundation.gui.ILightingSettings; import com.simibubi.create.foundation.gui.UIRenderHelper; @@ -127,9 +127,9 @@ public class GuiGameElement { matrixStack.translate(xLocal, yLocal, zLocal); UIRenderHelper.flipForGuiRender(matrixStack); matrixStack.translate(rotationOffset.x, rotationOffset.y, rotationOffset.z); - matrixStack.mulPose(Vector3f.ZP.rotationDegrees((float) zRot)); - matrixStack.mulPose(Vector3f.XP.rotationDegrees((float) xRot)); - matrixStack.mulPose(Vector3f.YP.rotationDegrees((float) yRot)); + matrixStack.mulPose(Axis.ZP.rotationDegrees((float) zRot)); + matrixStack.mulPose(Axis.XP.rotationDegrees((float) xRot)); + matrixStack.mulPose(Axis.YP.rotationDegrees((float) yRot)); matrixStack.translate(-rotationOffset.x, -rotationOffset.y, -rotationOffset.z); } diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/AbstractSimiWidget.java b/src/main/java/com/simibubi/create/foundation/gui/widget/AbstractSimiWidget.java index 6d0d747c3..46a873fa6 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/AbstractSimiWidget.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/AbstractSimiWidget.java @@ -64,7 +64,7 @@ public abstract class AbstractSimiWidget extends AbstractWidget implements Ticka @Override public void render(@Nonnull PoseStack ms, int mouseX, int mouseY, float partialTicks) { if (visible) { - isHovered = mouseX >= x && mouseY >= y && mouseX < x + width && mouseY < y + height; + isHovered = mouseX >= getX() && mouseY >= getY() && mouseX < getX() + width && mouseY < getY() + height; beforeRender(ms, mouseX, mouseY, partialTicks); renderButton(ms, mouseX, mouseY, partialTicks); afterRender(ms, mouseX, mouseY, partialTicks); @@ -94,7 +94,7 @@ public abstract class AbstractSimiWidget extends AbstractWidget implements Ticka } @Override - public void updateNarration(NarrationElementOutput pNarrationElementOutput) { + public void updateWidgetNarration(NarrationElementOutput pNarrationElementOutput) { defaultButtonNarrationText(pNarrationElementOutput); } } diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/BoxWidget.java b/src/main/java/com/simibubi/create/foundation/gui/widget/BoxWidget.java index d6c20fd52..6a4eb081e 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/BoxWidget.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/BoxWidget.java @@ -130,7 +130,7 @@ public class BoxWidget extends ElementWidget { box.withAlpha(fadeValue); box.withBackground(customBackground != null ? customBackground : Theme.c(Theme.Key.PONDER_BACKGROUND_TRANSPARENT)) .gradientBorder(gradientColor1, gradientColor2) - .at(x, y, z) + .at(getX(), getY(), z) .withBounds(width, height) .render(ms); @@ -147,7 +147,7 @@ public class BoxWidget extends ElementWidget { float padX = 2 + paddingX; float padY = 2 + paddingY; - return x - padX <= mX && y - padY <= mY && mX < x + padX + width && mY < y + padY + height; + return getX() - padX <= mX && getY() - padY <= mY && mX < getX() + padX + width && mY < getY() + padY + height; } @Override diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/ElementWidget.java b/src/main/java/com/simibubi/create/foundation/gui/widget/ElementWidget.java index 0cf582e94..a49567c35 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/ElementWidget.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/ElementWidget.java @@ -132,7 +132,7 @@ public class ElementWidget extends AbstractSimiWidget { @Override public void renderButton(@Nonnull PoseStack ms, int mouseX, int mouseY, float partialTicks) { ms.pushPose(); - ms.translate(x + paddingX, y + paddingY, z); + ms.translate(getX() + paddingX, getY() + paddingY, z); float innerWidth = width - 2 * paddingX; float innerHeight = height - 2 * paddingY; float eX = element.getX(), eY = element.getY(); diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/IconButton.java b/src/main/java/com/simibubi/create/foundation/gui/widget/IconButton.java index 366eb4177..460f42245 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/IconButton.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/IconButton.java @@ -25,20 +25,20 @@ public class IconButton extends AbstractSimiWidget { @Override public void renderButton(@Nonnull PoseStack matrixStack, int mouseX, int mouseY, float partialTicks) { if (visible) { - isHovered = mouseX >= x && mouseY >= y && mouseX < x + width && mouseY < y + height; + isHovered = mouseX >= getX() && mouseY >= getY() && mouseX < getX() + width && mouseY < getY() + height; AllGuiTextures button = !active ? AllGuiTextures.BUTTON_DOWN : isHoveredOrFocused() ? AllGuiTextures.BUTTON_HOVER : AllGuiTextures.BUTTON; RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F); drawBg(matrixStack, button); - icon.render(matrixStack, x + 1, y + 1); + icon.render(matrixStack, getX() + 1, getY() + 1); } } protected void drawBg(PoseStack matrixStack, AllGuiTextures button) { AllGuiTextures.BUTTON.bind(); - blit(matrixStack, x, y, button.startX, button.startY, button.width, button.height); + blit(matrixStack, getX(), getY(), button.startX, button.startY, button.width, button.height); } public void setToolTip(Component text) { diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/Indicator.java b/src/main/java/com/simibubi/create/foundation/gui/widget/Indicator.java index 4589f9d9b..0ef69e3ab 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/Indicator.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/Indicator.java @@ -31,7 +31,7 @@ public class Indicator extends AbstractSimiWidget { case GREEN: toDraw = AllGuiTextures.INDICATOR_GREEN; break; default: toDraw = AllGuiTextures.INDICATOR; break; } - toDraw.render(matrixStack, x, y, this); + toDraw.render(matrixStack, getX(), getY(), this); } public enum State { diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java b/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java index 57bb7ce28..3e5ebd6d3 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/Label.java @@ -81,9 +81,9 @@ public class Label extends AbstractSimiWidget { copy.append(suffix); if (hasShadow) - font.drawShadow(matrixStack, copy, x, y, color); + font.drawShadow(matrixStack, copy, getX(), getY(), color); else - font.draw(matrixStack, copy, x, y, color); + font.draw(matrixStack, copy, getX(), getY(), color); } } diff --git a/src/main/java/com/simibubi/create/foundation/gui/widget/TooltipArea.java b/src/main/java/com/simibubi/create/foundation/gui/widget/TooltipArea.java index db256b4a4..b6d3a2e7c 100644 --- a/src/main/java/com/simibubi/create/foundation/gui/widget/TooltipArea.java +++ b/src/main/java/com/simibubi/create/foundation/gui/widget/TooltipArea.java @@ -15,7 +15,7 @@ public class TooltipArea extends AbstractSimiWidget { @Override public void renderButton(PoseStack ms, int mouseX, int mouseY, float partialTicks) { if (visible) - isHovered = mouseX >= x && mouseY >= y && mouseX < x + width && mouseY < y + height; + isHovered = mouseX >= getX() && mouseY >= getY() && mouseX < getX() + width && mouseY < getY() + height; } public TooltipArea withTooltip(List tooltip) { diff --git a/src/main/java/com/simibubi/create/foundation/item/CreateItemGroupBase.java b/src/main/java/com/simibubi/create/foundation/item/CreateItemGroupBase.java index e4d91d0e3..dcf9dcf64 100644 --- a/src/main/java/com/simibubi/create/foundation/item/CreateItemGroupBase.java +++ b/src/main/java/com/simibubi/create/foundation/item/CreateItemGroupBase.java @@ -12,7 +12,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.entity.ItemRenderer; import net.minecraft.client.resources.model.BakedModel; import net.minecraft.core.NonNullList; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; @@ -65,7 +65,7 @@ public abstract class CreateItemGroupBase extends CreativeModeTab { protected Collection> getBlocks() { return getSections().stream() .flatMap(s -> Create.REGISTRATE - .getAll(s, Registry.BLOCK_REGISTRY) + .getAll(s, Registries.BLOCK) .stream()) .collect(Collectors.toList()); } @@ -73,7 +73,7 @@ public abstract class CreateItemGroupBase extends CreativeModeTab { protected Collection> getItems() { return getSections().stream() .flatMap(s -> Create.REGISTRATE - .getAll(s, Registry.ITEM_REGISTRY) + .getAll(s, Registries.ITEM) .stream()) .collect(Collectors.toList()); } diff --git a/src/main/java/com/simibubi/create/foundation/mixin/MapRendererMapInstanceMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/MapRendererMapInstanceMixin.java index ed8f08cfa..243fcd03d 100644 --- a/src/main/java/com/simibubi/create/foundation/mixin/MapRendererMapInstanceMixin.java +++ b/src/main/java/com/simibubi/create/foundation/mixin/MapRendererMapInstanceMixin.java @@ -2,6 +2,7 @@ package com.simibubi.create.foundation.mixin; import java.util.Iterator; +import org.joml.Matrix4f; import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; @@ -13,7 +14,6 @@ import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Matrix4f; import com.simibubi.create.foundation.map.CustomRenderedMapDecoration; import net.minecraft.client.renderer.MultiBufferSource; diff --git a/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java b/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java index 731838dc7..f82515538 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/PonderScene.java @@ -17,12 +17,12 @@ import javax.annotation.Nullable; import org.apache.commons.lang3.mutable.MutableDouble; import org.apache.commons.lang3.mutable.MutableObject; +import org.joml.Matrix4f; +import org.joml.Vector4f; import com.jozufozu.flywheel.util.DiffuseLightCalculator; import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; -import com.mojang.math.Vector4f; import com.simibubi.create.foundation.gui.UIRenderHelper; import com.simibubi.create.foundation.ponder.content.PonderIndex; import com.simibubi.create.foundation.ponder.element.PonderElement; @@ -564,7 +564,7 @@ public class PonderScene { public Vec2 sceneToScreen(Vec3 vec, float pt) { refreshMatrix(pt); Vector4f vec4 = new Vector4f((float) vec.x, (float) vec.y, (float) vec.z, 1); - vec4.transform(cachedMat); + vec4.mul(cachedMat); return new Vec2(vec4.x(), vec4.y()); } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java index 890d8a2cd..01d0f0d61 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/SceneBuilder.java @@ -7,7 +7,8 @@ import java.util.function.Function; import java.util.function.Supplier; import java.util.function.UnaryOperator; -import com.mojang.math.Vector3f; +import org.joml.Vector3f; + import com.simibubi.create.content.contraptions.base.IRotate.SpeedLevel; import com.simibubi.create.content.contraptions.base.KineticBlock; import com.simibubi.create.content.contraptions.base.KineticTileEntity; diff --git a/src/main/java/com/simibubi/create/foundation/ponder/element/TextWindowElement.java b/src/main/java/com/simibubi/create/foundation/ponder/element/TextWindowElement.java index 7dcbd1c0a..0971b5ecd 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/element/TextWindowElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/element/TextWindowElement.java @@ -3,8 +3,9 @@ package com.simibubi.create.foundation.ponder.element; import java.util.List; import java.util.function.Supplier; +import org.joml.Matrix4f; + import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; import com.simibubi.create.foundation.gui.Theme; import com.simibubi.create.foundation.gui.element.BoxElement; import com.simibubi.create.foundation.ponder.PonderLocalization; diff --git a/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java b/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java index 4beb77fe2..8871d1c2d 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/element/WorldSectionElement.java @@ -331,8 +331,8 @@ public class WorldSectionElement extends AnimatedSceneElement { if (overlayMS == null) { overlayMS = new PoseStack(); - overlayMS.last().pose().load(ms.last().pose()); - overlayMS.last().normal().load(ms.last().normal()); + overlayMS.last().pose().set(ms.last().pose()); + overlayMS.last().normal().set(ms.last().normal()); float scaleFactor = world.scene.getScaleFactor(); float f = (float) Math.pow(30 * scaleFactor, -1.2); @@ -343,7 +343,8 @@ public class WorldSectionElement extends AnimatedSceneElement { buffer.getBuffer(ModelBakery.DESTROY_TYPES.get(entry.getValue())), overlayMS.last() .pose(), overlayMS.last() - .normal()); + .normal(), + 1); ms.pushPose(); ms.translate(pos.getX(), pos.getY(), pos.getZ()); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/ui/ChapterLabel.java b/src/main/java/com/simibubi/create/foundation/ponder/ui/ChapterLabel.java index b32dbfe97..4c9679c64 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/ui/ChapterLabel.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/ui/ChapterLabel.java @@ -29,9 +29,9 @@ public class ChapterLabel extends AbstractSimiWidget { @Override public void render(@Nonnull PoseStack ms, int mouseX, int mouseY, float partialTicks) { - UIRenderHelper.streak(ms, 0, x, y + height / 2, height - 2, width); - Minecraft.getInstance().font.draw(ms, chapter.getTitle(), x + 50, - y + 20, Theme.i(Theme.Key.TEXT_ACCENT_SLIGHT)); + UIRenderHelper.streak(ms, 0, getX(), getY() + height / 2, height - 2, width); + Minecraft.getInstance().font.draw(ms, chapter.getTitle(), getX() + 50, + getY() + 20, Theme.i(Theme.Key.TEXT_ACCENT_SLIGHT)); button.renderButton(ms, mouseX, mouseY, partialTicks); super.render(ms, mouseX, mouseY, partialTicks); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/ui/NavigatableSimiScreen.java b/src/main/java/com/simibubi/create/foundation/ponder/ui/NavigatableSimiScreen.java index afb234ff3..f53b201de 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/ui/NavigatableSimiScreen.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/ui/NavigatableSimiScreen.java @@ -115,9 +115,9 @@ public abstract class NavigatableSimiScreen extends AbstractSimiScreen { protected void renderWindowBackground(PoseStack ms, int mouseX, int mouseY, float partialTicks) { if (backTrack != null) { int x = (int) Mth.lerp(arrowAnimation.getValue(partialTicks), -9, 21); - int maxX = backTrack.x + backTrack.getWidth(); + int maxX = backTrack.getX() + backTrack.getWidth(); - if (x + 30 < backTrack.x) + if (x + 30 < backTrack.getX()) UIRenderHelper.breadcrumbArrow(ms, x + 30, height - 51, 0, maxX - (x + 30), 20, 5, Theme.p(Theme.Key.PONDER_BACK_ARROW)); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderButton.java b/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderButton.java index 2639f2b34..978526d79 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderButton.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderButton.java @@ -99,7 +99,7 @@ public class PonderButton extends BoxWidget { if (shortcut != null) { ms.pushPose(); ms.translate(0, 0, z + 10); - drawCenteredString(ms, Minecraft.getInstance().font, shortcut.getTranslatedKeyMessage(), x + width / 2 + 8, y + height - 6, Theme.c(Theme.Key.TEXT_DARKER).scaleAlpha(fadeValue).getRGB()); + drawCenteredString(ms, Minecraft.getInstance().font, shortcut.getTranslatedKeyMessage(), getX() + width / 2 + 8, getY() + height - 6, Theme.c(Theme.Key.TEXT_DARKER).scaleAlpha(fadeValue).getRGB()); ms.popPose(); } } diff --git a/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderProgressBar.java b/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderProgressBar.java index e8719917e..420a21c2b 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderProgressBar.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderProgressBar.java @@ -37,8 +37,8 @@ public class PonderProgressBar extends AbstractSimiWidget { @Override protected boolean clicked(double mouseX, double mouseY) { return this.active && this.visible && ponder.getActiveScene().getKeyframeCount() > 0 - && mouseX >= (double) this.x && mouseX < (double) (this.x + this.width + 4) && mouseY >= (double) this.y - 3 - && mouseY < (double) (this.y + this.height + 20); + && mouseX >= (double) this.getX() && mouseX < (double) (this.getX() + this.width + 4) && mouseY >= (double) this.getY() - 3 + && mouseY < (double) (this.getY() + this.height + 20); } @Override @@ -57,7 +57,7 @@ public class PonderProgressBar extends AbstractSimiWidget { public int getHoveredKeyframeIndex(PonderScene activeScene, double mouseX) { int totalTime = activeScene.getTotalTime(); - int clickedAtTime = (int) ((mouseX - x) / ((double) width + 4) * totalTime); + int clickedAtTime = (int) ((mouseX - getX()) / ((double) width + 4) * totalTime); { int lastKeyframeTime = activeScene.getKeyframeTime(activeScene.getKeyframeCount() - 1); @@ -92,12 +92,12 @@ public class PonderProgressBar extends AbstractSimiWidget { new BoxElement() .withBackground(Theme.c(Theme.Key.PONDER_BACKGROUND_FLAT)) .gradientBorder(Theme.p(Theme.Key.PONDER_IDLE)) - .at(x, y, 400) + .at(getX(), getY(), 400) .withBounds(width, height) .render(ms); ms.pushPose(); - ms.translate(x - 2, y - 2, 100); + ms.translate(getX() - 2, getY() - 2, 100); ms.pushPose(); ms.scale((width + 4) * progress.getValue(partialTicks), 1, 1); diff --git a/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderUI.java b/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderUI.java index ed573d2c6..8ef7b2bfe 100644 --- a/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderUI.java +++ b/src/main/java/com/simibubi/create/foundation/ponder/ui/PonderUI.java @@ -7,12 +7,13 @@ import java.util.Collections; import java.util.List; import java.util.stream.IntStream; +import org.joml.Matrix4f; + import com.mojang.blaze3d.platform.ClipboardManager; import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.Create; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.gui.AllGuiTextures; @@ -444,7 +445,7 @@ public class PonderUI extends NavigatableSimiScreen { // has to be outside of MS transforms, important for vertex sorting Matrix4f matrix4f = new Matrix4f(RenderSystem.getProjectionMatrix()); - matrix4f.multiplyWithTranslation(0, 0, 800); + matrix4f.translate(0, 0, 800); RenderSystem.setProjectionMatrix(matrix4f); ms.pushPose(); @@ -493,7 +494,7 @@ public class PonderUI extends NavigatableSimiScreen { ScreenUtils.drawGradientRect(ms.last() .pose(), 0, 0, 0, -story.getBasePlateSize(), 4, 0x66_000000, 0x00_000000); ms.popPose(); - ms.mulPose(Vector3f.YP.rotationDegrees(-90)); + ms.mulPose(Axis.YP.rotationDegrees(-90)); } ms.popPose(); RenderSystem.disableCull(); @@ -521,7 +522,7 @@ public class PonderUI extends NavigatableSimiScreen { ms.pushPose(); ms.scale(-1, 1, 1); ms.translate(0, -3, -4); - ms.mulPose(Vector3f.YP.rotationDegrees(-90)); + ms.mulPose(Axis.YP.rotationDegrees(-90)); ms.translate(-8, -2, 2 / 64f); for (int z = 0; z <= bounds.getZSpan(); z++) { ms.translate(16, 0, 0); @@ -532,12 +533,12 @@ public class PonderUI extends NavigatableSimiScreen { // DIRECTIONS ms.pushPose(); ms.translate(bounds.getXSpan() * -8, 0, bounds.getZSpan() * 8); - ms.mulPose(Vector3f.YP.rotationDegrees(-90)); + ms.mulPose(Axis.YP.rotationDegrees(-90)); for (Direction d : Iterate.horizontalDirections) { - ms.mulPose(Vector3f.YP.rotationDegrees(90)); + ms.mulPose(Axis.YP.rotationDegrees(90)); ms.pushPose(); ms.translate(0, 0, bounds.getZSpan() * 16); - ms.mulPose(Vector3f.XP.rotationDegrees(-90)); + ms.mulPose(Axis.XP.rotationDegrees(-90)); font.draw(ms, d.name() .substring(0, 1), 0, 0, 0x66FFFFFF); font.draw(ms, "|", 2, 10, 0x44FFFFFF); @@ -671,8 +672,8 @@ public class PonderUI extends NavigatableSimiScreen { else button.dim(); - int x = button.x + button.getWidth() + 4; - int y = button.y - 2; + int x = button.getX() + button.getWidth() + 4; + int y = button.getY() - 2; ms.translate(x, y + 5 * (1 - fade), 800); float fadedWidth = 200 * chase.getValue(partialTicks); @@ -705,7 +706,7 @@ public class PonderUI extends NavigatableSimiScreen { if (nextScene != null && nextUp.getValue() > 1 / 16f && !nextScene.getId() .equals(Create.asResource("creative_motor_mojang"))) { ms.pushPose(); - ms.translate(right.x + 10, right.y - 6 + nextUp.getValue(partialTicks) * 5, 400); + ms.translate(right.getX() + 10, right.getY() - 6 + nextUp.getValue(partialTicks) * 5, 400); int boxWidth = (Math.max(font.width(nextScene.getTitle()), font.width(Lang.translateDirect(NEXT_UP))) + 5); renderSpeechBox(ms, 0, 0, boxWidth, 20, right.isHoveredOrFocused(), Pointing.DOWN, false); ms.translate(0, -29, 100); @@ -720,19 +721,19 @@ public class PonderUI extends NavigatableSimiScreen { ms.translate(0, 0, 500); int tooltipY = height - 16; if (scan.isHoveredOrFocused()) - drawCenteredString(ms, font, Lang.translateDirect(IDENTIFY), scan.x + 10, tooltipY, tooltipColor); + drawCenteredString(ms, font, Lang.translateDirect(IDENTIFY), scan.getX() + 10, tooltipY, tooltipColor); if (index != 0 && left.isHoveredOrFocused()) - drawCenteredString(ms, font, Lang.translateDirect(PREVIOUS), left.x + 10, tooltipY, tooltipColor); + drawCenteredString(ms, font, Lang.translateDirect(PREVIOUS), left.getX() + 10, tooltipY, tooltipColor); if (close.isHoveredOrFocused()) - drawCenteredString(ms, font, Lang.translateDirect(CLOSE), close.x + 10, tooltipY, tooltipColor); + drawCenteredString(ms, font, Lang.translateDirect(CLOSE), close.getX() + 10, tooltipY, tooltipColor); if (index != scenes.size() - 1 && right.isHoveredOrFocused()) - drawCenteredString(ms, font, Lang.translateDirect(NEXT), right.x + 10, tooltipY, tooltipColor); + drawCenteredString(ms, font, Lang.translateDirect(NEXT), right.getX() + 10, tooltipY, tooltipColor); if (replay.isHoveredOrFocused()) - drawCenteredString(ms, font, Lang.translateDirect(REPLAY), replay.x + 10, tooltipY, tooltipColor); + drawCenteredString(ms, font, Lang.translateDirect(REPLAY), replay.getX() + 10, tooltipY, tooltipColor); if (slowMode.isHoveredOrFocused()) - drawCenteredString(ms, font, Lang.translateDirect(SLOW_TEXT), slowMode.x + 5, tooltipY, tooltipColor); + drawCenteredString(ms, font, Lang.translateDirect(SLOW_TEXT), slowMode.getX() + 5, tooltipY, tooltipColor); if (PonderIndex.editingModeActive() && userMode.isHoveredOrFocused()) - drawCenteredString(ms, font, "Editor View", userMode.x + 10, tooltipY, tooltipColor); + drawCenteredString(ms, font, "Editor View", userMode.getX() + 10, tooltipY, tooltipColor); ms.popPose(); } @@ -744,7 +745,7 @@ public class PonderUI extends NavigatableSimiScreen { int y = 31; String title = activeScene.getTitle(); - int wordWrappedHeight = font.wordWrapHeight(title, left.x - 51); + int wordWrappedHeight = font.wordWrapHeight(title, left.getX() - 51); int streakHeight = 35 - 9 + wordWrappedHeight; UIRenderHelper.streak(ms, 0, x - 4, y - 12 + streakHeight / 2, streakHeight, (int) (150 * fade)); @@ -764,16 +765,16 @@ public class PonderUI extends NavigatableSimiScreen { y += 8; x += 0; ms.translate(x, y, 0); - ms.mulPose(Vector3f.XN.rotationDegrees(indexDiff * -75)); + ms.mulPose(Axis.XN.rotationDegrees(indexDiff * -75)); ms.translate(0, 0, 5); - FontHelper.drawSplitString(ms, font, title, 0, 0, left.x - 51, Theme.c(Theme.Key.TEXT) + FontHelper.drawSplitString(ms, font, title, 0, 0, left.getX() - 51, Theme.c(Theme.Key.TEXT) .scaleAlpha(1 - indexDiff) .getRGB()); ms.popPose(); if (chapter != null) { ms.pushPose(); - ms.translate(chap.x - 8, chap.y, 0); + ms.translate(chap.getX() - 8, chap.getY(), 0); UIRenderHelper.streak(ms, 180, 4, 10, 26, (int) (150 * fade)); drawRightAlignedString(font, ms, Lang.translateDirect(IN_CHAPTER) @@ -951,7 +952,7 @@ public class PonderUI extends NavigatableSimiScreen { ms.pushPose(); ms.translate(divotX + divotRadius, divotY + divotRadius, 10); - ms.mulPose(Vector3f.ZP.rotationDegrees(divotRotation)); + ms.mulPose(Axis.ZP.rotationDegrees(divotRotation)); ms.translate(-divotRadius, -divotRadius, 0); AllGuiTextures.SPEECH_TOOLTIP_BACKGROUND.render(ms, 0, 0); AllGuiTextures.SPEECH_TOOLTIP_COLOR.render(ms, 0, 0, c); diff --git a/src/main/java/com/simibubi/create/foundation/render/RenderTypes.java b/src/main/java/com/simibubi/create/foundation/render/RenderTypes.java index a3cb7035f..3051f2e17 100644 --- a/src/main/java/com/simibubi/create/foundation/render/RenderTypes.java +++ b/src/main/java/com/simibubi/create/foundation/render/RenderTypes.java @@ -11,7 +11,7 @@ import net.minecraft.client.renderer.RenderStateShard; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.ShaderInstance; import net.minecraft.resources.ResourceLocation; -import net.minecraft.server.packs.resources.ResourceManager; +import net.minecraft.server.packs.resources.ResourceProvider; import net.minecraft.world.inventory.InventoryMenu; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.client.event.RegisterShadersEvent; @@ -153,8 +153,8 @@ public class RenderTypes extends RenderStateShard { @SubscribeEvent public static void onRegisterShaders(RegisterShadersEvent event) throws IOException { - ResourceManager resourceManager = event.getResourceManager(); - event.registerShader(new ShaderInstance(resourceManager, Create.asResource("glowing_shader"), DefaultVertexFormat.NEW_ENTITY), shader -> glowingShader = shader); + ResourceProvider resourceProvider = event.getResourceProvider(); + event.registerShader(new ShaderInstance(resourceProvider, Create.asResource("glowing_shader"), DefaultVertexFormat.NEW_ENTITY), shader -> glowingShader = shader); } } diff --git a/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java b/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java index b5de973b1..db1e873f2 100644 --- a/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java +++ b/src/main/java/com/simibubi/create/foundation/render/SuperByteBuffer.java @@ -1,5 +1,11 @@ package com.simibubi.create.foundation.render; +import org.joml.Matrix3f; +import org.joml.Matrix4f; +import org.joml.Quaternionf; +import org.joml.Vector3f; +import org.joml.Vector4f; + import com.jozufozu.flywheel.api.vertex.ShadedVertexList; import com.jozufozu.flywheel.backend.ShadersModHandler; import com.jozufozu.flywheel.core.vertex.BlockVertexList; @@ -10,11 +16,6 @@ import com.mojang.blaze3d.vertex.BufferBuilder.DrawState; import com.mojang.blaze3d.vertex.BufferBuilder.RenderedBuffer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Matrix3f; -import com.mojang.math.Matrix4f; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; -import com.mojang.math.Vector4f; import com.simibubi.create.foundation.block.render.SpriteShiftEntry; import com.simibubi.create.foundation.utility.Color; @@ -74,25 +75,22 @@ public class SuperByteBuffer implements Transform, TStack, TStack, TStack, TStack, TStack, TStack, TStack, TStack mapping : event.getMappings(Registry.BLOCK_REGISTRY, Create.ID)) { + for (Mapping mapping : event.getMappings(Registries.BLOCK, Create.ID)) { ResourceLocation key = mapping.getKey(); String path = key.getPath(); ResourceLocation remappedId = reMap.get(path); @@ -245,7 +245,7 @@ public class RemapHelper { @SubscribeEvent public static void remapItems(MissingMappingsEvent event) { - for (Mapping mapping : event.getMappings(Registry.ITEM_REGISTRY, Create.ID)) { + for (Mapping mapping : event.getMappings(Registries.ITEM, Create.ID)) { ResourceLocation key = mapping.getKey(); String path = key.getPath(); ResourceLocation remappedId = reMap.get(path); @@ -265,7 +265,7 @@ public class RemapHelper { @SubscribeEvent public static void remapFluids(MissingMappingsEvent event) { - for (Mapping mapping : event.getMappings(Registry.FLUID_REGISTRY, Create.ID)) { + for (Mapping mapping : event.getMappings(Registries.FLUID, Create.ID)) { ResourceLocation key = mapping.getKey(); String path = key.getPath(); if (path.equals("milk")) diff --git a/src/main/java/com/simibubi/create/foundation/utility/TreeCutter.java b/src/main/java/com/simibubi/create/foundation/utility/TreeCutter.java index 2ebe05c19..e01fb0d15 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/TreeCutter.java +++ b/src/main/java/com/simibubi/create/foundation/utility/TreeCutter.java @@ -26,7 +26,7 @@ import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.BambooBlock; +import net.minecraft.world.level.block.BambooStalkBlock; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; import net.minecraft.world.level.block.CactusBlock; @@ -210,7 +210,7 @@ public class TreeCutter { public static boolean isVerticalPlant(BlockState stateAbove) { Block block = stateAbove.getBlock(); - if (block instanceof BambooBlock) + if (block instanceof BambooStalkBlock) return true; if (block instanceof CactusBlock) return true; diff --git a/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java b/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java index 6d350b110..627356733 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/VecHelper.java @@ -2,8 +2,9 @@ package com.simibubi.create.foundation.utility; import javax.annotation.Nullable; -import com.mojang.math.Quaternion; -import com.mojang.math.Vector3f; +import org.joml.Quaternionf; +import org.joml.Vector3f; + import com.simibubi.create.foundation.mixin.accessor.GameRendererAccessor; import net.minecraft.client.Camera; @@ -239,13 +240,12 @@ public class VecHelper { */ Camera ari = Minecraft.getInstance().gameRenderer.getMainCamera(); Vec3 camera_pos = ari.getPosition(); - Quaternion camera_rotation_conj = ari.rotation() - .copy(); - camera_rotation_conj.conj(); + Quaternionf camera_rotation_conj = new Quaternionf(ari.rotation()); + camera_rotation_conj.conjugate(); Vector3f result3f = new Vector3f((float) (camera_pos.x - target.x), (float) (camera_pos.y - target.y), (float) (camera_pos.z - target.z)); - result3f.transform(camera_rotation_conj); + result3f.rotate(camera_rotation_conj); // ----- compensate for view bobbing (if active) ----- // the following code adapted from GameRenderer::applyBobbing (to invert it) @@ -259,18 +259,18 @@ public class VecHelper { float f = distwalked_modified - playerentity.walkDistO; float f1 = -(distwalked_modified + f * partialTicks); float f2 = Mth.lerp(partialTicks, playerentity.oBob, playerentity.bob); - Quaternion q2 = - new Quaternion(Vector3f.XP, Math.abs(Mth.cos(f1 * (float) Math.PI - 0.2F) * f2) * 5.0F, true); - q2.conj(); - result3f.transform(q2); + Quaternionf q2 = + com.mojang.math.Axis.XP.rotationDegrees(Math.abs(Mth.cos(f1 * (float) Math.PI - 0.2F) * f2) * 5.0F); + q2.conjugate(); + result3f.rotate(q2); - Quaternion q1 = new Quaternion(Vector3f.ZP, Mth.sin(f1 * (float) Math.PI) * f2 * 3.0F, true); - q1.conj(); - result3f.transform(q1); + Quaternionf q1 = com.mojang.math.Axis.ZP.rotationDegrees(Mth.sin(f1 * (float) Math.PI) * f2 * 3.0F); + q1.conjugate(); + result3f.rotate(q1); Vector3f bob_translation = new Vector3f((Mth.sin(f1 * (float) Math.PI) * f2 * 0.5F), (-Math.abs(Mth.cos(f1 * (float) Math.PI) * f2)), 0.0f); - bob_translation.setY(-bob_translation.y()); // this is weird but hey, if it works + bob_translation.y = -bob_translation.y(); // this is weird but hey, if it works result3f.add(bob_translation); } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/WorldHelper.java b/src/main/java/com/simibubi/create/foundation/utility/WorldHelper.java index b444b6d6e..ade7c2cac 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/WorldHelper.java +++ b/src/main/java/com/simibubi/create/foundation/utility/WorldHelper.java @@ -1,13 +1,13 @@ package com.simibubi.create.foundation.utility; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.LevelAccessor; public class WorldHelper { public static ResourceLocation getDimensionID(LevelAccessor world) { return world.registryAccess() - .registryOrThrow(Registry.DIMENSION_TYPE_REGISTRY) + .registryOrThrow(Registries.DIMENSION_TYPE) .getKey(world.dimensionType()); } } diff --git a/src/main/java/com/simibubi/create/foundation/utility/outliner/Outline.java b/src/main/java/com/simibubi/create/foundation/utility/outliner/Outline.java index 8f0b7d62e..fb39c0792 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/outliner/Outline.java +++ b/src/main/java/com/simibubi/create/foundation/utility/outliner/Outline.java @@ -4,10 +4,11 @@ import java.util.Optional; import javax.annotation.Nullable; +import org.joml.Matrix3f; + import com.jozufozu.flywheel.util.transform.TransformStack; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Matrix3f; import com.simibubi.create.AllSpecialTextures; import com.simibubi.create.foundation.render.RenderTypes; import com.simibubi.create.foundation.render.SuperRenderTypeBuffer; diff --git a/src/main/java/com/simibubi/create/foundation/utility/placement/PlacementHelpers.java b/src/main/java/com/simibubi/create/foundation/utility/placement/PlacementHelpers.java index 3c8516699..09f5c8195 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/placement/PlacementHelpers.java +++ b/src/main/java/com/simibubi/create/foundation/utility/placement/PlacementHelpers.java @@ -4,6 +4,8 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; +import org.joml.Matrix4f; + import com.mojang.blaze3d.platform.Window; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.BufferBuilder; @@ -11,8 +13,7 @@ import com.mojang.blaze3d.vertex.DefaultVertexFormat; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.Tesselator; import com.mojang.blaze3d.vertex.VertexFormat; -import com.mojang.math.Matrix4f; -import com.mojang.math.Vector3f; +import com.mojang.math.Axis; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.CClient; import com.simibubi.create.foundation.gui.AllGuiTextures; @@ -223,7 +224,7 @@ public class PlacementHelpers { ms.pushPose(); ms.translate(centerX, centerY, 5); - ms.mulPose(Vector3f.ZP.rotationDegrees(angle.getValue(0))); + ms.mulPose(Axis.ZP.rotationDegrees(angle.getValue(0))); // RenderSystem.rotatef(snappedAngle, 0, 0, 1); double scale = AllConfigs.CLIENT.indicatorScale.get(); ms.scale((float) scale, (float) scale, 1); diff --git a/src/main/java/com/simibubi/create/foundation/utility/recipe/BlockTagIngredient.java b/src/main/java/com/simibubi/create/foundation/utility/recipe/BlockTagIngredient.java index 67749c284..ea3893ce2 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/recipe/BlockTagIngredient.java +++ b/src/main/java/com/simibubi/create/foundation/utility/recipe/BlockTagIngredient.java @@ -11,7 +11,7 @@ import com.google.gson.JsonObject; import it.unimi.dsi.fastutil.ints.IntArrayList; import it.unimi.dsi.fastutil.ints.IntComparators; import it.unimi.dsi.fastutil.ints.IntList; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.TagKey; @@ -131,14 +131,14 @@ public class BlockTagIngredient extends AbstractIngredient { @Override public BlockTagIngredient parse(JsonObject json) { ResourceLocation rl = new ResourceLocation(GsonHelper.getAsString(json, "tag")); - TagKey tag = TagKey.create(Registry.BLOCK_REGISTRY, rl); + TagKey tag = TagKey.create(Registries.BLOCK, rl); return new BlockTagIngredient(tag); } @Override public BlockTagIngredient parse(FriendlyByteBuf buffer) { ResourceLocation rl = buffer.readResourceLocation(); - TagKey tag = TagKey.create(Registry.BLOCK_REGISTRY, rl); + TagKey tag = TagKey.create(Registries.BLOCK, rl); return new BlockTagIngredient(tag); } diff --git a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/DummyLevelEntityGetter.java b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/DummyLevelEntityGetter.java index 56354294c..ef6b01b02 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/DummyLevelEntityGetter.java +++ b/src/main/java/com/simibubi/create/foundation/utility/worldWrappers/DummyLevelEntityGetter.java @@ -4,6 +4,7 @@ import java.util.Collections; import java.util.UUID; import java.util.function.Consumer; +import net.minecraft.util.AbortableIterationConsumer; import net.minecraft.world.level.entity.EntityAccess; import net.minecraft.world.level.entity.EntityTypeTest; import net.minecraft.world.level.entity.LevelEntityGetter; @@ -27,7 +28,7 @@ public class DummyLevelEntityGetter implements LevelEnti } @Override - public void get(EntityTypeTest p_156935_, Consumer p_156936_) { + public void get(EntityTypeTest p_156935_, AbortableIterationConsumer p_156936_) { } @Override @@ -35,7 +36,7 @@ public class DummyLevelEntityGetter implements LevelEnti } @Override - public void get(EntityTypeTest p_156932_, AABB p_156933_, Consumer p_156934_) { + public void get(EntityTypeTest p_156932_, AABB p_156933_, AbortableIterationConsumer p_156934_) { } } diff --git a/src/main/java/com/simibubi/create/foundation/worldgen/AllOreFeatureConfigEntries.java b/src/main/java/com/simibubi/create/foundation/worldgen/AllOreFeatureConfigEntries.java index e4d62d80c..406061081 100644 --- a/src/main/java/com/simibubi/create/foundation/worldgen/AllOreFeatureConfigEntries.java +++ b/src/main/java/com/simibubi/create/foundation/worldgen/AllOreFeatureConfigEntries.java @@ -9,8 +9,8 @@ import com.simibubi.create.foundation.data.DynamicDataProvider; import com.simibubi.create.foundation.utility.Couple; import com.simibubi.create.foundation.worldgen.OreFeatureConfigEntry.DatagenExtension; -import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; +import net.minecraft.core.registries.Registries; import net.minecraft.data.DataGenerator; import net.minecraft.resources.ResourceLocation; import net.minecraft.tags.BiomeTags; @@ -85,7 +85,7 @@ public class AllOreFeatureConfigEntries { } } - DynamicDataProvider> configuredFeatureProvider = DynamicDataProvider.create(generator, "Create's Configured Features", registryAccess, Registry.CONFIGURED_FEATURE_REGISTRY, configuredFeatures); + DynamicDataProvider> configuredFeatureProvider = DynamicDataProvider.create(generator, "Create's Configured Features", registryAccess, Registries.CONFIGURED_FEATURE, configuredFeatures); if (configuredFeatureProvider != null) { generator.addProvider(true, configuredFeatureProvider); } @@ -100,7 +100,7 @@ public class AllOreFeatureConfigEntries { } } - DynamicDataProvider placedFeatureProvider = DynamicDataProvider.create(generator, "Create's Placed Features", registryAccess, Registry.PLACED_FEATURE_REGISTRY, placedFeatures); + DynamicDataProvider placedFeatureProvider = DynamicDataProvider.create(generator, "Create's Placed Features", registryAccess, Registries.PLACED_FEATURE, placedFeatures); if (placedFeatureProvider != null) { generator.addProvider(true, placedFeatureProvider); } diff --git a/src/main/java/com/simibubi/create/foundation/worldgen/AllPlacementModifiers.java b/src/main/java/com/simibubi/create/foundation/worldgen/AllPlacementModifiers.java index fd8ce11bc..0a22e630d 100644 --- a/src/main/java/com/simibubi/create/foundation/worldgen/AllPlacementModifiers.java +++ b/src/main/java/com/simibubi/create/foundation/worldgen/AllPlacementModifiers.java @@ -2,14 +2,14 @@ package com.simibubi.create.foundation.worldgen; import com.simibubi.create.Create; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.world.level.levelgen.placement.PlacementModifierType; import net.minecraftforge.eventbus.api.IEventBus; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.RegistryObject; public class AllPlacementModifiers { - private static final DeferredRegister> REGISTER = DeferredRegister.create(Registry.PLACEMENT_MODIFIER_REGISTRY, Create.ID); + private static final DeferredRegister> REGISTER = DeferredRegister.create(Registries.PLACEMENT_MODIFIER_TYPE, Create.ID); public static final RegistryObject> CONFIG_DRIVEN = REGISTER.register("config_driven", () -> () -> ConfigDrivenPlacement.CODEC); diff --git a/src/main/java/com/simibubi/create/foundation/worldgen/BuiltinRegistration.java b/src/main/java/com/simibubi/create/foundation/worldgen/BuiltinRegistration.java index 29fc6d698..fe7234a84 100644 --- a/src/main/java/com/simibubi/create/foundation/worldgen/BuiltinRegistration.java +++ b/src/main/java/com/simibubi/create/foundation/worldgen/BuiltinRegistration.java @@ -5,7 +5,7 @@ import java.util.Map; import com.simibubi.create.Create; import com.simibubi.create.foundation.worldgen.OreFeatureConfigEntry.DatagenExtension; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.Registries; import net.minecraft.data.BuiltinRegistries; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.level.levelgen.feature.ConfiguredFeature; @@ -16,8 +16,8 @@ import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class BuiltinRegistration { - private static final DeferredRegister> CONFIGURED_FEATURE_REGISTER = DeferredRegister.create(Registry.CONFIGURED_FEATURE_REGISTRY, Create.ID); - private static final DeferredRegister PLACED_FEATURE_REGISTER = DeferredRegister.create(Registry.PLACED_FEATURE_REGISTRY, Create.ID); + private static final DeferredRegister> CONFIGURED_FEATURE_REGISTER = DeferredRegister.create(Registries.CONFIGURED_FEATURE, Create.ID); + private static final DeferredRegister PLACED_FEATURE_REGISTER = DeferredRegister.create(Registries.PLACED_FEATURE, Create.ID); private static final DeferredRegister BIOME_MODIFIER_REGISTER = DeferredRegister.create(ForgeRegistries.Keys.BIOME_MODIFIERS, Create.ID); static { diff --git a/src/main/java/com/simibubi/create/foundation/worldgen/OreFeatureConfigEntry.java b/src/main/java/com/simibubi/create/foundation/worldgen/OreFeatureConfigEntry.java index 882f7a8b7..0676e4c2e 100644 --- a/src/main/java/com/simibubi/create/foundation/worldgen/OreFeatureConfigEntry.java +++ b/src/main/java/com/simibubi/create/foundation/worldgen/OreFeatureConfigEntry.java @@ -17,6 +17,7 @@ import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.Registry; import net.minecraft.core.RegistryAccess; +import net.minecraft.core.registries.Registries; import net.minecraft.data.worldgen.features.OreFeatures; import net.minecraft.resources.ResourceKey; import net.minecraft.resources.ResourceLocation; @@ -117,16 +118,16 @@ public class OreFeatureConfigEntry extends ConfigBase { public abstract ConfiguredFeature createConfiguredFeature(RegistryAccess registryAccess); public PlacedFeature createPlacedFeature(RegistryAccess registryAccess) { - Registry> featureRegistry = registryAccess.registryOrThrow(Registry.CONFIGURED_FEATURE_REGISTRY); - Holder> featureHolder = featureRegistry.getOrCreateHolderOrThrow(ResourceKey.create(Registry.CONFIGURED_FEATURE_REGISTRY, id)); + Registry> featureRegistry = registryAccess.registryOrThrow(Registries.CONFIGURED_FEATURE); + Holder> featureHolder = featureRegistry.getHolderOrThrow(ResourceKey.create(Registries.CONFIGURED_FEATURE, id)); return new PlacedFeature(featureHolder, List.of(new ConfigDrivenPlacement(OreFeatureConfigEntry.this))); } public BiomeModifier createBiomeModifier(RegistryAccess registryAccess) { - Registry biomeRegistry = registryAccess.registryOrThrow(Registry.BIOME_REGISTRY); - Registry featureRegistry = registryAccess.registryOrThrow(Registry.PLACED_FEATURE_REGISTRY); - HolderSet biomes = new HolderSet.Named<>(biomeRegistry, biomeTag); - Holder featureHolder = featureRegistry.getOrCreateHolderOrThrow(ResourceKey.create(Registry.PLACED_FEATURE_REGISTRY, id)); + Registry biomeRegistry = registryAccess.registryOrThrow(Registries.BIOME); + Registry featureRegistry = registryAccess.registryOrThrow(Registries.PLACED_FEATURE); + HolderSet biomes = biomeRegistry.getOrCreateTag(biomeTag); + Holder featureHolder = featureRegistry.getHolderOrThrow(ResourceKey.create(Registries.PLACED_FEATURE, id)); return new AddFeaturesBiomeModifier(biomes, HolderSet.direct(featureHolder), Decoration.UNDERGROUND_ORES); } diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index bbfd85ead..c5e35b008 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -1,5 +1,5 @@ modLoader="javafml" -loaderVersion="[43,)" +loaderVersion="[44,)" issueTrackerURL="https://github.com/Creators-of-Create/Create/issues" license="MIT" @@ -19,14 +19,14 @@ Technology that empowers the player.''' [[dependencies.create]] modId="forge" mandatory=true - versionRange="[43.0.0,)" + versionRange="[44.0.0,)" ordering="NONE" side="BOTH" [[dependencies.create]] modId="minecraft" mandatory=true - versionRange="[1.19.2,1.20)" + versionRange="[1.19.3,1.20)" ordering="NONE" side="BOTH" diff --git a/src/main/resources/pack.mcmeta b/src/main/resources/pack.mcmeta index 69f140c3b..0ee0e84ce 100644 --- a/src/main/resources/pack.mcmeta +++ b/src/main/resources/pack.mcmeta @@ -2,7 +2,7 @@ "pack": { "description": "Create resources", "pack_format": 10, - "forge:resource_pack_format": 9, + "forge:resource_pack_format": 12, "forge:data_pack_format": 10 } } diff --git a/src/main/resources/resourcepacks/legacy_copper/pack.mcmeta b/src/main/resources/resourcepacks/legacy_copper/pack.mcmeta index 7eb0e75f5..019985d94 100644 --- a/src/main/resources/resourcepacks/legacy_copper/pack.mcmeta +++ b/src/main/resources/resourcepacks/legacy_copper/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { - "pack_format": 9, + "pack_format": 12, "description": "Replacement textures for Vanilla Copper" } }