Update to 1.18.2

- Switch to SLF4J logging
- Bump version
- Add 0.6.1 changelog
This commit is contained in:
PepperCode1 2022-03-14 10:52:28 -07:00
parent 3d24002aac
commit a419eab484
14 changed files with 61 additions and 48 deletions

View file

@ -59,6 +59,7 @@ body:
label: Mod Version
description: The version of the mod you were using when the bug occured
options:
- "0.6.2"
- "0.6.1"
- "0.6.0"
- "0.5.1"

View file

@ -186,6 +186,6 @@ curseforge {
changelog = file('changelog.txt')
releaseType = project.curse_type
mainArtifact jar
addGameVersion '1.18.1'
addGameVersion '1.18.2'
}
}

View file

@ -1,3 +1,11 @@
0.6.1:
Fixes
- Fix crash when loading block entities for Flywheel to render, most common when exploring the end.
- Fix occasional visual artifacts when enabling optifine shaders.
Technical/API
- Added more debug information to the F3 screen.
- Distance update limiting can now be disabled.
0.6.0:
With this release, Flywheel is no longer needed on servers! Forge finally has client commands,
and the /flywheel command now takes advantage of this.

View file

@ -2,10 +2,10 @@ org.gradle.jvmargs = -Xmx3G
org.gradle.daemon = false
# mod version info
mod_version = 0.6.1
mod_version = 0.6.2
mc_update_version = 1.18
minecraft_version = 1.18.1
forge_version = 39.0.59
minecraft_version = 1.18.2
forge_version = 40.0.15
# build dependency versions
forgegradle_version = 5.1.+
@ -13,7 +13,7 @@ mixingradle_version = 0.7-SNAPSHOT
mixin_version = 0.8.5
librarian_version = 1.+
cursegradle_version = 1.4.0
parchment_version = 2022.01.23
parchment_version = 2022.03.13
# curseforge info
projectId = 486392

View file

