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 4097f7e0a4
commit 74f9e1f9a3
14 changed files with 61 additions and 48 deletions

View File

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

View File

@ -186,6 +186,6 @@ curseforge {
changelog = file('changelog.txt') changelog = file('changelog.txt')
releaseType = project.curse_type releaseType = project.curse_type
mainArtifact jar 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: 0.6.0:
With this release, Flywheel is no longer needed on servers! Forge finally has client commands, With this release, Flywheel is no longer needed on servers! Forge finally has client commands,
and the /flywheel command now takes advantage of this. and the /flywheel command now takes advantage of this.

View File

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

View File

@ -1,8 +1,7 @@
package com.jozufozu.flywheel; 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.apache.maven.artifact.versioning.ArtifactVersion;
import org.slf4j.Logger;
import com.jozufozu.flywheel.backend.Backend; import com.jozufozu.flywheel.backend.Backend;
import com.jozufozu.flywheel.backend.OptifineHandler; 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.event.ReloadRenderersEvent;
import com.jozufozu.flywheel.mixin.PausedPartialTickAccessor; import com.jozufozu.flywheel.mixin.PausedPartialTickAccessor;
import com.jozufozu.flywheel.vanilla.VanillaInstances; import com.jozufozu.flywheel.vanilla.VanillaInstances;
import com.mojang.logging.LogUtils;
import net.minecraft.commands.synchronization.ArgumentTypes; import net.minecraft.commands.synchronization.ArgumentTypes;
import net.minecraft.commands.synchronization.EmptyArgumentSerializer; import net.minecraft.commands.synchronization.EmptyArgumentSerializer;
@ -36,7 +36,7 @@ import net.minecraftforge.network.NetworkConstants;
public class Flywheel { public class Flywheel {
public static final String ID = "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; private static ArtifactVersion version;
public Flywheel() { public Flywheel() {

View File

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

View File

@ -117,7 +117,7 @@ public class Loader implements ResourceManagerReloadListener {
programs.put(specName, spec); programs.put(specName, spec);
} catch (Exception e) { } 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.ConcurrentLinkedDeque;
import java.util.concurrent.atomic.AtomicBoolean; 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.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.jozufozu.flywheel.Flywheel; import com.jozufozu.flywheel.Flywheel;
import com.jozufozu.flywheel.backend.instancing.batching.WaitGroup; 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 // 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 { 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 AtomicBoolean running = new AtomicBoolean(false);
private final WaitGroup wg = new WaitGroup(); private final WaitGroup wg = new WaitGroup();
@ -135,11 +135,12 @@ public class ParallelTaskEngine implements TaskEngine {
return job; return job;
} }
// TODO: job context
private void processTask(Runnable job) { private void processTask(Runnable job) {
try { try {
job.run(); job.run();
} catch (Exception e) { } catch (Exception e) {
Flywheel.LOGGER.error(e); Flywheel.LOGGER.error("Error running job", e);
} finally { } finally {
ParallelTaskEngine.this.wg.done(); ParallelTaskEngine.this.wg.done();
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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