mirror of
https://github.com/Creators-of-Create/Create.git
synced 2025-03-04 06:44:40 +01:00
fix imports, adjust buildscripts
This commit is contained in:
parent
c321202ba0
commit
d82644bfba
48 changed files with 80 additions and 294 deletions
|
@ -23,10 +23,6 @@ base {
|
|||
version = mod_version + (dev && buildNumber != null ? "-${buildNumber}" : '')
|
||||
}
|
||||
|
||||
// jozu: I use a gradle workspace with both projects.
|
||||
// The project is named Flywheel-Forge, but sub-projects are named by folder.
|
||||
boolean flywheelInWorkspace = findProject(':Flywheel') != null
|
||||
|
||||
boolean inMultiModWorkspace = rootProject.hasProperty('multiModWorkspace.enabled')
|
||||
boolean catnipInWorkspace = rootProject.hasProperty('multiModWorkspace.catnip')
|
||||
boolean ponderInWorkspace = rootProject.hasProperty('multiModWorkspace.ponder')
|
||||
|
@ -39,8 +35,8 @@ if (ponderInWorkspace) {
|
|||
evaluationDependsOn(":ponder:Forge")
|
||||
}
|
||||
|
||||
project.logger.lifecycle("MultiModWorkspace ${inMultiModWorkspace || flywheelInWorkspace ? 'enabled' : 'disabled'} for project ${project.name}.")
|
||||
project.logger.lifecycle("Dependencies included in Workspace: [Flywheel: ${flywheelInWorkspace}], [Catnip: ${catnipInWorkspace}], [Ponder: ${ponderInWorkspace}]")
|
||||
project.logger.lifecycle("MultiModWorkspace ${inMultiModWorkspace ? 'enabled' : 'disabled'} for project ${project.name}.")
|
||||
project.logger.lifecycle("Dependencies included in Workspace: [Catnip: ${catnipInWorkspace}], [Ponder: ${ponderInWorkspace}]")
|
||||
|
||||
mixin {
|
||||
add sourceSets.main, 'create.refmap.json'
|
||||
|
|
|
@ -28,8 +28,8 @@ jei_minecraft_version = 1.20.1
|
|||
jei_version = 15.10.0.39
|
||||
curios_minecraft_version = 1.20.1
|
||||
curios_version = 5.3.1
|
||||
catnip_version = 0.7.7
|
||||
ponder_version = 0.7.6
|
||||
catnip_version = 0.8.11
|
||||
ponder_version = 0.8.8
|
||||
|
||||
cc_tweaked_enable = true
|
||||
cc_tweaked_minecraft_version = 1.20.1
|
||||
|
|
|
@ -21,8 +21,6 @@ import com.simibubi.create.foundation.blockEntity.behaviour.ValueSettingsClient;
|
|||
import com.simibubi.create.foundation.gui.CreateTheme;
|
||||
import com.simibubi.create.foundation.ponder.CreatePonderPlugin;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.SuperByteBufferCache;
|
||||
import com.simibubi.create.foundation.utility.Components;
|
||||
import com.simibubi.create.foundation.utility.ModelSwapper;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
import com.simibubi.create.infrastructure.gui.CreateMainMenuScreen;
|
||||
|
@ -30,6 +28,8 @@ import com.simibubi.create.infrastructure.gui.CreateMainMenuScreen;
|
|||
import net.createmod.catnip.config.ui.BaseConfigScreen;
|
||||
import net.createmod.catnip.config.ui.ConfigScreen;
|
||||
import net.createmod.catnip.render.CachedBuffers;
|
||||
import net.createmod.catnip.render.SuperByteBufferCache;
|
||||
import net.createmod.catnip.utility.lang.Components;
|
||||
import net.createmod.ponder.foundation.PonderIndex;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.GraphicsStatus;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package com.simibubi.create.compat.thresholdSwitch;
|
||||
|
||||
import com.simibubi.create.compat.Mods;
|
||||
import com.simibubi.create.foundation.utility.RegisteredObjects;
|
||||
|
||||
import net.createmod.catnip.platform.CatnipServices;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
|
@ -11,7 +11,7 @@ public class FunctionalStorage implements ThresholdSwitchCompat {
|
|||
@Override
|
||||
public boolean isFromThisMod(BlockEntity blockEntity) {
|
||||
return blockEntity != null && Mods.FUNCTIONALSTORAGE.id()
|
||||
.equals(RegisteredObjects.getKeyOrThrow(blockEntity.getType())
|
||||
.equals(CatnipServices.REGISTRIES.getKeyOrThrow(blockEntity.getType())
|
||||
.getNamespace());
|
||||
}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
package com.simibubi.create.compat.thresholdSwitch;
|
||||
|
||||
import com.simibubi.create.compat.Mods;
|
||||
import com.simibubi.create.foundation.utility.RegisteredObjects;
|
||||
|
||||
import net.createmod.catnip.platform.CatnipServices;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraftforge.items.IItemHandler;
|
||||
|
||||
|
@ -13,7 +13,7 @@ public class SophisticatedStorage implements ThresholdSwitchCompat {
|
|||
if (be == null)
|
||||
return false;
|
||||
|
||||
String namespace = RegisteredObjects.getKeyOrThrow(be.getType())
|
||||
String namespace = CatnipServices.REGISTRIES.getKeyOrThrow(be.getType())
|
||||
.getNamespace();
|
||||
|
||||
return
|
||||
|
|
|
@ -353,7 +353,7 @@ public class OrientedContraptionEntity extends AbstractContraptionEntity {
|
|||
return false;
|
||||
OrientedContraptionEntity parent = (OrientedContraptionEntity) riding;
|
||||
prevYaw = yaw;
|
||||
yaw = wrapAngle180(getInitialYaw() - parent.getInitialYaw()) - parent.getViewYRot(1);
|
||||
yaw = AngleHelper.wrapAngle180(getInitialYaw() - parent.getInitialYaw()) - parent.getViewYRot(1);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,6 +2,8 @@ package com.simibubi.create.content.contraptions.actors.harvester;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import org.apache.commons.lang3.mutable.MutableBoolean;
|
||||
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
|
|
|
@ -2,11 +2,11 @@ package com.simibubi.create.content.contraptions.actors.psi;
|
|||
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.animation.LerpedFloat;
|
||||
|
||||
public class PSIActorVisual extends ActorVisual {
|
||||
|
||||
|
|
|
@ -3,10 +3,10 @@ package com.simibubi.create.content.contraptions.actors.seat;
|
|||
import com.simibubi.create.content.contraptions.AbstractContraptionEntity;
|
||||
import com.simibubi.create.content.contraptions.AbstractContraptionEntity.ContraptionRotationState;
|
||||
import com.simibubi.create.content.trains.entity.CarriageContraptionEntity;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
|
|
@ -8,7 +8,7 @@ import com.mojang.math.Axis;
|
|||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.BackHalfShaftVisual;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntity;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
|
|
@ -8,7 +8,7 @@ import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
|||
import com.simibubi.create.content.contraptions.render.ActorVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.chassis;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.contraptions.pulley;
|
|||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
package com.simibubi.create.content.contraptions.render;
|
||||
|
||||
import net.createmod.catnip.render.SuperByteBuffer;
|
||||
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
|
@ -10,7 +12,6 @@ import com.simibubi.create.content.contraptions.Contraption;
|
|||
import com.simibubi.create.content.contraptions.behaviour.MovementBehaviour;
|
||||
import com.simibubi.create.content.contraptions.behaviour.MovementContext;
|
||||
import com.simibubi.create.foundation.render.BlockEntityRenderHelper;
|
||||
import com.simibubi.create.foundation.render.SuperByteBuffer;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
|
|
|
@ -138,6 +138,6 @@ public class ContraptionRenderInfo {
|
|||
private static class ThreadLocalObjects {
|
||||
public final PoseStack poseStack = new PoseStack();
|
||||
public final RandomSource random = RandomSource.createNewThreadLocalInstance();
|
||||
public final ShadedBlockSbbBuilder sbbBuilder = new ShadedBlockSbbBuilder();
|
||||
public final ShadedBlockSbbBuilder sbbBuilder = ShadedBlockSbbBuilder.create();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
package com.simibubi.create.content.contraptions.render;
|
||||
|
||||
import com.simibubi.create.content.contraptions.Contraption;
|
||||
import com.simibubi.create.foundation.utility.WorldAttached;
|
||||
|
||||
import dev.engine_room.flywheel.api.event.ReloadLevelRendererEvent;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import net.createmod.catnip.utility.WorldAttached;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
|
|
|
@ -10,9 +10,10 @@ import java.util.Set;
|
|||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
|
||||
import org.joml.Matrix4f;
|
||||
|
||||
import com.jozufozu.flywheel.util.transform.TransformStack;
|
||||
import com.mojang.blaze3d.platform.InputConstants;
|
||||
import com.mojang.blaze3d.systems.RenderSystem;
|
||||
import com.mojang.blaze3d.vertex.BufferBuilder;
|
||||
|
@ -249,7 +250,7 @@ public class RadialWrenchMenu extends AbstractSimiScreen {
|
|||
Color c = innerColor.copy().setAlpha(0.5f);
|
||||
UIRenderHelper.drawRadialSector(graphics, innerRadius - 3, innerRadius - 2, -(sectorAngle / 2 + 90), sectorAngle, c, c);
|
||||
|
||||
TransformStack.cast(poseStack)
|
||||
TransformStack.of(poseStack)
|
||||
.translateY(-(sectorWidth / 2f + innerRadius))
|
||||
.rotateZ(-i * sectorAngle);
|
||||
|
||||
|
@ -276,7 +277,7 @@ public class RadialWrenchMenu extends AbstractSimiScreen {
|
|||
|
||||
poseStack.pushPose();
|
||||
|
||||
TransformStack.cast(poseStack)
|
||||
TransformStack.of(poseStack)
|
||||
.rotateZ(sectorAngle / 2);
|
||||
|
||||
poseStack.translate(0, -innerRadius - 20, 10);
|
||||
|
@ -285,7 +286,7 @@ public class RadialWrenchMenu extends AbstractSimiScreen {
|
|||
UIRenderHelper.angledGradient(graphics, 90, 0, 0, 0.5f, 25 , Color.WHITE.setAlpha(0.5f), Color.WHITE.setAlpha(0.15f));
|
||||
poseStack.popPose();
|
||||
|
||||
TransformStack.cast(poseStack)
|
||||
TransformStack.of(poseStack)
|
||||
.rotateZ(sectorAngle);
|
||||
}
|
||||
|
||||
|
@ -301,10 +302,10 @@ public class RadialWrenchMenu extends AbstractSimiScreen {
|
|||
float b = 0.8f;
|
||||
|
||||
poseStack.pushPose();
|
||||
TransformStack.cast(poseStack)
|
||||
.rotateZRadians(-theta)
|
||||
.translateY(innerRadius + 3)
|
||||
.translateZ(15);
|
||||
TransformStack.of(poseStack)
|
||||
.rotateZ((float) -theta)
|
||||
.translateY(innerRadius + 3)
|
||||
.translateZ(15);
|
||||
|
||||
RenderSystem.setShader(GameRenderer::getPositionColorShader);
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.simibubi.create.content.equipment.toolbox;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
|
@ -14,6 +13,7 @@ import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
|||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import net.createmod.catnip.utility.Iterate;
|
||||
import net.minecraft.core.Direction;
|
||||
|
||||
public class ToolBoxVisual extends AbstractBlockEntityVisual<ToolboxBlockEntity> implements SimpleDynamicVisual {
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.function.Consumer;
|
|||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.simibubi.create.content.kinetics.base;
|
|||
|
||||
import org.joml.Vector3f;
|
||||
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
import net.createmod.catnip.utility.theme.Color;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.InstanceHandle;
|
||||
import dev.engine_room.flywheel.api.instance.InstanceType;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
package com.simibubi.create.content.kinetics.base;
|
||||
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.kinetics.base;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
|
|
|
@ -3,15 +3,16 @@ package com.simibubi.create.content.kinetics.belt;
|
|||
import java.util.ArrayList;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import net.createmod.catnip.render.SpriteShiftEntry;
|
||||
|
||||
import org.joml.Quaternionf;
|
||||
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import net.createmod.catnip.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.function.Consumer;
|
|||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
|
|
|
@ -14,7 +14,7 @@ import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform;
|
|||
import com.simibubi.create.foundation.blockEntity.behaviour.ValueSettingsBoard;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.ValueSettingsFormatter;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.scrollValue.ScrollValueBehaviour;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
|
|
|
@ -11,7 +11,7 @@ import com.simibubi.create.content.kinetics.base.IRotate;
|
|||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
|
|
@ -6,8 +6,8 @@ import com.mojang.blaze3d.vertex.PoseStack;
|
|||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
|
|
@ -6,9 +6,9 @@ import java.util.function.Consumer;
|
|||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.Couple;
|
||||
import net.createmod.catnip.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
|
|
|
@ -7,9 +7,6 @@ import com.google.common.collect.Lists;
|
|||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
|
@ -22,6 +19,9 @@ import dev.engine_room.flywheel.lib.instance.TransformedInstance;
|
|||
import dev.engine_room.flywheel.lib.model.Models;
|
||||
import dev.engine_room.flywheel.lib.transform.TransformStack;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import net.createmod.catnip.utility.Iterate;
|
||||
import net.createmod.catnip.utility.theme.Color;
|
||||
import net.createmod.ponder.utility.LevelTickHolder;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.entity.ItemRenderer;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -101,7 +101,7 @@ public class ArmVisual extends SingleRotatingVisual<ArmBlockEntity> implements S
|
|||
}
|
||||
|
||||
private void animateRave(float partialTick) {
|
||||
var ticks = AnimationTickHolder.getTicks(blockEntity.getLevel());
|
||||
var ticks = LevelTickHolder.getTicks(blockEntity.getLevel());
|
||||
float renderTick = ticks + partialTick + (blockEntity.hashCode() % 64);
|
||||
|
||||
float baseAngle = (renderTick * 10) % 360;
|
||||
|
|
|
@ -7,7 +7,7 @@ import org.joml.Quaternionf;
|
|||
import com.mojang.math.Axis;
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.ShaftVisual;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
|
|
@ -2,7 +2,7 @@ package com.simibubi.create.content.kinetics.saw;
|
|||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.SingleRotatingVisual;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.List;
|
|||
|
||||
import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
|
|
|
@ -13,7 +13,7 @@ import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
|||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockEntityRenderer;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import net.createmod.catnip.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.util.function.Consumer;
|
|||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityRenderer;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
|
|
@ -8,7 +8,7 @@ import com.simibubi.create.content.kinetics.base.IRotate;
|
|||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import net.createmod.catnip.utility.Iterate;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
|
|
|
@ -6,13 +6,13 @@ import com.mojang.blaze3d.vertex.PoseStack;
|
|||
import com.simibubi.create.content.kinetics.base.KineticBlockEntityVisual;
|
||||
import com.simibubi.create.content.kinetics.base.RotatingInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.model.ModelCache;
|
||||
import dev.engine_room.flywheel.lib.model.baked.BakedModelBuilder;
|
||||
import net.createmod.catnip.render.CachedBuffers;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
|
@ -81,7 +81,7 @@ public class WaterWheelVisual<T extends WaterWheelBlockEntity> extends KineticBl
|
|||
} else {
|
||||
dir = state.getValue(WaterWheelBlock.FACING);
|
||||
}
|
||||
PoseStack transform = CachedBufferer.rotateToFaceVertical(dir).get();
|
||||
PoseStack transform = CachedBuffers.rotateToFaceVertical(dir).get();
|
||||
return BakedModelBuilder.create(model)
|
||||
.poseStack(transform)
|
||||
.build();
|
||||
|
|
|
@ -6,7 +6,7 @@ import java.util.function.Consumer;
|
|||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
|
|
|
@ -9,7 +9,7 @@ import java.util.function.Consumer;
|
|||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.content.logistics.flwdata.FlapInstance;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import net.createmod.catnip.utility.animation.LerpedFloat;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.instance.Instancer;
|
||||
|
|
|
@ -2,14 +2,17 @@ package com.simibubi.create.content.processing.burner;
|
|||
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import net.createmod.catnip.render.SpriteShiftEntry;
|
||||
|
||||
import net.createmod.ponder.utility.LevelTickHolder;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.AllSpriteShifts;
|
||||
import com.simibubi.create.foundation.block.render.SpriteShiftEntry;
|
||||
import com.simibubi.create.foundation.render.AllInstanceTypes;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
@ -129,7 +132,7 @@ public class BlazeBurnerVisual extends AbstractBlockEntityVisual<BlazeBurnerBloc
|
|||
}
|
||||
|
||||
var hashCode = blockEntity.hashCode();
|
||||
float time = AnimationTickHolder.getRenderTime(level);
|
||||
float time = LevelTickHolder.getRenderTime(level);
|
||||
float renderTick = time + (hashCode % 13) * 16f;
|
||||
float offsetMult = heatLevel.isAtLeast(BlazeBurnerBlock.HeatLevel.FADING) ? 64 : 16;
|
||||
float offset = Mth.sin((float) ((renderTick / 16f) % (2 * Math.PI))) / offsetMult;
|
||||
|
|
|
@ -3,8 +3,6 @@ package com.simibubi.create.content.redstone.analogLever;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.AngleHelper;
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.DynamicVisual;
|
||||
|
@ -16,6 +14,8 @@ import dev.engine_room.flywheel.lib.transform.Rotate;
|
|||
import dev.engine_room.flywheel.lib.transform.Translate;
|
||||
import dev.engine_room.flywheel.lib.visual.AbstractBlockEntityVisual;
|
||||
import dev.engine_room.flywheel.lib.visual.SimpleDynamicVisual;
|
||||
import net.createmod.catnip.utility.math.AngleHelper;
|
||||
import net.createmod.catnip.utility.theme.Color;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.block.state.properties.AttachFace;
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ package com.simibubi.create.content.redstone.diodes;
|
|||
import java.util.function.Consumer;
|
||||
|
||||
import com.simibubi.create.AllPartialModels;
|
||||
import com.simibubi.create.foundation.utility.Color;
|
||||
import net.createmod.catnip.utility.theme.Color;
|
||||
|
||||
import dev.engine_room.flywheel.api.instance.Instance;
|
||||
import dev.engine_room.flywheel.api.visual.TickableVisual;
|
||||
|
|
|
@ -9,7 +9,7 @@ import com.simibubi.create.content.schematics.cannon.LaunchedItem.ForBelt;
|
|||
import com.simibubi.create.content.schematics.cannon.LaunchedItem.ForBlockState;
|
||||
import com.simibubi.create.content.schematics.cannon.LaunchedItem.ForEntity;
|
||||
import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationManager;
|
||||
import net.createmod.catnip.render.CachedBuffers;
|
||||
|
|
|
@ -14,7 +14,7 @@ import org.joml.Quaternionfc;
|
|||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.content.trains.entity.CarriageBogey;
|
||||
import com.simibubi.create.foundation.render.VirtualRenderHelper;
|
||||
import net.createmod.catnip.render.VirtualRenderHelper;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import dev.engine_room.flywheel.lib.instance.InstanceTypes;
|
||||
|
|
|
@ -5,7 +5,7 @@ import java.util.Optional;
|
|||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.content.trains.entity.CarriageBogey;
|
||||
import com.simibubi.create.content.trains.entity.CarriageContraptionEntity;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
|
||||
import dev.engine_room.flywheel.api.visualization.VisualizationContext;
|
||||
import net.minecraft.core.BlockPos;
|
||||
|
|
|
@ -9,7 +9,7 @@ import org.joml.Vector4f;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.foundation.utility.AnimationTickHolder;
|
||||
import net.createmod.catnip.utility.AnimationTickHolder;
|
||||
import com.simibubi.create.foundation.virtualWorld.VirtualRenderWorld;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
||||
|
|
|
@ -1,126 +0,0 @@
|
|||
package com.simibubi.create.foundation.render;
|
||||
|
||||
import com.mojang.blaze3d.vertex.BufferBuilder;
|
||||
import com.mojang.blaze3d.vertex.BufferBuilder.RenderedBuffer;
|
||||
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.mojang.blaze3d.vertex.VertexFormat;
|
||||
import com.simibubi.create.foundation.mixin.accessor.BufferBuilderAccessor;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.IntArrayList;
|
||||
import it.unimi.dsi.fastutil.ints.IntList;
|
||||
import net.minecraft.client.renderer.block.model.BakedQuad;
|
||||
|
||||
public class ShadedBlockSbbBuilder implements VertexConsumer {
|
||||
protected final BufferBuilder bufferBuilder;
|
||||
protected final IntList shadeSwapVertices = new IntArrayList();
|
||||
protected boolean currentShade;
|
||||
|
||||
public ShadedBlockSbbBuilder(BufferBuilder bufferBuilder) {
|
||||
this.bufferBuilder = bufferBuilder;
|
||||
}
|
||||
|
||||
public ShadedBlockSbbBuilder() {
|
||||
this(new BufferBuilder(512));
|
||||
}
|
||||
|
||||
public void begin() {
|
||||
bufferBuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.BLOCK);
|
||||
shadeSwapVertices.clear();
|
||||
currentShade = true;
|
||||
}
|
||||
|
||||
public SuperByteBuffer end() {
|
||||
RenderedBuffer data = bufferBuilder.end();
|
||||
int vertexCount = data.drawState().vertexCount();
|
||||
MutableTemplateMesh mutableMesh = new MutableTemplateMesh(vertexCount);
|
||||
VirtualRenderHelper.transferBlockVertexData(data.vertexBuffer(), data.drawState().format().getVertexSize(), 0, mutableMesh, 0, vertexCount);
|
||||
return new SuperByteBuffer(mutableMesh.toImmutable(), shadeSwapVertices.toIntArray());
|
||||
}
|
||||
|
||||
public BufferBuilder unwrap(boolean shade) {
|
||||
prepareForGeometry(shade);
|
||||
return bufferBuilder;
|
||||
}
|
||||
|
||||
private void prepareForGeometry(boolean shade) {
|
||||
if (shade != currentShade) {
|
||||
shadeSwapVertices.add(((BufferBuilderAccessor) bufferBuilder).create$getVertices());
|
||||
currentShade = shade;
|
||||
}
|
||||
}
|
||||
|
||||
private void prepareForGeometry(BakedQuad quad) {
|
||||
prepareForGeometry(quad.isShade());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putBulkData(PoseStack.Pose pose, BakedQuad quad, float red, float green, float blue, int light, int overlay) {
|
||||
prepareForGeometry(quad);
|
||||
bufferBuilder.putBulkData(pose, quad, red, green, blue, light, overlay);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putBulkData(PoseStack.Pose pose, BakedQuad quad, float red, float green, float blue, float alpha, int light, int overlay, boolean readExistingColor) {
|
||||
prepareForGeometry(quad);
|
||||
bufferBuilder.putBulkData(pose, quad, red, green, blue, alpha, light, overlay, readExistingColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putBulkData(PoseStack.Pose pose, BakedQuad quad, float[] brightnesses, float red, float green, float blue, int[] lights, int overlay, boolean readExistingColor) {
|
||||
prepareForGeometry(quad);
|
||||
bufferBuilder.putBulkData(pose, quad, brightnesses, red, green, blue, lights, overlay, readExistingColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void putBulkData(PoseStack.Pose pose, BakedQuad quad, float[] brightnesses, float red, float green, float blue, float alpha, int[] lights, int overlay, boolean readExistingColor) {
|
||||
prepareForGeometry(quad);
|
||||
bufferBuilder.putBulkData(pose, quad, brightnesses, red, green, blue, alpha, lights, overlay, readExistingColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer vertex(double x, double y, double z) {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer color(int red, int green, int blue, int alpha) {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer uv(float u, float v) {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer overlayCoords(int u, int v) {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer uv2(int u, int v) {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexConsumer normal(float x, float y, float z) {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endVertex() {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void defaultColor(int red, int green, int blue, int alpha) {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unsetDefaultColor() {
|
||||
throw new UnsupportedOperationException("ShadedBlockSbbBuilder only supports putBulkData!");
|
||||
}
|
||||
}
|
|
@ -1,92 +0,0 @@
|
|||
package com.simibubi.create.foundation.render;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
|
||||
import dev.engine_room.flywheel.api.model.Model;
|
||||
import dev.engine_room.flywheel.lib.model.ModelCache;
|
||||
import dev.engine_room.flywheel.lib.model.ModelUtil;
|
||||
import dev.engine_room.flywheel.lib.model.baked.ForgeBakedModelBuilder;
|
||||
import dev.engine_room.flywheel.lib.model.baked.VirtualEmptyBlockGetter;
|
||||
import net.minecraft.client.renderer.block.BlockRenderDispatcher;
|
||||
import net.minecraft.client.renderer.block.ModelBlockRenderer;
|
||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||
import net.minecraft.client.resources.model.BakedModel;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.client.model.data.ModelData;
|
||||
import net.minecraftforge.client.model.data.ModelProperty;
|
||||
|
||||
public class VirtualRenderHelper {
|
||||
public static final ModelProperty<Boolean> VIRTUAL_PROPERTY = new ModelProperty<>();
|
||||
public static final ModelData VIRTUAL_DATA = ModelData.builder().with(VIRTUAL_PROPERTY, true).build();
|
||||
|
||||
private static final ModelCache<BlockState> VIRTUAL_BLOCKS = new ModelCache<>(state -> new ForgeBakedModelBuilder(ModelUtil.VANILLA_RENDERER.getBlockModel(state)).modelData(VIRTUAL_DATA).build());
|
||||
private static final ThreadLocal<ThreadLocalObjects> THREAD_LOCAL_OBJECTS = ThreadLocal.withInitial(ThreadLocalObjects::new);
|
||||
|
||||
public static boolean isVirtual(ModelData data) {
|
||||
return data.has(VirtualRenderHelper.VIRTUAL_PROPERTY) && data.get(VirtualRenderHelper.VIRTUAL_PROPERTY);
|
||||
}
|
||||
|
||||
/**
|
||||
* A copy of {@link dev.engine_room.flywheel.lib.model.Models#block(BlockState)}, but with virtual model data passed in.
|
||||
* @param state The block state to get the model for.
|
||||
* @return The model for the given block state.
|
||||
*/
|
||||
public static Model blockModel(BlockState state) {
|
||||
return VIRTUAL_BLOCKS.get(state);
|
||||
}
|
||||
|
||||
public static SuperByteBuffer bufferBlock(BlockState state) {
|
||||
return bufferModel(ModelUtil.VANILLA_RENDERER.getBlockModel(state), state);
|
||||
}
|
||||
|
||||
public static SuperByteBuffer bufferModel(BakedModel model, BlockState state) {
|
||||
return bufferModel(model, state, null);
|
||||
}
|
||||
|
||||
public static SuperByteBuffer bufferModel(BakedModel model, BlockState state, @Nullable PoseStack poseStack) {
|
||||
BlockRenderDispatcher dispatcher = ModelUtil.VANILLA_RENDERER;
|
||||
ModelBlockRenderer renderer = dispatcher.getModelRenderer();
|
||||
ThreadLocalObjects objects = THREAD_LOCAL_OBJECTS.get();
|
||||
|
||||
if (poseStack == null) {
|
||||
poseStack = objects.identityPoseStack;
|
||||
}
|
||||
RandomSource random = objects.random;
|
||||
|
||||
ShadedBlockSbbBuilder sbbBuilder = objects.sbbBuilder;
|
||||
sbbBuilder.begin();
|
||||
|
||||
ModelData modelData = model.getModelData(VirtualEmptyBlockGetter.FULL_DARK, BlockPos.ZERO, state, VIRTUAL_DATA);
|
||||
poseStack.pushPose();
|
||||
renderer.tesselateBlock(VirtualEmptyBlockGetter.FULL_DARK, model, state, BlockPos.ZERO, poseStack, sbbBuilder, false, random, 42L, OverlayTexture.NO_OVERLAY, modelData, null);
|
||||
poseStack.popPose();
|
||||
|
||||
return sbbBuilder.end();
|
||||
}
|
||||
|
||||
public static void transferBlockVertexData(ByteBuffer vertexBuffer, int stride, int srcIndex, MutableTemplateMesh mutableMesh, int dstIndex, int vertexCount) {
|
||||
for (int i = 0; i < vertexCount; i++) {
|
||||
mutableMesh.x(dstIndex + i, vertexBuffer.getFloat(srcIndex + i * stride));
|
||||
mutableMesh.y(dstIndex + i, vertexBuffer.getFloat(srcIndex + i * stride + 4));
|
||||
mutableMesh.z(dstIndex + i, vertexBuffer.getFloat(srcIndex + i * stride + 8));
|
||||
mutableMesh.color(dstIndex + i, vertexBuffer.getInt(srcIndex + i * stride + 12));
|
||||
mutableMesh.u(dstIndex + i, vertexBuffer.getFloat(srcIndex + i * stride + 16));
|
||||
mutableMesh.v(dstIndex + i, vertexBuffer.getFloat(srcIndex + i * stride + 20));
|
||||
mutableMesh.overlay(dstIndex + i, OverlayTexture.NO_OVERLAY);
|
||||
mutableMesh.light(dstIndex + i, vertexBuffer.getInt(srcIndex + i * stride + 24));
|
||||
mutableMesh.normal(dstIndex + i, vertexBuffer.getInt(srcIndex + i * stride + 28));
|
||||
}
|
||||
}
|
||||
|
||||
private static class ThreadLocalObjects {
|
||||
public final PoseStack identityPoseStack = new PoseStack();
|
||||
public final RandomSource random = RandomSource.createNewThreadLocalInstance();
|
||||
public final ShadedBlockSbbBuilder sbbBuilder = new ShadedBlockSbbBuilder();
|
||||
}
|
||||
}
|
|
@ -40,13 +40,13 @@ ${mod_description}
|
|||
[[dependencies.create]]
|
||||
modId="catnip"
|
||||
mandatory=true
|
||||
versionRange="[0.6,)"
|
||||
versionRange="[0.8,)"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
||||
[[dependencies.create]]
|
||||
modId="ponder"
|
||||
mandatory=true
|
||||
versionRange="[0.6,)"
|
||||
versionRange="[0.8,)"
|
||||
ordering="AFTER"
|
||||
side="BOTH"
|
||||
|
|
Loading…
Add table
Reference in a new issue