Skip to content

Commit

Permalink
Merge Fixes II
Browse files Browse the repository at this point in the history
  • Loading branch information
IThundxr committed Sep 21, 2024
1 parent b87f0e7 commit 532d7da
Show file tree
Hide file tree
Showing 13 changed files with 60 additions and 84 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,6 @@

import javax.annotation.Nullable;

import io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor.HashMapPaletteAccessor;

import org.apache.commons.lang3.tuple.MutablePair;
import org.apache.commons.lang3.tuple.Pair;

Expand Down Expand Up @@ -69,7 +67,6 @@
import com.simibubi.create.content.logistics.crate.CreativeCrateBlockEntity;
import com.simibubi.create.content.redstone.contact.RedstoneContactBlock;
import com.simibubi.create.content.trains.bogey.AbstractBogeyBlock;
import com.simibubi.create.foundation.fluid.CombinedTankWrapper;
import com.simibubi.create.foundation.blockEntity.IMultiBlockEntityContainer;
import com.simibubi.create.foundation.blockEntity.behaviour.filtering.FilteringBehaviour;
import com.simibubi.create.foundation.fluid.CombinedTankWrapper;
Expand All @@ -84,17 +81,16 @@
import com.simibubi.create.infrastructure.config.AllConfigs;

import io.github.fabricators_of_create.porting_lib.fluids.FluidStack;
import io.github.fabricators_of_create.porting_lib.mixin.accessors.common.accessor.HashMapPaletteAccessor;
import io.github.fabricators_of_create.porting_lib.util.StickinessUtil;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.transfer.v1.item.ItemVariant;
import net.fabricmc.fabric.api.transfer.v1.storage.Storage;
import net.fabricmc.fabric.api.transfer.v1.storage.base.CombinedStorage;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
import net.minecraft.core.IdMapper;
import net.minecraft.core.HolderGetter;
import net.minecraft.core.IdMapper;
import net.minecraft.core.registries.Registries;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.ListTag;
Expand Down Expand Up @@ -948,7 +944,6 @@ private void readBlocksCompound(Tag compound, Level world, boolean usePalettedDe
be.getBlockState();

presentBlockEntities.put(info.pos(), be);
modelData.put(info.pos(), be.getModelData());

MovementBehaviour movementBehaviour = AllMovementBehaviours.getBehaviour(info.state());
if (movementBehaviour == null || !movementBehaviour.disableBlockEntityRendering()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,11 @@
import com.simibubi.create.foundation.render.CachedBufferer;
import com.simibubi.create.foundation.utility.Iterate;
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import io.github.fabricators_of_create.porting_lib.fluids.FluidStack;
import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank;

import dev.engine_room.flywheel.lib.transform.TransformStack;
import io.github.fabricators_of_create.porting_lib.fluids.FluidStack;
import io.github.fabricators_of_create.porting_lib.transfer.fluid.FluidTank;
import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariantAttributes;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
package com.simibubi.create.content.kinetics.belt;

import net.minecraft.util.RandomSource;

import java.util.Random;
import java.util.function.Supplier;

Expand Down Expand Up @@ -34,8 +32,8 @@
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.client.renderer.entity.ItemRenderer;
import net.minecraft.core.BlockPos.MutableBlockPos;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.core.BlockPos.MutableBlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.AxisDirection;
import net.minecraft.core.Vec3i;
Expand Down Expand Up @@ -245,7 +243,7 @@ protected void renderItems(BeltBlockEntity be, float partialTicks, PoseStack ms,
}

ms.pushPose();
TransformStack.cast(ms).nudge(transported.angle);
TransformStack.of(ms).nudge(transported.angle);
ms.translate(offsetVec.x, offsetVec.y, offsetVec.z);

boolean alongX = beltFacing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,10 @@
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
import com.simibubi.create.infrastructure.config.AllConfigs;

import dev.engine_room.flywheel.lib.visualization.VisualizationHelper;
import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil;
import io.github.fabricators_of_create.porting_lib.util.EnvExecutor;
import io.github.fabricators_of_create.porting_lib.util.ItemStackUtil;
import io.github.fabricators_of_create.porting_lib.util.NBTSerializer;

import net.fabricmc.api.EnvType;
import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction;
import net.minecraft.core.BlockPos;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,17 @@
package com.simibubi.create.content.kinetics.simpleRelays;

import java.util.Collections;
import java.util.List;
import java.util.function.Supplier;

import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour;
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
import com.simibubi.create.foundation.render.VirtualRenderHelper;

import dev.engine_room.flywheel.lib.model.baked.VirtualEmptyBlockGetter;
import net.fabricmc.fabric.api.renderer.v1.model.FabricBakedModel;
import net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel;
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.block.model.BakedQuad;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.util.RandomSource;
import net.minecraft.world.level.BlockAndTintGetter;
import net.minecraft.world.level.block.state.BlockState;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
import com.simibubi.create.infrastructure.config.AllConfigs;

import dev.engine_room.flywheel.lib.visualization.VisualizationHelper;
import io.github.fabricators_of_create.porting_lib.util.EnvExecutor;
import net.fabricmc.api.EnvType;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.nbt.CompoundTag;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

import javax.annotation.Nullable;

import com.simibubi.create.AllBlocks;
import com.simibubi.create.AllBogeyStyles;
import com.simibubi.create.Create;
import com.simibubi.create.content.trains.bogey.AbstractBogeyBlock;
Expand All @@ -23,7 +24,6 @@

import dev.engine_room.flywheel.api.visualization.VisualizationContext;
import net.minecraft.core.Direction.Axis;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.nbt.Tag;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,10 @@
package com.simibubi.create.foundation.config.ui.compat.flywheel;

import com.mojang.blaze3d.vertex.PoseStack;

import com.simibubi.create.foundation.gui.AllIcons;
import com.simibubi.create.foundation.gui.Theme;
import com.simibubi.create.foundation.gui.UIRenderHelper;
import com.simibubi.create.foundation.gui.element.RenderElement;
import com.simibubi.create.foundation.gui.widget.BoxWidget;

import io.github.fabricators_of_create.porting_lib.mixin.accessors.client.accessor.AbstractWidgetAccessor;
import net.minecraft.client.gui.GuiGraphics;

Expand All @@ -16,8 +13,8 @@ public class FlwBooleanEntry extends FlwValueEntry<Boolean> {
RenderElement disabled;
BoxWidget button;

public FlwBooleanEntry(String label, Option<Boolean> option) {
super(label, option);
public FlwBooleanEntry(Boolean option, String key) {
super(option, key);

enabled = AllIcons.I_CONFIRM.asStencil()
.withElementRenderer((ms, width, height, alpha) -> UIRenderHelper.angledGradient(ms, 0, 0, height / 2, height, width, Theme.p(Theme.Key.BUTTON_SUCCESS)))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,17 @@
import com.simibubi.create.foundation.gui.element.TextStencilElement;
import com.simibubi.create.foundation.gui.widget.BoxWidget;

import dev.engine_room.flywheel.impl.FlwConfig;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraftforge.fml.config.ModConfig;

public class FlwConfigScreen extends BaseConfigScreen {

private final FlwConfig flwConfig;
private final FlwConfig flwConfig = FlwConfig.INSTANCE;

public FlwConfigScreen(Screen parent, @NotNull String modID) {
super(parent, modID);
flwConfig = FlwConfig.get();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package com.simibubi.create.foundation.config.ui.compat.flywheel;

import com.mojang.blaze3d.vertex.PoseStack;
import com.simibubi.create.foundation.config.ui.ConfigScreen;
import com.simibubi.create.foundation.gui.AllIcons;
import com.simibubi.create.foundation.gui.Theme;
Expand All @@ -9,7 +8,6 @@
import com.simibubi.create.foundation.gui.element.DelegatedStencilElement;
import com.simibubi.create.foundation.gui.element.TextStencilElement;
import com.simibubi.create.foundation.gui.widget.BoxWidget;

import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;

Expand All @@ -23,8 +21,8 @@ public class FlwEnumEntry extends FlwValueEntry<Enum<?>> {
protected BoxWidget cycleLeft;
protected BoxWidget cycleRight;

public FlwEnumEntry(String label, Option<Enum<?>> option) {
super(label, option);
public FlwEnumEntry(Enum<?> option, String key) {
super(option, key);

valueText = new TextStencilElement(Minecraft.getInstance().font, "YEP").centered(true, true);
valueText.withElementRenderer((ms, width, height, alpha) -> UIRenderHelper.angledGradient(ms, 0, 0, height / 2,
Expand Down Expand Up @@ -105,6 +103,6 @@ public void render(GuiGraphics graphics, int index, int y, int x, int width, int
public void onValueChange(Enum<?> newValue) {
super.onValueChange(newValue);
valueText.withText(ConfigScreen.toHumanReadable(newValue.name().toLowerCase(Locale.ROOT)));
Backend.reloadWorldRenderers();
Minecraft.getInstance().levelRenderer.allChanged();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@
import com.simibubi.create.foundation.utility.Color;
import com.simibubi.create.foundation.utility.Couple;

import dev.engine_room.flywheel.impl.FabricFlwConfig;
import dev.engine_room.flywheel.impl.FlwConfig;
import me.jellysquid.mods.sodium.client.gui.options.Option;
import io.github.fabricators_of_create.porting_lib.mixin.accessors.client.accessor.AbstractSelectionListAccessor;
import net.minecraft.ChatFormatting;
import net.minecraft.client.gui.screens.Screen;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.FormattedText;
import io.github.fabricators_of_create.porting_lib.mixin.accessors.client.accessor.AbstractSelectionListAccessor;
import net.minecraftforge.fml.config.ModConfig;

public class FlwSubMenuConfigScreen extends SubMenuConfigScreen {
Expand All @@ -43,7 +43,7 @@ public FlwSubMenuConfigScreen(Screen parent, ModConfig.Type type, FlwConfig flwC

@Override
protected void saveChanges() {
flwConfig.save();
FabricFlwConfig.INSTANCE.save();
}

@Override
Expand Down Expand Up @@ -142,25 +142,10 @@ protected void init() {
search.moveCursorToStart();
addRenderableWidget(search);

flwConfig.getOptionMapView().forEach((key, option) -> {
String humanKey = toHumanReadable(key);

Object value = option.get();
ConfigScreenList.Entry entry = null;
if (value instanceof Boolean) {
entry = new FlwBooleanEntry(humanKey, (Option<Boolean>) option);
} else if (value instanceof Enum) {
entry = new FlwEnumEntry(humanKey, (Option<Enum<?>>) option);
}

if (entry == null)
entry = new ConfigScreenList.LabeledEntry("Impl missing - " + option.get().getClass().getSimpleName() + " " + humanKey + " : " + value);

if (highlights.contains(key))
entry.annotations.put("highlight", ":)");

list.children().add(entry);
});
addConfigEntry(FabricFlwConfig.INSTANCE.backend, "backend");
addConfigEntry(FabricFlwConfig.INSTANCE.limitUpdates, "limitUpdates");
addConfigEntry(FabricFlwConfig.INSTANCE.workerThreads, "workerThreads");
addConfigEntry(FabricFlwConfig.INSTANCE.backendConfig, "flw_backend");

Collections.sort(list.children(),
(e, e2) -> {
Expand Down Expand Up @@ -214,4 +199,21 @@ protected void init() {

addRenderableWidget(serverLocked);
}

private <T> void addConfigEntry(T option, String key) {
ConfigScreenList.Entry entry = null;
if (option instanceof Boolean) {
entry = new FlwBooleanEntry((Boolean) option, key);
} else if (option instanceof Enum) {
entry = new FlwEnumEntry((Enum<?>) option, key);
}

if (entry == null)
entry = new ConfigScreenList.LabeledEntry("Impl missing - " + option.getClass().getSimpleName() + " " + toHumanReadable(key) + " : " + option);

if (highlights.contains(key))
entry.annotations.put("highlight", ":)");

list.children().add(entry);
}
}
Original file line number Diff line number Diff line change
@@ -1,13 +1,5 @@
package com.simibubi.create.foundation.config.ui.compat.flywheel;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import org.jetbrains.annotations.NotNull;

import com.google.common.base.Predicates;
import com.simibubi.create.foundation.config.ui.ConfigAnnotations;
import com.simibubi.create.foundation.config.ui.ConfigHelper;
Expand All @@ -19,32 +11,35 @@
import com.simibubi.create.foundation.item.TooltipHelper;
import com.simibubi.create.foundation.item.TooltipHelper.Palette;
import com.simibubi.create.foundation.utility.Pair;

import me.jellysquid.mods.sodium.client.gui.options.Option;
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.Component;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

public class FlwValueEntry<T> extends ValueEntry<T> {

protected Option<T> option;
protected T option;

public FlwValueEntry(String label, Option option) {
super(label);
public FlwValueEntry(T option, String key) {
super(ConfigScreen.toHumanReadable(key));
this.option = option;
this.path = String.join(".", option.getKey());
this.path = String.join(".", key);

resetButton = new BoxWidget(0, 0, resetWidth - 12, 16)
.showingElement(AllIcons.I_CONFIG_RESET.asStencil())
.withCallback(() -> {
setValue((T) option.get());
setValue(option);
this.onReset();
});
resetButton.modifyElement(e -> ((DelegatedStencilElement) e).withElementRenderer(BoxWidget.gradientFactory.apply(resetButton)));

listeners.add(resetButton);

String path = option.getKey();
labelTooltip.add(Component.literal(label).withStyle(ChatFormatting.WHITE));
labelTooltip.add(Component.literal(ConfigScreen.toHumanReadable(key)).withStyle(ChatFormatting.WHITE));
String comment = null;//option.getComment();
if (comment == null || comment.isEmpty())
return;
Expand All @@ -65,27 +60,27 @@ public FlwValueEntry(String label, Option option) {
.map(Component::literal)
.flatMap(stc -> TooltipHelper.cutTextComponent(stc, Palette.ALL_GRAY)
.stream())
.collect(Collectors.toList()));
.toList());

if (annotations.containsKey(ConfigAnnotations.RequiresRelog.TRUE.getName()))
labelTooltip.addAll(TooltipHelper.cutTextComponent(Component.literal("Changing this value will require a _relog_ to take full effect"), Palette.GRAY_AND_GOLD));

if (annotations.containsKey(ConfigAnnotations.RequiresRestart.CLIENT.getName()))
labelTooltip.addAll(TooltipHelper.cutTextComponent(Component.literal("Changing this value will require a _restart_ to take full effect"), Palette.GRAY_AND_RED));

labelTooltip.add(Component.literal(ConfigScreen.modID + ":" + path).withStyle(ChatFormatting.DARK_GRAY));
labelTooltip.add(Component.literal(ConfigScreen.modID + ":" + key).withStyle(ChatFormatting.DARK_GRAY));
}

@Override
public void setValue(@NotNull T value) {
option.set(value);
option = value;
onValueChange(value);
}

@NotNull
@Override
public T getValue() {
return option.get();
return option;
}

@Override
Expand Down
Loading

0 comments on commit 532d7da

Please sign in to comment.