@ -1,8 +1,7 @@
package com.jozufozu.flywheel;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.slf4j.Logger;
import com.jozufozu.flywheel.backend.Backend;
import com.jozufozu.flywheel.backend.OptifineHandler;
@ -16,6 +15,7 @@ import com.jozufozu.flywheel.core.compile.ProgramCompiler;
import com.jozufozu.flywheel.event.ReloadRenderersEvent;
import com.jozufozu.flywheel.mixin.PausedPartialTickAccessor;
import com.jozufozu.flywheel.vanilla.VanillaInstances;
import com.mojang.logging.LogUtils;
import net.minecraft.commands.synchronization.ArgumentTypes;
import net.minecraft.commands.synchronization.EmptyArgumentSerializer;
@ -36,7 +36,7 @@ import net.minecraftforge.network.NetworkConstants;
public class Flywheel {
public static final String ID = "flywheel";
public static final Logger LOGGER = LogManager.getLogger(Flywheel.class);
public static final Logger LOGGER = LogUtils.getLogger();
private static ArtifactVersion version;
public Flywheel() {

View file

@ -2,14 +2,14 @@ package com.jozufozu.flywheel.backend;
import javax.annotation.Nullable;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.slf4j.Logger;
import com.jozufozu.flywheel.api.FlywheelWorld;
import com.jozufozu.flywheel.backend.gl.versioned.GlCompat;
import com.jozufozu.flywheel.config.FlwConfig;
import com.jozufozu.flywheel.config.FlwEngine;
import com.jozufozu.flywheel.core.shader.ProgramSpec;
import com.mojang.logging.LogUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation;
@ -17,7 +17,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.LevelAccessor;
public class Backend {
public static final Logger LOGGER = LogManager.getLogger(Backend.class);
public static final Logger LOGGER = LogUtils.getLogger();
private static FlwEngine engine;

View file

@ -117,7 +117,7 @@ public class Loader implements ResourceManagerReloadListener {
programs.put(specName, spec);
} catch (Exception e) {
Backend.LOGGER.error(e);
Backend.LOGGER.error("Could not load program " + location, e);
}
}
}

View file

@ -6,10 +6,10 @@ import java.util.List;
import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.jozufozu.flywheel.Flywheel;
import com.jozufozu.flywheel.backend.instancing.batching.WaitGroup;
@ -18,7 +18,7 @@ import net.minecraft.util.Mth;
// https://github.com/CaffeineMC/sodium-fabric/blob/5d364ed5ba63f9067fcf72a078ca310bff4db3e9/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/compile/ChunkBuilder.java
public class ParallelTaskEngine implements TaskEngine {
private static final Logger LOGGER = LogManager.getLogger("BatchExecutor");
private static final Logger LOGGER = LoggerFactory.getLogger("BatchExecutor");
private final AtomicBoolean running = new AtomicBoolean(false);
private final WaitGroup wg = new WaitGroup();
@ -135,11 +135,12 @@ public class ParallelTaskEngine implements TaskEngine {
return job;
}
// TODO: job context
private void processTask(Runnable job) {
try {
job.run();
} catch (Exception e) {
Flywheel.LOGGER.error(e);
Flywheel.LOGGER.error("Error running job", e);
} finally {
ParallelTaskEngine.this.wg.done();
}

View file

@ -117,7 +117,7 @@ public class ErrorBuilder {
return this;
}
public CharSequence build() {
public String build() {
int maxLength = -1;
for (ErrorLine line : lines) {
@ -136,6 +136,6 @@ public class ErrorBuilder {
.append('\n');
}
return builder;
return builder.toString();
}
}

View file

@ -16,7 +16,7 @@ public class ErrorReporter {
public static void generateSpanError(Span span, String message) {
SourceFile file = span.getSourceFile();
CharSequence error = ErrorBuilder.error(message)
String error = ErrorBuilder.error(message)
.pointAtFile(file)
.pointAt(span, 2)
.build();
@ -26,7 +26,7 @@ public class ErrorReporter {
public static void generateFileError(SourceFile file, String message) {
CharSequence error = ErrorBuilder.error(message)
String error = ErrorBuilder.error(message)
.pointAtFile(file)
.build();

View file

@ -1,6 +1,7 @@
package com.jozufozu.flywheel.core.virtual;
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import java.util.stream.Stream;
@ -12,6 +13,7 @@ import com.jozufozu.flywheel.util.Mods;
import ca.spottedleaf.starlight.common.chunk.ExtendedChunk;
import ca.spottedleaf.starlight.common.light.StarLightEngine;
import it.unimi.dsi.fastutil.longs.LongSet;
import it.unimi.dsi.fastutil.longs.LongSets;
import it.unimi.dsi.fastutil.shorts.ShortList;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Registry;
@ -26,7 +28,7 @@ import net.minecraft.world.level.chunk.ChunkStatus;
import net.minecraft.world.level.chunk.LevelChunkSection;
import net.minecraft.world.level.chunk.UpgradeData;
import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.levelgen.feature.StructureFeature;
import net.minecraft.world.level.levelgen.feature.ConfiguredStructureFeature;
import net.minecraft.world.level.levelgen.structure.StructureStart;
import net.minecraft.world.level.material.Fluid;
import net.minecraft.world.level.material.FluidState;
@ -191,35 +193,40 @@ public class VirtualChunk extends ChunkAccess {
}
@Override
public void addReferenceForFeature(StructureFeature<?> arg0, long arg1) {}
@Override
public Map<StructureFeature<?>, LongSet> getAllReferences() {
@Nullable
public StructureStart getStartForFeature(ConfiguredStructureFeature<?, ?> pStructure) {
return null;
}
@Override
public LongSet getReferencesForFeature(StructureFeature<?> arg0) {
return null;
public void setStartForFeature(ConfiguredStructureFeature<?, ?> pStructure, StructureStart pStart) {
}
@Override
public StructureStart<?> getStartForFeature(StructureFeature<?> arg0) {
return null;
public Map<ConfiguredStructureFeature<?, ?>, StructureStart> getAllStarts() {
return Collections.emptyMap();
}
@Override
public void setAllReferences(Map<StructureFeature<?>, LongSet> arg0) {}
public void setAllStarts(Map<ConfiguredStructureFeature<?, ?>, StructureStart> pStructureStarts) {
}
@Override
public void setStartForFeature(StructureFeature<?> arg0, StructureStart<?> arg1) {}
public LongSet getReferencesForFeature(ConfiguredStructureFeature<?, ?> pStructure) {
return LongSets.emptySet();
}
@Override
public void setAllStarts(Map<StructureFeature<?>, StructureStart<?>> p_201612_1_) {}
public void addReferenceForFeature(ConfiguredStructureFeature<?, ?> pStructure, long pReference) {
}
@Override
public Map<StructureFeature<?>, StructureStart<?>> getAllStarts() {
return null;
public Map<ConfiguredStructureFeature<?, ?>, LongSet> getAllReferences() {
return Collections.emptyMap();
}
@Override
public void setAllReferences(Map<ConfiguredStructureFeature<?, ?>, LongSet> pStructureReferences) {
}
@Override

View file

@ -52,7 +52,8 @@ public class VirtualChunkSource extends ChunkSource {
}
@Override
public void tick(BooleanSupplier pHasTimeLeft) {}
public void tick(BooleanSupplier p_202162_, boolean p_202163_) {
}
@Override
public int getLoadedChunksCount() {

View file

@ -15,12 +15,12 @@ import com.jozufozu.flywheel.api.FlywheelWorld;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Holder;
import net.minecraft.core.RegistryAccess;
import net.minecraft.core.SectionPos;
import net.minecraft.core.Vec3i;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundSource;
import net.minecraft.tags.TagContainer;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.crafting.RecipeManager;
@ -67,7 +67,7 @@ public class VirtualRenderWorld extends Level implements FlywheelWorld {
}
public VirtualRenderWorld(Level level, Vec3i biomeOffset, int height, int minBuildHeight) {
super((WritableLevelData) level.getLevelData(), level.dimension(), level.dimensionType(), level::getProfiler,
super((WritableLevelData) level.getLevelData(), level.dimension(), level.dimensionTypeRegistration(), level::getProfiler,
true, false, 0);
this.biomeOffset = biomeOffset;
this.level = level;
@ -188,19 +188,19 @@ public class VirtualRenderWorld extends Level implements FlywheelWorld {
// BIOME OFFSET
@Override
public Biome getBiome(BlockPos pPos) {
public Holder<Biome> getBiome(BlockPos pPos) {
return super.getBiome(pPos.offset(biomeOffset));
}
@Override
public Biome getUncachedNoiseBiome(int pX, int pY, int pZ) {
public Holder<Biome> getUncachedNoiseBiome(int pX, int pY, int pZ) {
// Control flow should never reach this method,
// so we add biomeOffset in case some other mod calls this directly.
return level.getUncachedNoiseBiome(pX + biomeOffset.getX(), pY + biomeOffset.getY(), pZ + biomeOffset.getZ());
}
@Override
public Biome getNoiseBiome(int pX, int pY, int pZ) {
public Holder<Biome> getNoiseBiome(int pX, int pY, int pZ) {
// Control flow should never reach this method,
// so we add biomeOffset in case some other mod calls this directly.
return level.getNoiseBiome(pX + biomeOffset.getX(), pY + biomeOffset.getY(), pZ + biomeOffset.getZ());
@ -245,11 +245,6 @@ public class VirtualRenderWorld extends Level implements FlywheelWorld {
return level.getRecipeManager();
}
@Override
public TagContainer getTagManager() {
return level.getTagManager();
}
@Override
public int getFreeMapId() {
return level.getFreeMapId();

View file

@ -1,5 +1,5 @@
modLoader = "javafml"
loaderVersion = "[38,)"
loaderVersion = "[40,)"
issueTrackerURL = "https://github.com/Jozufozu/Flywheel/issues"
license = "MIT"
@ -16,13 +16,13 @@ A modern engine for modded minecraft.'''
[[dependencies.flywheel]]
modId = "forge"
mandatory = true
versionRange = "[39.0.46,)"
versionRange = "[40.0.0,)"
ordering = "NONE"
side = "CLIENT"
[[dependencies.flywheel]]
modId = "minecraft"
mandatory = true
versionRange = "[1.18.1,1.19)"
versionRange = "[1.18.2,1.19)"
ordering = "NONE"
side = "CLIENT"