diff --git a/dependencies.gradle b/dependencies.gradle index 863287a0d..badad19e5 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -49,7 +49,7 @@ configurations { } dependencies { - compileOnly("com.github.GTNewHorizons:Hodgepodge:2.6.23") + compileOnly("com.github.GTNewHorizons:Hodgepodge:2.6.27") compileOnly("com.gtnewhorizons.retrofuturabootstrap:RetroFuturaBootstrap:1.0.7") { transitive = false } @@ -61,7 +61,7 @@ dependencies { // Iris Shaders compileOnly('org.jetbrains:annotations:26.0.2') - api("com.github.GTNewHorizons:GTNHLib:0.6.8:dev") + api("com.github.GTNewHorizons:GTNHLib:0.6.11:dev") shadowImplementation("org.anarres:jcpp:1.4.14") // Apache 2.0 shadowImplementation("org.taumc:glsl-transformation-lib:0.2.0-4.g6b42bca") { exclude module: "antlr4" // we only want to shadow the runtime module @@ -70,21 +70,21 @@ dependencies { compileOnly "org.apache.ant:ant:1.8.2" // Because who doesn't want NEI - devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.7.27-GTNH:dev') + devOnlyNonPublishable('com.github.GTNewHorizons:NotEnoughItems:2.7.29-GTNH:dev') devOnlyNonPublishable('com.github.GTNewHorizons:CodeChickenCore:1.4.1:dev') // Notfine Deps compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") devOnlyNonPublishable("com.github.GTNewHorizons:Baubles:1.0.4:dev") - compileOnly("com.github.GTNewHorizons:twilightforest:2.7.4:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:twilightforest:2.7.5:dev") { transitive = false } compileOnly(rfg.deobf('curse.maven:witchery-69673:2234410')) - compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.13.8-GTNH:dev") { transitive = false } + compileOnly("com.github.GTNewHorizons:TinkersConstruct:1.13.9-GTNH:dev") { transitive = false } compileOnly("com.github.GTNewHorizons:Natura:2.8.2:dev") compileOnly("com.github.GTNewHorizons:ThaumicHorizons:1.7.1:dev") compileOnly("com.github.GTNewHorizons:Battlegear2:1.4.2:dev") { transitive = false } - compileOnly('com.github.GTNewHorizons:Backhand:1.6.9') { transitive = false } + compileOnly('com.github.GTNewHorizons:Backhand:1.6.11') { transitive = false } compileOnly("com.falsepattern:chunkapi-mc1.7.10:0.5.1:api") { transitive = false } compileOnly("com.falsepattern:endlessids-mc1.7.10:1.5-beta0003:dev") { transitive = false } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index e2847c820..37f853b1c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index f5feea6d6..f3b75f3b0 100755 --- a/gradlew +++ b/gradlew @@ -86,8 +86,7 @@ done # shellcheck disable=SC2034 APP_BASE_NAME=${0##*/} # Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036) -APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s -' "$PWD" ) || exit +APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD=maximum diff --git a/settings.gradle b/settings.gradle index 6ef11cc01..dee0547c6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -16,5 +16,5 @@ pluginManagement { } plugins { - id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.32' + id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.36' } diff --git a/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java b/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java index e6d638bd5..78509de14 100644 --- a/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java +++ b/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java @@ -42,8 +42,6 @@ public class BatchingFontRenderer { private int[] colorCode; /** Location of the primary font atlas to bind. */ protected final ResourceLocation locationFontTexture; - /** The RenderEngine used to load and setup glyph textures. */ - private final TextureManager renderEngine; private final RandomXoshiro256StarStar fontRandom = new RandomXoshiro256StarStar(); /** The full list of characters present in the default Minecraft font, excluding the Unicode font */ @@ -74,14 +72,13 @@ public class BatchingFontRenderer { } public BatchingFontRenderer(FontRenderer underlying, ResourceLocation[] unicodePageLocations, int[] charWidth, - byte[] glyphWidth, int[] colorCode, ResourceLocation locationFontTexture, TextureManager renderEngine) { + byte[] glyphWidth, int[] colorCode, ResourceLocation locationFontTexture) { this.underlying = underlying; this.unicodePageLocations = unicodePageLocations; this.charWidth = charWidth; this.glyphWidth = glyphWidth; this.colorCode = colorCode; this.locationFontTexture = locationFontTexture; - this.renderEngine = renderEngine; for (int i = 0; i < 64; i++) { batchCommandPool.add(new FontDrawCmd()); diff --git a/src/main/java/com/gtnewhorizons/angelica/compat/ExtendedBlockStorageExt.java b/src/main/java/com/gtnewhorizons/angelica/compat/ExtendedBlockStorageExt.java index d4dac1828..c394abb16 100644 --- a/src/main/java/com/gtnewhorizons/angelica/compat/ExtendedBlockStorageExt.java +++ b/src/main/java/com/gtnewhorizons/angelica/compat/ExtendedBlockStorageExt.java @@ -1,8 +1,6 @@ package com.gtnewhorizons.angelica.compat; import com.falsepattern.chunk.api.DataRegistry; -import com.gtnewhorizons.angelica.mixins.interfaces.ExtendedBlockStorageAccessor; -import com.gtnewhorizons.angelica.mixins.interfaces.ExtendedNibbleArray; import com.gtnewhorizons.neid.mixins.interfaces.IExtendedBlockStorageMixin; import net.minecraft.world.chunk.Chunk; @@ -19,7 +17,7 @@ public class ExtendedBlockStorageExt extends ExtendedBlockStorage { } public ExtendedBlockStorageExt(Chunk chunk, ExtendedBlockStorage storage) { - super(((ExtendedBlockStorageAccessor) storage).getYBase(), storage.getSkylightArray() != null); + super(storage.yBase, storage.getSkylightArray() != null); if (ModStatus.isChunkAPILoaded) { if (storage.getSkylightArray() != null) { @@ -33,7 +31,7 @@ public class ExtendedBlockStorageExt extends ExtendedBlockStorage { System.arraycopy(((IExtendedBlockStorageMixin)(Object)storage).getBlock16BArray(), 0, block16BArray, 0, block16BArray.length); if(storage.getBlockMSBArray() != null) { this.setBlockMSBArray(new NibbleArray(block16BArray.length, 4)); - copyNibbleArray((ExtendedNibbleArray) storage.getBlockMSBArray(), (ExtendedNibbleArray) this.getBlockMSBArray()); + copyNibbleArray(storage.getBlockMSBArray(), this.getBlockMSBArray()); } arrayLen = block16BArray.length; if (ModStatus.isNEIDMetadataExtended) { @@ -52,31 +50,31 @@ public class ExtendedBlockStorageExt extends ExtendedBlockStorage { System.arraycopy(storage.getBlockLSBArray(), 0, blockLSBArray, 0, blockLSBArray.length); if(storage.getBlockMSBArray() != null) { this.setBlockMSBArray(new NibbleArray(blockLSBArray.length, 4)); - copyNibbleArray((ExtendedNibbleArray) storage.getBlockMSBArray(), (ExtendedNibbleArray) this.getBlockMSBArray()); + copyNibbleArray(storage.getBlockMSBArray(), this.getBlockMSBArray()); } arrayLen = blockLSBArray.length; } - if (!ModStatus.isNEIDMetadataExtended) copyNibbleArray((ExtendedNibbleArray) storage.getMetadataArray(), (ExtendedNibbleArray)this.getMetadataArray()); - copyNibbleArray((ExtendedNibbleArray) storage.getBlocklightArray(), (ExtendedNibbleArray)this.getBlocklightArray()); + if (!ModStatus.isNEIDMetadataExtended) copyNibbleArray(storage.getMetadataArray(), this.getMetadataArray()); + copyNibbleArray(storage.getBlocklightArray(), this.getBlocklightArray()); if(storage.getSkylightArray() != null) { hasSky = true; if(this.getSkylightArray() == null) { this.setSkylightArray(new NibbleArray(arrayLen, 4)); } - copyNibbleArray((ExtendedNibbleArray) storage.getSkylightArray(), (ExtendedNibbleArray) this.getSkylightArray()); + copyNibbleArray(storage.getSkylightArray(), this.getSkylightArray()); } } - ((ExtendedBlockStorageAccessor) this).setBlockRefCount(((ExtendedBlockStorageAccessor) storage).getBlockRefCount()); + this.blockRefCount = storage.blockRefCount; } - private static void copyNibbleArray(ExtendedNibbleArray srcArray, ExtendedNibbleArray dstArray) { + private static void copyNibbleArray(NibbleArray srcArray, NibbleArray dstArray) { if (srcArray == null || dstArray == null) { throw new RuntimeException("NibbleArray is null src: " + (srcArray == null) + " dst: " + (dstArray == null)); } - final byte[] data = srcArray.getData(); - System.arraycopy(data, 0, dstArray.getData(), 0, data.length); + final byte[] data = srcArray.data; + System.arraycopy(data, 0, dstArray.data, 0, data.length); } } diff --git a/src/main/java/com/gtnewhorizons/angelica/compat/ModStatus.java b/src/main/java/com/gtnewhorizons/angelica/compat/ModStatus.java index 86d815e22..15de2926a 100644 --- a/src/main/java/com/gtnewhorizons/angelica/compat/ModStatus.java +++ b/src/main/java/com/gtnewhorizons/angelica/compat/ModStatus.java @@ -2,7 +2,6 @@ package com.gtnewhorizons.angelica.compat; import com.gtnewhorizons.angelica.helpers.LoadControllerHelper; import cpw.mods.fml.common.Loader; -import cpw.mods.fml.common.versioning.ArtifactVersion; import cpw.mods.fml.common.versioning.DefaultArtifactVersion; import mods.battlegear2.Battlegear; import net.dries007.holoInventory.HoloInventory; diff --git a/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ByteBufferBackedInputStream.java b/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ByteBufferBackedInputStream.java index e0b61f1ed..831405470 100644 --- a/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ByteBufferBackedInputStream.java +++ b/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ByteBufferBackedInputStream.java @@ -15,6 +15,7 @@ public class ByteBufferBackedInputStream extends InputStream { this.buf = buf; } + @Override public int read() throws IOException { if (!buf.hasRemaining()) { return -1; diff --git a/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ChunkPos.java b/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ChunkPos.java index 2a8be2ca5..f4c5d0398 100644 --- a/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ChunkPos.java +++ b/src/main/java/com/gtnewhorizons/angelica/compat/mojang/ChunkPos.java @@ -40,6 +40,7 @@ public class ChunkPos { return (long)x & 4294967295L | ((long)z & 4294967295L) << 32; } + @Override public int hashCode() { final int i = 1664525 * this.x + 1013904223; @@ -47,6 +48,7 @@ public class ChunkPos { return i ^ j; } + @Override public boolean equals(Object object) { if (this == object) { return true; diff --git a/src/main/java/com/gtnewhorizons/angelica/compat/mojang/NativeImage.java b/src/main/java/com/gtnewhorizons/angelica/compat/mojang/NativeImage.java index 043571e29..4918dab77 100644 --- a/src/main/java/com/gtnewhorizons/angelica/compat/mojang/NativeImage.java +++ b/src/main/java/com/gtnewhorizons/angelica/compat/mojang/NativeImage.java @@ -1,7 +1,5 @@ package com.gtnewhorizons.angelica.compat.mojang; -import static com.gtnewhorizon.gtnhlib.bytebuf.MemoryStack.*; - import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; @@ -10,7 +8,6 @@ import java.nio.ByteBuffer; import java.nio.IntBuffer; import javax.imageio.ImageIO; -import com.gtnewhorizon.gtnhlib.bytebuf.MemoryStack; import com.gtnewhorizon.gtnhlib.bytebuf.MemoryUtilities; import lombok.Getter; import net.coderbot.iris.Iris; @@ -113,18 +110,15 @@ public class NativeImage extends BufferedImage { public enum Format { - RGBA(4, GL11.GL_RGBA, BufferedImage.TYPE_INT_ARGB), - RGB(3, GL11.GL_RGB, BufferedImage.TYPE_INT_RGB); + RGBA(4, GL11.GL_RGBA), + RGB(3, GL11.GL_RGB); private final int components; private final int glFormat; - private final int imageType; - - Format(int components, int glFormat, int imageType) { + Format(int components, int glFormat) { this.components = components; this.glFormat = glFormat; - this.imageType = imageType; } } diff --git a/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderLayer.java b/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderLayer.java index ee775cb45..d78a19070 100644 --- a/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderLayer.java +++ b/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderLayer.java @@ -72,7 +72,6 @@ public abstract class RenderLayer extends RenderPhase { // Aka: RenderType (Iris private final MultiPhaseParameters phases; private final int hash; private final Optional affectedOutline; - private final boolean outline; private MultiPhase(String name, VertexFormat vertexFormat, int drawMode, int expectedBufferSize, boolean hasCrumbling, boolean translucent, MultiPhaseParameters phases) { super(name, vertexFormat, drawMode, expectedBufferSize, () -> { @@ -84,7 +83,6 @@ public abstract class RenderLayer extends RenderPhase { // Aka: RenderType (Iris this.affectedOutline = phases.outlineMode == RenderLayer.OutlineMode.AFFECTS_OUTLINE ? phases.texture.getId().map((arg2) -> { return getOutline(arg2, phases.cull); }) : Optional.empty(); - this.outline = phases.outlineMode == RenderLayer.OutlineMode.IS_OUTLINE; this.hash = Objects.hash(new Object[]{super.hashCode(), phases}); } @@ -97,20 +95,23 @@ public abstract class RenderLayer extends RenderPhase { // Aka: RenderType (Iris return this.affectedOutline; } + @Override public boolean equals(@Nullable Object object) { return this == object; } + @Override public int hashCode() { return this.hash; } + @Override public String toString() { return "RenderType[" + this.phases + ']'; } static { - CACHE = new ObjectOpenCustomHashSet(RenderLayer.MultiPhase.HashStrategy.INSTANCE); + CACHE = new ObjectOpenCustomHashSet<>(RenderLayer.MultiPhase.HashStrategy.INSTANCE); } static enum HashStrategy implements Hash.Strategy { @@ -168,6 +169,7 @@ public abstract class RenderLayer extends RenderPhase { // Aka: RenderType (Iris this.phases = ImmutableList.of(this.texture, this.transparency, this.diffuseLighting, this.shadeModel, this.alpha, this.depthTest, this.cull, this.lightmap, this.fog, this.layering, this.target, this.texturing, this.writeMaskState); } + @Override public boolean equals(Object object) { if (this == object) { return true; @@ -179,10 +181,12 @@ public abstract class RenderLayer extends RenderPhase { // Aka: RenderType (Iris } } + @Override public int hashCode() { return Objects.hash(new Object[]{this.phases, this.outlineMode}); } + @Override public String toString() { return "CompositeState[" + this.phases + ", outlineProperty=" + this.outlineMode + ']'; } @@ -293,6 +297,7 @@ public abstract class RenderLayer extends RenderPhase { // Aka: RenderType (Iris this.name = name; } + @Override public String toString() { return this.name; } diff --git a/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderPhase.java b/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderPhase.java index f043d9f16..863ad4802 100644 --- a/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderPhase.java +++ b/src/main/java/com/gtnewhorizons/angelica/compat/toremove/RenderPhase.java @@ -11,7 +11,6 @@ import org.lwjgl.opengl.GL11; import javax.annotation.Nullable; import java.util.Objects; import java.util.Optional; -import java.util.OptionalDouble; public abstract class RenderPhase { @@ -98,6 +97,7 @@ public abstract class RenderPhase { this.endAction.run(); } + @Override public boolean equals(@Nullable Object object) { if (this == object) { return true; @@ -109,10 +109,12 @@ public abstract class RenderPhase { } } + @Override public int hashCode() { return this.name.hashCode(); } + @Override public String toString() { return this.name; } diff --git a/src/main/java/com/gtnewhorizons/angelica/dynamiclights/DynamicLights.java b/src/main/java/com/gtnewhorizons/angelica/dynamiclights/DynamicLights.java index 3d29838c0..1a6273348 100644 --- a/src/main/java/com/gtnewhorizons/angelica/dynamiclights/DynamicLights.java +++ b/src/main/java/com/gtnewhorizons/angelica/dynamiclights/DynamicLights.java @@ -18,7 +18,6 @@ import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; -import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; diff --git a/src/main/java/com/gtnewhorizons/angelica/glsm/GLStateManager.java b/src/main/java/com/gtnewhorizons/angelica/glsm/GLStateManager.java index 9d7a9e799..d999d8b87 100644 --- a/src/main/java/com/gtnewhorizons/angelica/glsm/GLStateManager.java +++ b/src/main/java/com/gtnewhorizons/angelica/glsm/GLStateManager.java @@ -204,6 +204,9 @@ public class GLStateManager { public static class GLFeatureSet extends IntOpenHashSet { + + private static final long serialVersionUID = 8558779940775721010L; + public GLFeatureSet addFeature(int feature) { super.add(feature); return this; diff --git a/src/main/java/com/gtnewhorizons/angelica/glsm/RenderSystem.java b/src/main/java/com/gtnewhorizons/angelica/glsm/RenderSystem.java index 51b97423b..572f0650f 100644 --- a/src/main/java/com/gtnewhorizons/angelica/glsm/RenderSystem.java +++ b/src/main/java/com/gtnewhorizons/angelica/glsm/RenderSystem.java @@ -30,7 +30,6 @@ import java.nio.IntBuffer; public class RenderSystem { private static final Logger LOGGER = LogManager.getLogger("RenderSystem"); private static DSAAccess dsaState; - private static boolean hasMultibind; private static boolean supportsCompute; private RenderSystem() {} @@ -41,7 +40,6 @@ public class RenderSystem { dsaState = new DSACore(); LOGGER.info("OpenGL 4.5 detected, enabling DSA."); } - hasMultibind = GLStateManager.capabilities.OpenGL45; } catch (NoSuchFieldError ignored) {} try { @@ -55,10 +53,6 @@ public class RenderSystem { LOGGER.info("No DSA support detected, falling back to legacy OpenGL."); } - try { - hasMultibind |= GLStateManager.capabilities.GL_ARB_multi_bind; - } catch (NoSuchFieldError ignored) {} - supportsCompute = supportsCompute(); } diff --git a/src/main/java/com/gtnewhorizons/angelica/glsm/states/ISettableState.java b/src/main/java/com/gtnewhorizons/angelica/glsm/states/ISettableState.java index 355c4483f..4d67ed363 100644 --- a/src/main/java/com/gtnewhorizons/angelica/glsm/states/ISettableState.java +++ b/src/main/java/com/gtnewhorizons/angelica/glsm/states/ISettableState.java @@ -2,6 +2,7 @@ package com.gtnewhorizons.angelica.glsm.states; public interface ISettableState extends Cloneable { T set(T state); + @SuppressWarnings("unchecked") default void set(ISettableState value) { set((T) value); } diff --git a/src/main/java/com/gtnewhorizons/angelica/glsm/states/LightState.java b/src/main/java/com/gtnewhorizons/angelica/glsm/states/LightState.java index 400181540..6ae1c7425 100644 --- a/src/main/java/com/gtnewhorizons/angelica/glsm/states/LightState.java +++ b/src/main/java/com/gtnewhorizons/angelica/glsm/states/LightState.java @@ -18,7 +18,6 @@ public class LightState implements ISettableState { private static final Vector4i vector4i = new Vector4i(); private static final Vector4f vector4f = new Vector4f(); private static final Vector3i vector3i = new Vector3i(); - private static final Vector3f vector3f = new Vector3f(); private static final Matrix3f matrix3f = new Matrix3f(); public int light; diff --git a/src/main/java/com/gtnewhorizons/angelica/hudcaching/HUDCaching.java b/src/main/java/com/gtnewhorizons/angelica/hudcaching/HUDCaching.java index e8929025e..0b16f5dda 100644 --- a/src/main/java/com/gtnewhorizons/angelica/hudcaching/HUDCaching.java +++ b/src/main/java/com/gtnewhorizons/angelica/hudcaching/HUDCaching.java @@ -1,8 +1,5 @@ package com.gtnewhorizons.angelica.hudcaching; -import java.util.ArrayList; -import java.util.List; - import com.gtnewhorizon.gtnhlib.client.renderer.TessellatorManager; import com.gtnewhorizons.angelica.compat.ModStatus; import com.gtnewhorizons.angelica.config.AngelicaConfig; @@ -34,7 +31,7 @@ import xaero.common.core.XaeroMinimapCore; import static com.gtnewhorizons.angelica.loading.AngelicaTweaker.LOGGER; -// See LICENSE+HUDCaching.md for license information. +// See LICENSE-HUDCaching.md for license information. public class HUDCaching { diff --git a/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaTweaker.java b/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaTweaker.java index cc18582d8..600e7c46a 100644 --- a/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaTweaker.java +++ b/src/main/java/com/gtnewhorizons/angelica/loading/AngelicaTweaker.java @@ -1,6 +1,5 @@ package com.gtnewhorizons.angelica.loading; -import com.google.common.collect.ImmutableMap; import com.gtnewhorizon.gtnhlib.asm.ASMUtil; import com.gtnewhorizon.gtnhlib.config.ConfigException; import com.gtnewhorizon.gtnhlib.config.ConfigurationManager; @@ -153,18 +152,5 @@ public class AngelicaTweaker implements IFMLLoadingPlugin, IEarlyMixinLoader { } } - private static final ImmutableMap MODS_BY_CLASS = ImmutableMap.builder() - .put("optifine.OptiFineForgeTweaker", TargetedMod.OPTIFINE) - .put("fastcraft.Tweaker", TargetedMod.FASTCRAFT) - .put("cofh.asm.LoadingPlugin", TargetedMod.COFHCORE) - .build(); public static final Set coreMods = new HashSet<>(); - - private static void detectCoreMods(Set loadedCoreMods) { - MODS_BY_CLASS.forEach((key, value) -> { - if (loadedCoreMods.contains(key)) - coreMods.add(value); - }); - } - } diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java b/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java index c5b61e996..7d8c2d4e5 100644 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java +++ b/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java @@ -91,8 +91,8 @@ public enum Mixins { ) ), - ARCHAIC_CORE(new Builder("Archaic Core").addTargetedMod(TargetedMod.VANILLA).setSide(Side.CLIENT) - .setPhase(Phase.EARLY).addMixinClasses( + ARCHAIC_CORE(new Builder("Archaic Core").addTargetedMod(TargetedMod.VANILLA).addExcludedMod(TargetedMod.ARCHAICFIX) + .setSide(Side.CLIENT).setPhase(Phase.EARLY).addMixinClasses( "angelica.archaic.MixinBlockFence" ,"angelica.archaic.MixinFMLClientHandler" ,"angelica.archaic.MixinGuiIngameForge" @@ -124,15 +124,12 @@ public enum Mixins { ,"sodium.MixinEntity_RenderDist" ,"sodium.MixinEntityItem_RenderDist" ,"sodium.MixinRenderManager" - ,"sodium.MixinExtendedBlockStorage" ,"sodium.MixinEntityRenderer" ,"sodium.MixinFMLClientHandler" ,"sodium.MixinForgeHooksClient" ,"sodium.MixinGameSettings" ,"sodium.MixinFrustrum" - ,"sodium.MixinMaterial" ,"sodium.MixinMinecraft" - ,"sodium.MixinNibbleArray" ,"sodium.MixinRenderBlocks" ,"sodium.MixinRenderGlobal" ,"sodium.MixinWorldClient" @@ -175,14 +172,7 @@ public enum Mixins { ), IRIS_ACCESSORS(new Builder("Iris Accessors").addTargetedMod(TargetedMod.VANILLA).setSide(Side.CLIENT) - .setPhase(Phase.EARLY).setApplyIf(() -> AngelicaConfig.enableIris).addMixinClasses( - "shaders.accessors.MixinMinecraft" - ,"shaders.accessors.MixinEntityRenderer" - ,"shaders.accessors.MixinSimpleTexture" - ,"shaders.accessors.MixinTextureAtlasSprite" - ,"shaders.accessors.MixinTextureMap" - ,"shaders.accessors.MixinAnimationMetadataSection" - ) + .setPhase(Phase.EARLY).setApplyIf(() -> AngelicaConfig.enableIris).addMixinClasses("shaders.accessors.MixinEntityRenderer") ), ANGELICA_TEXTURE(new Builder("Textures").addTargetedMod(TargetedMod.VANILLA).setSide(Side.CLIENT) diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/AnimationMetadataSectionAccessor.java b/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/AnimationMetadataSectionAccessor.java deleted file mode 100644 index cd9372809..000000000 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/AnimationMetadataSectionAccessor.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.interfaces; - -import org.spongepowered.asm.mixin.Mutable; -import org.spongepowered.asm.mixin.gen.Accessor; - -public interface AnimationMetadataSectionAccessor { - int getFrameWidth(); - - void setFrameWidth(int frameWidth); - - int getFrameHeight(); - - void setFrameHeight(int frameHeight); -} diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/ExtendedBlockStorageAccessor.java b/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/ExtendedBlockStorageAccessor.java deleted file mode 100644 index 080ac2567..000000000 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/ExtendedBlockStorageAccessor.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.interfaces; - -import org.spongepowered.asm.mixin.gen.Accessor; - -public interface ExtendedBlockStorageAccessor { - int getYBase(); - int getBlockRefCount(); - void setBlockRefCount(int blockRefCount); -} diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/ExtendedNibbleArray.java b/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/ExtendedNibbleArray.java deleted file mode 100644 index 591b43633..000000000 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/ExtendedNibbleArray.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.interfaces; - -public interface ExtendedNibbleArray { - public byte[] getData(); - public int getDepthBits(); - public int getDepthBitsPlusFour(); -} diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/MinecraftAccessor.java b/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/MinecraftAccessor.java deleted file mode 100644 index 69cd7eca7..000000000 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/MinecraftAccessor.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.interfaces; - -import net.minecraft.util.Timer; - -public interface MinecraftAccessor { - Timer getTimer(); -} diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/SimpleTextureAccessor.java b/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/SimpleTextureAccessor.java deleted file mode 100644 index a11e039af..000000000 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/SimpleTextureAccessor.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.interfaces; - -import net.minecraft.util.ResourceLocation; - -public interface SimpleTextureAccessor { - ResourceLocation getLocation(); -} diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/TextureAtlasSpriteAccessor.java b/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/TextureAtlasSpriteAccessor.java deleted file mode 100644 index c4b05a518..000000000 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/TextureAtlasSpriteAccessor.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.interfaces; - -import net.minecraft.client.resources.data.AnimationMetadataSection; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.List; - -public interface TextureAtlasSpriteAccessor { - AnimationMetadataSection getMetadata(); - - List getFramesTextureData(); - - int getFrame(); - - void setFrame(int frame); - - int getSubFrame(); - - void setSubFrame(int subFrame); - -} diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/TextureMapAccessor.java b/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/TextureMapAccessor.java deleted file mode 100644 index e32c4c320..000000000 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/interfaces/TextureMapAccessor.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.interfaces; - -import net.minecraft.util.ResourceLocation; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.Map; - -public interface TextureMapAccessor { - Map getMapUploadedSprites(); - - int getAnisotropicFiltering(); - - int getMipmapLevels(); - - ResourceLocation getLocationBlocksTexture(); -} diff --git a/src/main/java/com/gtnewhorizons/angelica/models/VanillaModels.java b/src/main/java/com/gtnewhorizons/angelica/models/VanillaModels.java index 75155caf6..3d0538846 100644 --- a/src/main/java/com/gtnewhorizons/angelica/models/VanillaModels.java +++ b/src/main/java/com/gtnewhorizons/angelica/models/VanillaModels.java @@ -1,6 +1,5 @@ package com.gtnewhorizons.angelica.models; -import com.gtnewhorizon.gtnhlib.blockpos.BlockPos; import com.gtnewhorizon.gtnhlib.blockpos.IBlockPos; import com.gtnewhorizon.gtnhlib.client.model.ModelLoader; import com.gtnewhorizon.gtnhlib.client.model.Variant; diff --git a/src/main/java/com/gtnewhorizons/angelica/rendering/RenderingState.java b/src/main/java/com/gtnewhorizons/angelica/rendering/RenderingState.java index 489a033e8..23d4c0d09 100644 --- a/src/main/java/com/gtnewhorizons/angelica/rendering/RenderingState.java +++ b/src/main/java/com/gtnewhorizons/angelica/rendering/RenderingState.java @@ -1,12 +1,10 @@ package com.gtnewhorizons.angelica.rendering; -import com.gtnewhorizons.angelica.glsm.GLStateManager; import lombok.Getter; import lombok.Setter; import org.joml.Matrix4f; import org.joml.Vector3d; import org.lwjgl.BufferUtils; -import org.lwjgl.opengl.GL11; import java.nio.FloatBuffer; diff --git a/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java b/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java index 87e30b69d..e71d3c0a7 100644 --- a/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java +++ b/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java @@ -76,7 +76,6 @@ public class RedirectorTransformer implements IClassTransformer { "com.gtnewhorizons.angelica.transform", "me.eigenraven.lwjgl3ify" ); - private static int remaps = 0; private static final Set moddedBlockSubclasses = Collections.newSetFromMap(new ConcurrentHashMap<>()); // Block owners we *shouldn't* redirect because they shadow one of our fields @@ -348,7 +347,6 @@ public class RedirectorTransformer implements IClassTransformer { } changed = true; redirectInMethod = true; - remaps++; } else if (mNode.owner.startsWith(Drawable) && mNode.name.equals("makeCurrent")) { mNode.setOpcode(Opcodes.INVOKESTATIC); mNode.owner = GLStateManager; @@ -369,7 +367,6 @@ public class RedirectorTransformer implements IClassTransformer { mNode.name = redirects.get(mNode.name); changed = true; redirectInMethod = true; - remaps++; } } } @@ -423,6 +420,9 @@ public class RedirectorTransformer implements IClassTransformer { } private static class RedirectMap extends HashMap { + + private static final long serialVersionUID = 1712218575345511543L; + public static RedirectMap newMap() { return new RedirectMap<>(); } diff --git a/src/main/java/com/gtnewhorizons/angelica/transform/compat/handlers/CompatHandlers.java b/src/main/java/com/gtnewhorizons/angelica/transform/compat/handlers/CompatHandlers.java index c84f50a4b..94e5d764f 100644 --- a/src/main/java/com/gtnewhorizons/angelica/transform/compat/handlers/CompatHandlers.java +++ b/src/main/java/com/gtnewhorizons/angelica/transform/compat/handlers/CompatHandlers.java @@ -1,7 +1,6 @@ package com.gtnewhorizons.angelica.transform.compat.handlers; import com.gtnewhorizons.angelica.config.CompatConfig; -import lombok.Getter; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/prupe/mcpatcher/MCLogger.java b/src/main/java/com/prupe/mcpatcher/MCLogger.java index 642a8978a..e6bce6839 100644 --- a/src/main/java/com/prupe/mcpatcher/MCLogger.java +++ b/src/main/java/com/prupe/mcpatcher/MCLogger.java @@ -172,6 +172,8 @@ public class MCLogger { private static class ErrorLevel extends Level { + private static final long serialVersionUID = 3987750897854233321L; + protected ErrorLevel() { super("ERROR", (Level.WARNING.intValue() + Level.SEVERE.intValue()) / 2); } diff --git a/src/main/java/com/prupe/mcpatcher/cit/CITUtils.java b/src/main/java/com/prupe/mcpatcher/cit/CITUtils.java index 0445c89b6..3bd3d1284 100644 --- a/src/main/java/com/prupe/mcpatcher/cit/CITUtils.java +++ b/src/main/java/com/prupe/mcpatcher/cit/CITUtils.java @@ -221,7 +221,7 @@ public class CITUtils { List list = overrides.get(item); if (list != null) { int[] enchantmentLevels = getEnchantmentLevels(item, itemStack.getTagCompound()); - boolean hasEffect = itemStack.hasEffect(); + boolean hasEffect = itemStack.hasEffect(0); for (T override : list) { if (override.match(itemStack, enchantmentLevels, hasEffect)) { return override; diff --git a/src/main/java/com/prupe/mcpatcher/cit/EnchantmentList.java b/src/main/java/com/prupe/mcpatcher/cit/EnchantmentList.java index 00b0bb3b7..eabbef960 100644 --- a/src/main/java/com/prupe/mcpatcher/cit/EnchantmentList.java +++ b/src/main/java/com/prupe/mcpatcher/cit/EnchantmentList.java @@ -49,7 +49,7 @@ final class EnchantmentList { Map tmpLayers = new HashMap<>(); Item item = itemStack.getItem(); int[] enchantmentLevels = CITUtils.getEnchantmentLevels(item, itemStack.getTagCompound()); - boolean hasEffect = itemStack.hasEffect(); + boolean hasEffect = itemStack.hasEffect(0); List list = enchantments.get(item); if (list == null) { list = allItemEnchantments; diff --git a/src/main/java/com/prupe/mcpatcher/ctm/TileOverride.java b/src/main/java/com/prupe/mcpatcher/ctm/TileOverride.java index 59376ef92..5f79fcaaf 100644 --- a/src/main/java/com/prupe/mcpatcher/ctm/TileOverride.java +++ b/src/main/java/com/prupe/mcpatcher/ctm/TileOverride.java @@ -32,8 +32,6 @@ abstract class TileOverride implements Comparable { private static final MCLogger logger = MCLogger.getLogger(MCLogger.Category.CONNECTED_TEXTURES, "CTM"); - private static final int META_MASK = 0xffff; - private final PropertiesFile properties; private final String baseFilename; private final TileLoader tileLoader; @@ -41,7 +39,6 @@ abstract class TileOverride implements Comparable { private final int weight; private final List matchBlocks; private final Set matchTiles; - private final int defaultMetaMask; private final BlockFaceMatcher faceMatcher; private final int connectType; private final boolean innerSeams; @@ -50,7 +47,6 @@ abstract class TileOverride implements Comparable { private final List tileNames = new ArrayList<>(); protected IIcon[] icons; - private int matchMetadata = META_MASK; static TileOverride create(ResourceLocation propertiesFile, TileLoader tileLoader) { if (propertiesFile == null) { @@ -133,11 +129,6 @@ abstract class TileOverride implements Comparable { if (matchBlocks.isEmpty() && matchTiles.isEmpty()) { matchTiles.add(baseFilename); } - int bits = 0; - for (int i : properties.getIntList("metadata", 0, 15, "0-15")) { - bits |= 1 << i; - } - defaultMetaMask = bits; faceMatcher = BlockFaceMatcher.create(properties.getString("faces", "")); diff --git a/src/main/java/com/prupe/mcpatcher/hd/FancyDial.java b/src/main/java/com/prupe/mcpatcher/hd/FancyDial.java index c51884fe5..f12fe08fb 100644 --- a/src/main/java/com/prupe/mcpatcher/hd/FancyDial.java +++ b/src/main/java/com/prupe/mcpatcher/hd/FancyDial.java @@ -170,6 +170,7 @@ public class FancyDial { static void registerAnimations() { ITextureObject texture = TexturePackAPI.getTextureObject(TexturePackAPI.ITEMS_PNG); if (texture instanceof TextureMap map) { + @SuppressWarnings("unchecked") List animations = map.listAnimatedSprites; for (FancyDial instance : instances.values()) { instance.registerAnimation(animations); diff --git a/src/main/java/com/prupe/mcpatcher/mal/biome/ColorMap.java b/src/main/java/com/prupe/mcpatcher/mal/biome/ColorMap.java index ff1d3a3cb..5ff671723 100644 --- a/src/main/java/com/prupe/mcpatcher/mal/biome/ColorMap.java +++ b/src/main/java/com/prupe/mcpatcher/mal/biome/ColorMap.java @@ -32,7 +32,6 @@ abstract public class ColorMap implements IColorMap { private static final int BIOME_HEIGHT = 2; private static final int COLORMAP_WIDTH = 256; - private static final int COLORMAP_HEIGHT = 256; public static final String BLOCK_COLORMAP_DIR = TexturePackAPI.MCPATCHER_SUBDIR + "colormap/blocks"; public static final List unusedPNGs = new ArrayList<>(); diff --git a/src/main/java/com/prupe/mcpatcher/mal/block/BlockAPI.java b/src/main/java/com/prupe/mcpatcher/mal/block/BlockAPI.java index 0b2ee22d1..90f36ce5b 100644 --- a/src/main/java/com/prupe/mcpatcher/mal/block/BlockAPI.java +++ b/src/main/java/com/prupe/mcpatcher/mal/block/BlockAPI.java @@ -10,8 +10,6 @@ import java.util.Map; import java.util.Set; import net.minecraft.block.Block; -import net.minecraft.util.IIcon; -import net.minecraft.world.IBlockAccess; import com.prupe.mcpatcher.MCPatcherUtils; import com.prupe.mcpatcher.mal.resource.PropertiesFile; @@ -21,6 +19,7 @@ import cpw.mods.fml.common.registry.GameData; public class BlockAPI { + @SuppressWarnings("unchecked") BlockAPI(FMLControlledNamespacedRegistry registry) { File outputFile = new File("blocks17.txt"); if (outputFile.isFile()) { diff --git a/src/main/java/com/prupe/mcpatcher/mal/block/BlockStateMatcher.java b/src/main/java/com/prupe/mcpatcher/mal/block/BlockStateMatcher.java index b086860aa..8fec68aeb 100644 --- a/src/main/java/com/prupe/mcpatcher/mal/block/BlockStateMatcher.java +++ b/src/main/java/com/prupe/mcpatcher/mal/block/BlockStateMatcher.java @@ -61,6 +61,7 @@ public class BlockStateMatcher { threadLocal.set(data); } + @Override final public String toString() { return fullString; } diff --git a/src/main/java/com/prupe/mcpatcher/mal/item/ItemAPI.java b/src/main/java/com/prupe/mcpatcher/mal/item/ItemAPI.java index aa61fac84..ae61f2adc 100644 --- a/src/main/java/com/prupe/mcpatcher/mal/item/ItemAPI.java +++ b/src/main/java/com/prupe/mcpatcher/mal/item/ItemAPI.java @@ -13,6 +13,7 @@ import cpw.mods.fml.common.registry.GameData; public class ItemAPI { + @SuppressWarnings("unchecked") ItemAPI() { File outputFile = new File("items17.txt"); if (outputFile.isFile()) { diff --git a/src/main/java/com/prupe/mcpatcher/mal/resource/PropertiesFile.java b/src/main/java/com/prupe/mcpatcher/mal/resource/PropertiesFile.java index 11e01e2a1..989f46363 100644 --- a/src/main/java/com/prupe/mcpatcher/mal/resource/PropertiesFile.java +++ b/src/main/java/com/prupe/mcpatcher/mal/resource/PropertiesFile.java @@ -120,7 +120,7 @@ final public class PropertiesFile { @SuppressWarnings("unchecked") public Set> entrySet() { - return (Set>) (Set) properties.entrySet(); + return (Set>) (Set) properties.entrySet(); } public ResourceLocation getResource() { diff --git a/src/main/java/com/prupe/mcpatcher/mal/resource/ResourceList.java b/src/main/java/com/prupe/mcpatcher/mal/resource/ResourceList.java index f1e80d164..afdee2d25 100644 --- a/src/main/java/com/prupe/mcpatcher/mal/resource/ResourceList.java +++ b/src/main/java/com/prupe/mcpatcher/mal/resource/ResourceList.java @@ -110,6 +110,7 @@ public class ResourceList { MCPatcherUtils.close(zipFile); } } + @SuppressWarnings("unchecked") Map map = resourcePack.field_152781_b; // map if (map != null) { for (Map.Entry entry : map.entrySet()) { diff --git a/src/main/java/com/prupe/mcpatcher/mal/resource/TexturePackAPI.java b/src/main/java/com/prupe/mcpatcher/mal/resource/TexturePackAPI.java index e17ef7c2c..3b79a613f 100644 --- a/src/main/java/com/prupe/mcpatcher/mal/resource/TexturePackAPI.java +++ b/src/main/java/com/prupe/mcpatcher/mal/resource/TexturePackAPI.java @@ -51,6 +51,7 @@ public class TexturePackAPI { List resourcePacks = new ArrayList<>(); IResourceManager resourceManager = Minecraft.getMinecraft().getResourceManager(); if (resourceManager instanceof SimpleReloadableResourceManager) { + @SuppressWarnings("unchecked") Set> entrySet = ((SimpleReloadableResourceManager) resourceManager).domainResourceManagers .entrySet(); for (Map.Entry entry : entrySet) { @@ -66,6 +67,7 @@ public class TexturePackAPI { return resourcePacks; } + @SuppressWarnings("unchecked") public static Set getNamespaces() { Set namespaces = new HashSet<>(); namespaces.add(DEFAULT_NAMESPACE); @@ -310,6 +312,7 @@ public class TexturePackAPI { TextureManager textureManager = Minecraft.getMinecraft().getTextureManager(); if (textureManager != null) { Set texturesToUnload = new HashSet<>(); + @SuppressWarnings("unchecked") Set> entrySet = textureManager.mapTextureObjects.entrySet(); for (Map.Entry entry : entrySet) { ResourceLocation resource = entry.getKey(); diff --git a/src/main/java/jss/notfine/asm/mappings/NamerMcp.java b/src/main/java/jss/notfine/asm/mappings/NamerMcp.java index c94815fb1..66de25023 100644 --- a/src/main/java/jss/notfine/asm/mappings/NamerMcp.java +++ b/src/main/java/jss/notfine/asm/mappings/NamerMcp.java @@ -13,6 +13,7 @@ import jss.notfine.asm.mappings.Names.Meth; public class NamerMcp extends NamerSrg { + @Override public void setNames() { setNamesSrg(); final String confPath = System.getProperty("net.minecraftforge.gradle.GradleStart.csvDir", "../conf") + "/"; diff --git a/src/main/java/jss/notfine/core/Settings.java b/src/main/java/jss/notfine/core/Settings.java index afaf1c351..32adf2f8f 100644 --- a/src/main/java/jss/notfine/core/Settings.java +++ b/src/main/java/jss/notfine/core/Settings.java @@ -48,7 +48,7 @@ public enum Settings { } }, DYNAMIC_FOV(new NotFineOptionTickBox(true, null)), - DYNAMIC_LIGHTS(new NotFineOptionCycling(DynamicLightsMode.FANCY, OptionImpact.VARIES)){ + DYNAMIC_LIGHTS(new NotFineOptionCycling<>(DynamicLightsMode.FANCY, OptionImpact.VARIES)){ @Override public void applyChanges() { DynamicLights.Mode = (DynamicLightsMode) this.option.getStore(); @@ -132,9 +132,9 @@ public enum Settings { }, VOID_FOG(new NotFineOptionTickBox(false, OptionImpact.LOW)); - public final NotFineOption option; + public final NotFineOption option; - Settings(NotFineOption option) { + Settings(NotFineOption option) { this.option = option; } diff --git a/src/main/java/jss/notfine/gui/GuiCustomOptionsRowList.java b/src/main/java/jss/notfine/gui/GuiCustomOptionsRowList.java index f0a5373ef..4c7a2b2ae 100644 --- a/src/main/java/jss/notfine/gui/GuiCustomOptionsRowList.java +++ b/src/main/java/jss/notfine/gui/GuiCustomOptionsRowList.java @@ -26,10 +26,10 @@ public class GuiCustomOptionsRowList extends GuiListExtended { field_148163_i = false; for(OptionGroup optionGroup : optionPage.getGroups()) { - Iterator settings = optionGroup.getOptions().stream().iterator(); + Iterator> settings = optionGroup.getOptions().stream().iterator(); while(settings.hasNext()) { - Option optionOne = (Option)settings.next(); - Option optionTwo = settings.hasNext() ? (Option)settings.next() : null; + Option optionOne = settings.next(); + Option optionTwo = settings.hasNext() ? settings.next() : null; GuiButton buttonOne = (GuiButton)optionOne.getControl().createElement(new Dim2i(width / 2 - 155,0,150,20), factory); GuiButton buttonTwo = optionTwo == null ? null : (GuiButton)optionTwo.getControl().createElement(new Dim2i(width / 2 - 155 + 160,0,150,20), factory); settingsList.add(new GuiCustomOptionsRowList.Row(buttonOne, buttonTwo)); diff --git a/src/main/java/jss/notfine/gui/options/control/element/CyclingControlElement.java b/src/main/java/jss/notfine/gui/options/control/element/CyclingControlElement.java index e65465004..27209d170 100644 --- a/src/main/java/jss/notfine/gui/options/control/element/CyclingControlElement.java +++ b/src/main/java/jss/notfine/gui/options/control/element/CyclingControlElement.java @@ -22,6 +22,7 @@ public class CyclingControlElement> extends NotFineControlElem } } + @Override public String getLabel() { Enum value = option.getValue(); return super.getLabel() + names[value.ordinal()]; diff --git a/src/main/java/jss/notfine/gui/options/control/element/NotFineControlElementFactory.java b/src/main/java/jss/notfine/gui/options/control/element/NotFineControlElementFactory.java index 9e460e46d..b8a83e739 100644 --- a/src/main/java/jss/notfine/gui/options/control/element/NotFineControlElementFactory.java +++ b/src/main/java/jss/notfine/gui/options/control/element/NotFineControlElementFactory.java @@ -9,17 +9,17 @@ import me.jellysquid.mods.sodium.client.util.Dim2i; public class NotFineControlElementFactory implements ControlElementFactory { @Override - public > ControlElement cyclingControlElement(Option option, Dim2i dim, T[] allowedValues, String[] names) { - return new CyclingControlElement(option, dim, allowedValues, names); + public > ControlElement cyclingControlElement(Option option, Dim2i dim, T[] allowedValues, String[] names) { + return new CyclingControlElement<>(option, dim, allowedValues, names); } @Override - public ControlElement sliderControlElement(Option option, Dim2i dim, int min, int max, int interval, ControlValueFormatter formatter) { + public ControlElement sliderControlElement(Option option, Dim2i dim, int min, int max, int interval, ControlValueFormatter formatter) { return new SliderControlElement(option, dim, min, max, interval, formatter); } @Override - public ControlElement tickBoxElement(Option option, Dim2i dim) { + public ControlElement tickBoxElement(Option option, Dim2i dim) { return new TickBoxControlElement(option, dim); } diff --git a/src/main/java/jss/notfine/gui/options/control/element/SliderControlElement.java b/src/main/java/jss/notfine/gui/options/control/element/SliderControlElement.java index 720d8b96e..e0ad75d3b 100644 --- a/src/main/java/jss/notfine/gui/options/control/element/SliderControlElement.java +++ b/src/main/java/jss/notfine/gui/options/control/element/SliderControlElement.java @@ -26,6 +26,7 @@ public class SliderControlElement extends NotFineControlElement { value = MathHelper.clamp_float((value - min) / (max - min), 0f, 1f); } + @Override public String getLabel() { return super.getLabel() + formatter.format(option.getValue()); } diff --git a/src/main/java/jss/notfine/gui/options/control/element/TickBoxControlElement.java b/src/main/java/jss/notfine/gui/options/control/element/TickBoxControlElement.java index f5647f4a2..5ed59c991 100644 --- a/src/main/java/jss/notfine/gui/options/control/element/TickBoxControlElement.java +++ b/src/main/java/jss/notfine/gui/options/control/element/TickBoxControlElement.java @@ -10,6 +10,7 @@ public class TickBoxControlElement extends NotFineControlElement { super(option, dim); } + @Override public String getLabel() { return super.getLabel() + I18n.format(option.getValue() ? "options.on" : "options.off"); } diff --git a/src/main/java/jss/notfine/util/itembreakparticles/IWorldSpawnItemBreakParticle.java b/src/main/java/jss/notfine/util/itembreakparticles/IWorldSpawnItemBreakParticle.java index ab681a48d..9291489d4 100644 --- a/src/main/java/jss/notfine/util/itembreakparticles/IWorldSpawnItemBreakParticle.java +++ b/src/main/java/jss/notfine/util/itembreakparticles/IWorldSpawnItemBreakParticle.java @@ -1,7 +1,6 @@ package jss.notfine.util.itembreakparticles; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; public interface IWorldSpawnItemBreakParticle { diff --git a/src/main/java/kroppeb/stareval/exception/MissingTokenException.java b/src/main/java/kroppeb/stareval/exception/MissingTokenException.java index ade5fbf04..388f1eed2 100644 --- a/src/main/java/kroppeb/stareval/exception/MissingTokenException.java +++ b/src/main/java/kroppeb/stareval/exception/MissingTokenException.java @@ -1,7 +1,10 @@ package kroppeb.stareval.exception; public class MissingTokenException extends ParseException { - public MissingTokenException(String message, int index) { + + private static final long serialVersionUID = -2096321911994168858L; + + public MissingTokenException(String message, int index) { super(message + " at index " + index); } } diff --git a/src/main/java/kroppeb/stareval/exception/ParseException.java b/src/main/java/kroppeb/stareval/exception/ParseException.java index 3a4f56106..d1773012e 100644 --- a/src/main/java/kroppeb/stareval/exception/ParseException.java +++ b/src/main/java/kroppeb/stareval/exception/ParseException.java @@ -1,7 +1,10 @@ package kroppeb.stareval.exception; public abstract class ParseException extends Exception{ - public ParseException() { + + private static final long serialVersionUID = -5014053641238717471L; + + public ParseException() { } public ParseException(String message) { diff --git a/src/main/java/kroppeb/stareval/exception/UnexpectedCharacterException.java b/src/main/java/kroppeb/stareval/exception/UnexpectedCharacterException.java index 9de12af20..7cbb45efd 100644 --- a/src/main/java/kroppeb/stareval/exception/UnexpectedCharacterException.java +++ b/src/main/java/kroppeb/stareval/exception/UnexpectedCharacterException.java @@ -1,7 +1,10 @@ package kroppeb.stareval.exception; public class UnexpectedCharacterException extends ParseException { - public UnexpectedCharacterException(char expected, char actual, int index) { + + private static final long serialVersionUID = -3886198952263126846L; + + public UnexpectedCharacterException(char expected, char actual, int index) { this("Expected to read '" + expected + "' but got '" + actual + "' at index " + index); } diff --git a/src/main/java/kroppeb/stareval/exception/UnexpectedEndingException.java b/src/main/java/kroppeb/stareval/exception/UnexpectedEndingException.java index 1b2135bbd..71d6a3434 100644 --- a/src/main/java/kroppeb/stareval/exception/UnexpectedEndingException.java +++ b/src/main/java/kroppeb/stareval/exception/UnexpectedEndingException.java @@ -1,7 +1,10 @@ package kroppeb.stareval.exception; public class UnexpectedEndingException extends ParseException { - public UnexpectedEndingException() { + + private static final long serialVersionUID = -3704913315979481520L; + + public UnexpectedEndingException() { this("Expected to read more text, but the string has ended"); } diff --git a/src/main/java/kroppeb/stareval/exception/UnexpectedTokenException.java b/src/main/java/kroppeb/stareval/exception/UnexpectedTokenException.java index d395cc498..acde97145 100644 --- a/src/main/java/kroppeb/stareval/exception/UnexpectedTokenException.java +++ b/src/main/java/kroppeb/stareval/exception/UnexpectedTokenException.java @@ -1,7 +1,10 @@ package kroppeb.stareval.exception; public class UnexpectedTokenException extends ParseException { - public UnexpectedTokenException(String message, int index) { + + private static final long serialVersionUID = 689385399380177588L; + + public UnexpectedTokenException(String message, int index) { super(message + " at index " + index); } } diff --git a/src/main/java/me/jellysquid/mods/sodium/client/SodiumClientMod.java b/src/main/java/me/jellysquid/mods/sodium/client/SodiumClientMod.java index 8e77a0c3f..f263df08d 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/SodiumClientMod.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/SodiumClientMod.java @@ -10,7 +10,6 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import lombok.Getter; import me.jellysquid.mods.sodium.client.gui.SodiumGameOptions; import me.jellysquid.mods.sodium.proxy.CommonProxy; -import net.minecraft.client.Minecraft; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/ControlElementFactory.java b/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/ControlElementFactory.java index 75517192e..3eacf063f 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/ControlElementFactory.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/ControlElementFactory.java @@ -7,10 +7,10 @@ import me.jellysquid.mods.sodium.client.util.Dim2i; public interface ControlElementFactory { - > ControlElement cyclingControlElement(Option option, Dim2i dim, T[] allowedValues, String[] names); + > ControlElement cyclingControlElement(Option option, Dim2i dim, T[] allowedValues, String[] names); - ControlElement sliderControlElement(Option option, Dim2i dim, int min, int max, int interval, ControlValueFormatter formatter); + ControlElement sliderControlElement(Option option, Dim2i dim, int min, int max, int interval, ControlValueFormatter formatter); - ControlElement tickBoxElement(Option option, Dim2i dim); + ControlElement tickBoxElement(Option option, Dim2i dim); } diff --git a/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/SodiumControlElementFactory.java b/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/SodiumControlElementFactory.java index bf0d9f8aa..3271edb03 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/SodiumControlElementFactory.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/gui/options/control/element/SodiumControlElementFactory.java @@ -10,17 +10,17 @@ import net.minecraft.util.MathHelper; public class SodiumControlElementFactory implements ControlElementFactory { @Override - public > ControlElement cyclingControlElement(Option option, Dim2i dim, T[] allowedValues, String[] names) { - return new CyclingControlElement(option, dim, allowedValues, names); + public > ControlElement cyclingControlElement(Option option, Dim2i dim, T[] allowedValues, String[] names) { + return new CyclingControlElement<>(option, dim, allowedValues, names); } @Override - public ControlElement sliderControlElement(Option option, Dim2i dim, int min, int max, int interval, ControlValueFormatter formatter) { + public ControlElement sliderControlElement(Option option, Dim2i dim, int min, int max, int interval, ControlValueFormatter formatter) { return new SliderControlElement(option, dim, min, max, interval, formatter); } @Override - public ControlElement tickBoxElement(Option option, Dim2i dim) { + public ControlElement tickBoxElement(Option option, Dim2i dim) { return new TickBoxControlElement(option, dim); } diff --git a/src/main/java/me/jellysquid/mods/sodium/client/model/vertex/buffer/VertexBufferBuilder.java b/src/main/java/me/jellysquid/mods/sodium/client/model/vertex/buffer/VertexBufferBuilder.java index b5757c6fb..62b7ed4aa 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/model/vertex/buffer/VertexBufferBuilder.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/model/vertex/buffer/VertexBufferBuilder.java @@ -3,7 +3,6 @@ package me.jellysquid.mods.sodium.client.model.vertex.buffer; import static com.gtnewhorizon.gtnhlib.bytebuf.MemoryUtilities.*; import me.jellysquid.mods.sodium.client.gl.attribute.BufferVertexFormat; -import org.lwjgl.BufferUtils; import java.nio.ByteBuffer; diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/SodiumWorldRenderer.java b/src/main/java/me/jellysquid/mods/sodium/client/render/SodiumWorldRenderer.java index 4b8468a06..d5e181c60 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/SodiumWorldRenderer.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/SodiumWorldRenderer.java @@ -1,15 +1,12 @@ package me.jellysquid.mods.sodium.client.render; import com.gtnewhorizons.angelica.compat.mojang.Camera; -import com.gtnewhorizons.angelica.compat.mojang.ChunkPos; import com.gtnewhorizons.angelica.compat.toremove.MatrixStack; import com.gtnewhorizons.angelica.compat.toremove.RenderLayer; import com.gtnewhorizons.angelica.config.AngelicaConfig; import com.gtnewhorizons.angelica.dynamiclights.DynamicLights; import com.gtnewhorizons.angelica.glsm.GLStateManager; import com.gtnewhorizons.angelica.rendering.RenderingState; -import it.unimi.dsi.fastutil.longs.LongOpenHashSet; -import it.unimi.dsi.fastutil.longs.LongSet; import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; import jss.notfine.core.SettingsManager; import lombok.Getter; @@ -29,7 +26,6 @@ import me.jellysquid.mods.sodium.client.render.chunk.map.ChunkTrackerHolder; import me.jellysquid.mods.sodium.client.render.chunk.passes.BlockRenderPass; import me.jellysquid.mods.sodium.client.render.pipeline.context.ChunkRenderCacheShared; import me.jellysquid.mods.sodium.client.util.math.FrustumExtended; -import me.jellysquid.mods.sodium.client.world.ChunkStatusListener; import me.jellysquid.mods.sodium.common.util.ListUtil; import net.coderbot.iris.block_rendering.BlockRenderingSettings; import net.coderbot.iris.layer.GbufferPrograms; @@ -76,7 +72,6 @@ public class SodiumWorldRenderer { private boolean useEntityCulling; - private final LongSet loadedChunkPositions = new LongOpenHashSet(); private final Set globalTileEntities = new ObjectOpenHashSet<>(); diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderContainer.java b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderContainer.java index 6618d15a5..8838a6f15 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderContainer.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderContainer.java @@ -48,6 +48,7 @@ public class ChunkRenderContainer { private boolean rebuildableForTranslucents; + @SuppressWarnings("unchecked") public ChunkRenderContainer(ChunkRenderBackend backend, SodiumWorldRenderer worldRenderer, int chunkX, int chunkY, int chunkZ, ChunkRenderColumn column) { this.worldRenderer = worldRenderer; diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderManager.java b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderManager.java index 5a9e5d605..b9a347178 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderManager.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/ChunkRenderManager.java @@ -123,8 +123,6 @@ public class ChunkRenderManager implements ChunkSt private boolean dirtySwap; - private static final ObjectArrayFIFOQueue EMPTY_QUEUE = new ObjectArrayFIFOQueue<>(); - private static final ThreadLocal threadLocalRenderPass = ThreadLocal.withInitial(() -> BlockRenderPass.CUTOUT_MIPPED); public static int getWorldRenderPass() { return threadLocalRenderPass.get().ordinal(); @@ -133,6 +131,7 @@ public class ChunkRenderManager implements ChunkSt threadLocalRenderPass.set(pass); } + @SuppressWarnings("unchecked") public ChunkRenderManager(SodiumWorldRenderer renderer, ChunkRenderBackend backend, WorldClient world, int renderDistance) { this.backend = backend; this.renderer = renderer; @@ -212,6 +211,7 @@ public class ChunkRenderManager implements ChunkSt for(Object o : this.renders.getElements()) { if(o == null) continue; + @SuppressWarnings("unchecked") ChunkRenderContainer render = (ChunkRenderContainer)o; if(render.getData().isEmpty()) continue; diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/backends/oneshot/ChunkOneshotGraphicsState.java b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/backends/oneshot/ChunkOneshotGraphicsState.java index 556321838..e316ea233 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/backends/oneshot/ChunkOneshotGraphicsState.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/backends/oneshot/ChunkOneshotGraphicsState.java @@ -72,6 +72,7 @@ public class ChunkOneshotGraphicsState extends ChunkGraphicsState { commandList.uploadData(this.vertexBuffer, vertexData); + @SuppressWarnings("unchecked") GlVertexFormat vertexFormat = (GlVertexFormat) vertexData.format; this.tessellation = commandList.createTessellation(GlPrimitiveType.QUADS, new TessellationBinding[] { diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/cull/graph/ChunkGraphCuller.java b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/cull/graph/ChunkGraphCuller.java index 0003b99eb..ee71255e7 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/cull/graph/ChunkGraphCuller.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/cull/graph/ChunkGraphCuller.java @@ -29,7 +29,7 @@ public class ChunkGraphCuller implements ChunkCuller { private boolean useOcclusionCulling; private int activeFrame = 0; - private int centerChunkX, centerChunkY, centerChunkZ; + private int centerChunkX, centerChunkZ; public ChunkGraphCuller(World world, int renderDistance) { this.world = world; @@ -83,7 +83,6 @@ public class ChunkGraphCuller implements ChunkCuller { final int chunkZ = origin.getZ() >> 4; this.centerChunkX = chunkX; - this.centerChunkY = chunkY; this.centerChunkZ = chunkZ; final ChunkGraphNode rootNode = this.getNode(chunkX, chunkY, chunkZ); diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/shader/ChunkRenderShaderBackend.java b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/shader/ChunkRenderShaderBackend.java index accd9ea15..ff25a4134 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/shader/ChunkRenderShaderBackend.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/chunk/shader/ChunkRenderShaderBackend.java @@ -73,7 +73,7 @@ public abstract class ChunkRenderShaderBackend imp return new GlShader(device, type, name, transformations.toString(), ShaderConstants.fromStringList(constants)); } else { - return ShaderLoader.loadShader(device, type, name, constants); + return ShaderLoader.loadShader(device, type, name, ShaderConstants.fromStringList(constants)); } } @@ -92,7 +92,7 @@ public abstract class ChunkRenderShaderBackend imp GlShader vertShader = loadShaderRedirect(device, ShaderType.VERTEX, new ResourceLocation("sodium", "chunk_gl20"), fogMode.getDefines()); - GlShader fragShader = ShaderLoader.loadShader(device, ShaderType.FRAGMENT, new ResourceLocation("sodium", "chunk_gl20"), fogMode.getDefines()); + GlShader fragShader = ShaderLoader.loadShader(device, ShaderType.FRAGMENT, new ResourceLocation("sodium", "chunk_gl20"), ShaderConstants.fromStringList(fogMode.getDefines())); try { return GlProgram.builder(new ResourceLocation("sodium", "chunk_shader")) diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/occlusion/BlockOcclusionCache.java b/src/main/java/me/jellysquid/mods/sodium/client/render/occlusion/BlockOcclusionCache.java index e0941684a..a00bbc54e 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/occlusion/BlockOcclusionCache.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/occlusion/BlockOcclusionCache.java @@ -10,7 +10,6 @@ public class BlockOcclusionCache { private static final byte UNCACHED_VALUE = (byte) 127; private final Object2ByteLinkedOpenHashMap map; - private final CachedOcclusionShapeTest cachedTest = new CachedOcclusionShapeTest(); private final BlockPos cpos = new BlockPos(); public BlockOcclusionCache() { @@ -40,29 +39,6 @@ public class BlockOcclusionCache { // TODO: Use VoxelShape occlusion from modern } - private boolean calculate(Block selfShape, Block adjShape) { - final CachedOcclusionShapeTest cache = this.cachedTest; - cache.a = selfShape; - cache.b = adjShape; - cache.updateHash(); - - final byte cached = this.map.getByte(cache); - - if (cached != UNCACHED_VALUE) { - return cached == 1; - } - - final boolean ret = adjShape.isOpaqueCube() && selfShape.isOpaqueCube(); - - this.map.put(cache.copy(), (byte) (ret ? 1 : 0)); - - if (this.map.size() > 2048) { - this.map.removeFirstByte(); - } - - return ret; - } - private static final class CachedOcclusionShapeTest { private Block a, b; private int hashCode; @@ -77,17 +53,6 @@ public class BlockOcclusionCache { this.hashCode = hashCode; } - public void updateHash() { - int result = System.identityHashCode(this.a); - result = 31 * result + System.identityHashCode(this.b); - - this.hashCode = result; - } - - public CachedOcclusionShapeTest copy() { - return new CachedOcclusionShapeTest(this.a, this.b, this.hashCode); - } - @Override public boolean equals(Object o) { if (o instanceof CachedOcclusionShapeTest that) { diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/BlockRenderer.java b/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/BlockRenderer.java index 818554364..d668b5122 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/BlockRenderer.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/BlockRenderer.java @@ -50,7 +50,6 @@ public class BlockRenderer { private final LightPipelineProvider lighters; private final BlockOcclusionCache occlusionCache; - private Object Quad; private final ObjectPooler quadPool = new ObjectPooler<>(Quad::new); // TODO: Use modern model API, and store them here @@ -183,13 +182,7 @@ public class BlockRenderer { renderData.addSprite(sprite); } } - private LightMode getLightingMode(Block block) { - if (this.useAmbientOcclusion && block.getAmbientOcclusionLightValue() != 1.0F && block.getLightValue() == 0) { - return LightMode.SMOOTH; - } else { - return LightMode.FLAT; - } - } + public static class Flags { boolean hasTexture; public boolean hasBrightness; diff --git a/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/context/ChunkRenderCacheShared.java b/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/context/ChunkRenderCacheShared.java index 38a930a84..759b7bde4 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/context/ChunkRenderCacheShared.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/render/pipeline/context/ChunkRenderCacheShared.java @@ -6,7 +6,6 @@ import me.jellysquid.mods.sodium.client.model.light.cache.HashLightDataCache; import me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer; import me.jellysquid.mods.sodium.client.render.pipeline.ChunkRenderCache; import me.jellysquid.mods.sodium.client.world.WorldSlice; -import net.minecraft.client.Minecraft; import net.minecraft.client.multiplayer.WorldClient; import net.minecraft.world.World; @@ -19,8 +18,6 @@ public class ChunkRenderCacheShared extends ChunkRenderCache { private final HashLightDataCache lightCache; private ChunkRenderCacheShared(WorldSlice world) { - Minecraft client = Minecraft.getMinecraft(); - this.lightCache = new HashLightDataCache(world); LightPipelineProvider lightPipelineProvider = new LightPipelineProvider(this.lightCache); diff --git a/src/main/java/me/jellysquid/mods/sodium/client/world/cloned/ClonedChunkSection.java b/src/main/java/me/jellysquid/mods/sodium/client/world/cloned/ClonedChunkSection.java index 533628c55..b37bed169 100644 --- a/src/main/java/me/jellysquid/mods/sodium/client/world/cloned/ClonedChunkSection.java +++ b/src/main/java/me/jellysquid/mods/sodium/client/world/cloned/ClonedChunkSection.java @@ -15,12 +15,11 @@ import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.chunk.Chunk; import net.minecraft.world.chunk.NibbleArray; import net.minecraft.world.chunk.storage.ExtendedBlockStorage; -import net.minecraft.world.gen.structure.StructureBoundingBox; import java.util.concurrent.atomic.AtomicInteger; public class ClonedChunkSection { - private static final EnumSkyBlock[] LIGHT_TYPES = EnumSkyBlock.values(); + private static final ExtendedBlockStorage EMPTY_SECTION = new ExtendedBlockStorage(0, false); private final AtomicInteger referenceCount = new AtomicInteger(0); @@ -68,8 +67,6 @@ public class ClonedChunkSection { } this.biomeData = new BiomeGenBase[bArrLength]; - StructureBoundingBox box = new StructureBoundingBox(pos.getMinX(), pos.getMinY(), pos.getMinZ(), pos.getMaxX(), pos.getMaxY(), pos.getMaxZ()); - this.tileEntities.clear(); // Check for tile entities diff --git a/src/main/java/me/jellysquid/mods/sodium/proxy/ClientProxy.java b/src/main/java/me/jellysquid/mods/sodium/proxy/ClientProxy.java index ce144049b..ea78fe509 100644 --- a/src/main/java/me/jellysquid/mods/sodium/proxy/ClientProxy.java +++ b/src/main/java/me/jellysquid/mods/sodium/proxy/ClientProxy.java @@ -8,7 +8,6 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import jss.notfine.gui.GuiCustomMenu; import jss.notfine.gui.NotFineGameOptionPages; import me.flashyreese.mods.reeses_sodium_options.client.gui.ReeseSodiumVideoOptionsScreen; -import me.jellysquid.mods.sodium.client.gui.SodiumGameOptionPages; import me.jellysquid.mods.sodium.client.gui.SodiumOptionsGUI; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiScreen; diff --git a/src/main/java/net/coderbot/iris/Iris.java b/src/main/java/net/coderbot/iris/Iris.java index 248ba23eb..d244c0aee 100644 --- a/src/main/java/net/coderbot/iris/Iris.java +++ b/src/main/java/net/coderbot/iris/Iris.java @@ -306,7 +306,8 @@ public class Iris { return false; } - final Map changedConfigs = tryReadConfigProperties(shaderPackConfigTxt).map(properties -> (Map) (Map) properties) + @SuppressWarnings("unchecked") + final Map changedConfigs = tryReadConfigProperties(shaderPackConfigTxt).map(properties -> (Map) (Map) properties) .orElse(new HashMap<>()); changedConfigs.putAll(shaderPackOptionQueue); diff --git a/src/main/java/net/coderbot/iris/gl/framebuffer/GlFramebuffer.java b/src/main/java/net/coderbot/iris/gl/framebuffer/GlFramebuffer.java index 6c9a57be4..27bca9d1a 100644 --- a/src/main/java/net/coderbot/iris/gl/framebuffer/GlFramebuffer.java +++ b/src/main/java/net/coderbot/iris/gl/framebuffer/GlFramebuffer.java @@ -102,7 +102,8 @@ public class GlFramebuffer extends GlResource { OpenGlHelper.func_153171_g/*glBindFramebuffer*/(GL30.GL_DRAW_FRAMEBUFFER, getGlId()); } - protected void destroyInternal() { + @Override + protected void destroyInternal() { OpenGlHelper.func_153184_g/*glDeleteFramebuffers*/(getGlId()); } diff --git a/src/main/java/net/coderbot/iris/gl/program/ComputeProgram.java b/src/main/java/net/coderbot/iris/gl/program/ComputeProgram.java index a9a3100ec..6f97e10d1 100644 --- a/src/main/java/net/coderbot/iris/gl/program/ComputeProgram.java +++ b/src/main/java/net/coderbot/iris/gl/program/ComputeProgram.java @@ -75,7 +75,8 @@ public final class ComputeProgram extends GlResource { GL20.glUseProgram(0); } - public void destroyInternal() { + @Override + public void destroyInternal() { GL20.glDeleteProgram(getGlId()); } diff --git a/src/main/java/net/coderbot/iris/gl/program/Program.java b/src/main/java/net/coderbot/iris/gl/program/Program.java index 6aa5d6284..60c073be5 100644 --- a/src/main/java/net/coderbot/iris/gl/program/Program.java +++ b/src/main/java/net/coderbot/iris/gl/program/Program.java @@ -30,7 +30,8 @@ public final class Program extends GlResource { GL20.glUseProgram(0); } - public void destroyInternal() { + @Override + public void destroyInternal() { GL20.glDeleteProgram(getGlId()); } diff --git a/src/main/java/net/coderbot/iris/gl/program/ProgramUniforms.java b/src/main/java/net/coderbot/iris/gl/program/ProgramUniforms.java index 9b581dabb..2eb54f2a0 100644 --- a/src/main/java/net/coderbot/iris/gl/program/ProgramUniforms.java +++ b/src/main/java/net/coderbot/iris/gl/program/ProgramUniforms.java @@ -148,9 +148,6 @@ public class ProgramUniforms { @Override public Builder addUniform(UniformUpdateFrequency updateFrequency, Uniform uniform) { Objects.requireNonNull(uniform); - if(uniform == null) { - throw new NullPointerException("uniform"); - } switch (updateFrequency) { case ONCE: diff --git a/src/main/java/net/coderbot/iris/gui/NavigationController.java b/src/main/java/net/coderbot/iris/gui/NavigationController.java index bb4d183f8..8e785516b 100644 --- a/src/main/java/net/coderbot/iris/gui/NavigationController.java +++ b/src/main/java/net/coderbot/iris/gui/NavigationController.java @@ -2,23 +2,18 @@ package net.coderbot.iris.gui; import lombok.Getter; import net.coderbot.iris.gui.element.ShaderPackOptionList; -import net.coderbot.iris.shaderpack.option.menu.OptionMenuContainer; import java.util.ArrayDeque; import java.util.Deque; public class NavigationController { - private final OptionMenuContainer container; + private ShaderPackOptionList optionList; @Getter private String currentScreen = null; private final Deque history = new ArrayDeque<>(); - public NavigationController(OptionMenuContainer container) { - this.container = container; - } - public void back() { if (history.size() > 0) { history.removeLast(); diff --git a/src/main/java/net/coderbot/iris/gui/element/IrisElementRow.java b/src/main/java/net/coderbot/iris/gui/element/IrisElementRow.java index ea94291d0..18d543b7c 100644 --- a/src/main/java/net/coderbot/iris/gui/element/IrisElementRow.java +++ b/src/main/java/net/coderbot/iris/gui/element/IrisElementRow.java @@ -153,7 +153,8 @@ public class IrisElementRow { this.onClick = onClick; } - @Override + @SuppressWarnings("unchecked") + @Override public boolean mouseClicked(double mx, double my, int button) { if (this.disabled) { return false; diff --git a/src/main/java/net/coderbot/iris/gui/element/ShaderPackOptionList.java b/src/main/java/net/coderbot/iris/gui/element/ShaderPackOptionList.java index 00e694679..3578a0ab5 100644 --- a/src/main/java/net/coderbot/iris/gui/element/ShaderPackOptionList.java +++ b/src/main/java/net/coderbot/iris/gui/element/ShaderPackOptionList.java @@ -67,7 +67,7 @@ public class ShaderPackOptionList extends IrisGuiSlot { row.add(element); if (row.size() >= columns) { - this.addEntry(new ElementRowEntry(screen, this.navigation, row)); + this.addEntry(new ElementRowEntry(this.navigation, row)); row = new ArrayList<>(); // Clearing the list would affect the row entry created above } } @@ -77,7 +77,7 @@ public class ShaderPackOptionList extends IrisGuiSlot { row.add(AbstractElementWidget.EMPTY); } - this.addEntry(new ElementRowEntry(screen, this.navigation, row)); + this.addEntry(new ElementRowEntry(this.navigation, row)); } } diff --git a/src/main/java/net/coderbot/iris/gui/element/ShaderPackSelectionList.java b/src/main/java/net/coderbot/iris/gui/element/ShaderPackSelectionList.java index 44156e420..655ef3f3f 100644 --- a/src/main/java/net/coderbot/iris/gui/element/ShaderPackSelectionList.java +++ b/src/main/java/net/coderbot/iris/gui/element/ShaderPackSelectionList.java @@ -81,7 +81,7 @@ public class ShaderPackSelectionList extends IrisGuiSlot { } public void addPackEntry(int index, String name) { - final ShaderPackEntry entry = new ShaderPackEntry(index, this, name); + final ShaderPackEntry entry = new ShaderPackEntry(this, name); Iris.getIrisConfig().getShaderPackName().ifPresent(currentPackName -> { if (name.equals(currentPackName)) { diff --git a/src/main/java/net/coderbot/iris/gui/element/shaderoptions/ElementRowEntry.java b/src/main/java/net/coderbot/iris/gui/element/shaderoptions/ElementRowEntry.java index e75e69d0d..3b0749353 100644 --- a/src/main/java/net/coderbot/iris/gui/element/shaderoptions/ElementRowEntry.java +++ b/src/main/java/net/coderbot/iris/gui/element/shaderoptions/ElementRowEntry.java @@ -11,15 +11,12 @@ import java.util.List; public class ElementRowEntry extends BaseEntry { private final List> widgets; - private final ShaderPackScreen screen; private int cachedWidth; private int cachedPosX; - public ElementRowEntry(ShaderPackScreen screen, NavigationController navigation, List> widgets) { + public ElementRowEntry(NavigationController navigation, List> widgets) { super(navigation); - - this.screen = screen; this.widgets = widgets; } @@ -51,10 +48,12 @@ public class ElementRowEntry extends BaseEntry { return MathHelper.clamp_int((int) Math.floor(widgets.size() * positionAcrossWidget), 0, widgets.size() - 1); } + @Override public boolean mouseClicked(int mouseX, int mouseY, int button) { return this.widgets.get(getHoveredWidget(mouseX)).mouseClicked(mouseX, mouseY, button); } + @Override public boolean mouseReleased(int mouseX, int mouseY, int button) { return this.widgets.get(getHoveredWidget(mouseX)).mouseReleased(mouseX, mouseY, button); } diff --git a/src/main/java/net/coderbot/iris/gui/element/shaderoptions/HeaderEntry.java b/src/main/java/net/coderbot/iris/gui/element/shaderoptions/HeaderEntry.java index a5c55d6c4..5290eaefa 100644 --- a/src/main/java/net/coderbot/iris/gui/element/shaderoptions/HeaderEntry.java +++ b/src/main/java/net/coderbot/iris/gui/element/shaderoptions/HeaderEntry.java @@ -58,6 +58,7 @@ public class HeaderEntry extends BaseEntry { this.text = text; } + @Override public void drawEntry(ShaderPackScreen screen, int index, int x, int y, int slotWidth, int slotHeight, Tessellator tessellator, int mouseX, int mouseY, boolean isMouseOver) { // Draw dividing line // fill(x - 3, (y + slotHeight) - 2, x + slotWidth, (y + slotHeight) - 1, 0x66BEBEBE); @@ -101,6 +102,7 @@ public class HeaderEntry extends BaseEntry { ShaderPackScreen.TOP_LAYER_RENDER_QUEUE.add(() -> GuiUtil.drawTextPanel(font, text, x - (font.getStringWidth(text) + 10), y - 16)); } + @Override public boolean mouseClicked(int mouseX, int mouseY, int button) { final boolean backButtonResult = backButton != null && backButton.mouseClicked(mouseX, mouseY, button); final boolean utilButtonResult = utilityButtons.mouseClicked(mouseX, mouseY, button); diff --git a/src/main/java/net/coderbot/iris/gui/element/shaderselection/ShaderPackEntry.java b/src/main/java/net/coderbot/iris/gui/element/shaderselection/ShaderPackEntry.java index dcb952870..5218eb7c6 100644 --- a/src/main/java/net/coderbot/iris/gui/element/shaderselection/ShaderPackEntry.java +++ b/src/main/java/net/coderbot/iris/gui/element/shaderselection/ShaderPackEntry.java @@ -10,13 +10,11 @@ import net.minecraft.util.EnumChatFormatting; public class ShaderPackEntry extends BaseEntry { @Getter private final String packName; private final ShaderPackSelectionList shaderPackSelectionList; - private final int index; - public ShaderPackEntry(int index, ShaderPackSelectionList list, String packName) { + public ShaderPackEntry(ShaderPackSelectionList list, String packName) { super(list); this.packName = packName; this.shaderPackSelectionList = list; - this.index = index; } public boolean isApplied() { diff --git a/src/main/java/net/coderbot/iris/gui/element/shaderselection/TopButtonRowEntry.java b/src/main/java/net/coderbot/iris/gui/element/shaderselection/TopButtonRowEntry.java index 28470e6a9..6e293caf5 100644 --- a/src/main/java/net/coderbot/iris/gui/element/shaderselection/TopButtonRowEntry.java +++ b/src/main/java/net/coderbot/iris/gui/element/shaderselection/TopButtonRowEntry.java @@ -55,6 +55,7 @@ public class TopButtonRowEntry extends BaseEntry { this.shaderPackSelectionList.getScreen().refreshScreenSwitchButton(); } + @Override public void drawEntry(ShaderPackScreen screen, int index, int x, int y, int listWidth, Tessellator tessellator, int mouseX, int mouseY, boolean isMouseOver) { this.buttons.setWidth(this.enableDisableButton, (listWidth - 1) - REFRESH_BUTTON_WIDTH); this.enableDisableButton.centerX = x + (int)(listWidth * 0.5); diff --git a/src/main/java/net/coderbot/iris/gui/element/widget/IrisButton.java b/src/main/java/net/coderbot/iris/gui/element/widget/IrisButton.java index 05c65ba7c..931eca803 100644 --- a/src/main/java/net/coderbot/iris/gui/element/widget/IrisButton.java +++ b/src/main/java/net/coderbot/iris/gui/element/widget/IrisButton.java @@ -3,7 +3,6 @@ package net.coderbot.iris.gui.element.widget; import net.minecraft.client.gui.GuiButton; import java.util.function.Consumer; -import java.util.function.Function; public class IrisButton extends GuiButton { protected final Consumer onPress; diff --git a/src/main/java/net/coderbot/iris/gui/option/IrisVideoSettings.java b/src/main/java/net/coderbot/iris/gui/option/IrisVideoSettings.java index 756207549..6f1a9b2f8 100644 --- a/src/main/java/net/coderbot/iris/gui/option/IrisVideoSettings.java +++ b/src/main/java/net/coderbot/iris/gui/option/IrisVideoSettings.java @@ -1,11 +1,6 @@ package net.coderbot.iris.gui.option; -import java.io.IOException; - import net.coderbot.iris.Iris; -import net.coderbot.iris.pipeline.WorldRenderingPipeline; -import net.minecraft.client.Minecraft; -import net.minecraft.client.resources.I18n; public class IrisVideoSettings { public static int shadowDistance = 32; diff --git a/src/main/java/net/coderbot/iris/gui/screen/ShaderPackScreen.java b/src/main/java/net/coderbot/iris/gui/screen/ShaderPackScreen.java index 877af3deb..2a78dd06d 100644 --- a/src/main/java/net/coderbot/iris/gui/screen/ShaderPackScreen.java +++ b/src/main/java/net/coderbot/iris/gui/screen/ShaderPackScreen.java @@ -22,7 +22,6 @@ import org.lwjgl.Sys; import org.lwjgl.input.Keyboard; import org.lwjgl.input.Mouse; -import java.io.File; import java.io.IOException; import java.net.URI; import java.util.ArrayList; @@ -66,7 +65,6 @@ public class ShaderPackScreen extends GuiScreen implements HudHideable { private boolean optionMenuOpen = false; private boolean dropChanges = false; - private static final String development = "Development Environment"; private String developmentComponent; private String updateComponent; @@ -235,10 +233,6 @@ public class ShaderPackScreen extends GuiScreen implements HudHideable { } if (inWorld) { - final String showOrHide = this.guiHidden - ? I18n.format("options.iris.gui.show") - : I18n.format("options.iris.gui.hide"); - final float endOfLastButton = this.width / 2.0f + 154.0f; final float freeSpace = this.width - endOfLastButton; final int x; @@ -320,7 +314,7 @@ public class ShaderPackScreen extends GuiScreen implements HudHideable { if (Iris.getCurrentPack().isPresent()) { final ShaderPack currentPack = Iris.getCurrentPack().get(); - this.navigation = new NavigationController(currentPack.getMenuContainer()); + this.navigation = new NavigationController(); if (this.shaderOptionList != null) { this.shaderOptionList.applyShaderPack(currentPack); diff --git a/src/main/java/net/coderbot/iris/pipeline/PipelineManager.java b/src/main/java/net/coderbot/iris/pipeline/PipelineManager.java index a536ec37e..148114574 100644 --- a/src/main/java/net/coderbot/iris/pipeline/PipelineManager.java +++ b/src/main/java/net/coderbot/iris/pipeline/PipelineManager.java @@ -17,7 +17,7 @@ import java.util.Optional; import java.util.function.Function; public class PipelineManager { - private static PipelineManager instance; + private final Function pipelineFactory; private final Map pipelinesPerDimension = new HashMap<>(); private WorldRenderingPipeline pipeline = new FixedFunctionWorldRenderingPipeline(); diff --git a/src/main/java/net/coderbot/iris/pipeline/WorldRenderingPhase.java b/src/main/java/net/coderbot/iris/pipeline/WorldRenderingPhase.java index 81a1e2224..995f3338c 100644 --- a/src/main/java/net/coderbot/iris/pipeline/WorldRenderingPhase.java +++ b/src/main/java/net/coderbot/iris/pipeline/WorldRenderingPhase.java @@ -1,7 +1,5 @@ package net.coderbot.iris.pipeline; -import com.gtnewhorizons.angelica.compat.toremove.RenderLayer; - public enum WorldRenderingPhase { NONE, SKY, diff --git a/src/main/java/net/coderbot/iris/pipeline/transform/ShaderTransformer.java b/src/main/java/net/coderbot/iris/pipeline/transform/ShaderTransformer.java index 426e64058..86e3ae5cd 100644 --- a/src/main/java/net/coderbot/iris/pipeline/transform/ShaderTransformer.java +++ b/src/main/java/net/coderbot/iris/pipeline/transform/ShaderTransformer.java @@ -36,7 +36,7 @@ public class ShaderTransformer { private static final Pattern inOutVaryingPattern = Pattern.compile("(?m)^\\s*(in|out)(\\s+)"); private static final int CACHE_SIZE = 100; - private static final Object2ObjectLinkedOpenHashMap> shaderTransformationCache = new Object2ObjectLinkedOpenHashMap<>(); + private static final Object2ObjectLinkedOpenHashMap, Map> shaderTransformationCache = new Object2ObjectLinkedOpenHashMap<>(); private static final boolean useCache = true; /** @@ -70,23 +70,11 @@ public class ShaderTransformer { this.params = params; } - public Patch patchType() { - return patchType; - } - - public EnumMap inputs() { - return inputs; - } - - public P params() { - return params; - } - @Override public boolean equals(Object obj) { if (obj == this) return true; if (obj == null || obj.getClass() != this.getClass()) return false; - var that = (TransformKey) obj; + var that = (TransformKey) obj; return Objects.equals(this.patchType, that.patchType) && Objects.equals(this.inputs, that.inputs) && Objects.equals(this.params, that.params); @@ -119,7 +107,7 @@ public class ShaderTransformer { inputs.put(PatchShaderType.GEOMETRY, geometry); inputs.put(PatchShaderType.FRAGMENT, fragment); - var key = new TransformKey(patchType, inputs, parameters); + var key = new TransformKey<>(patchType, inputs, parameters); result = shaderTransformationCache.getAndMoveToFirst(key); if(result == null || !useCache) { diff --git a/src/main/java/net/coderbot/iris/pipeline/transform/TransformPatcher.java b/src/main/java/net/coderbot/iris/pipeline/transform/TransformPatcher.java index 21ffacc30..65fe8f066 100644 --- a/src/main/java/net/coderbot/iris/pipeline/transform/TransformPatcher.java +++ b/src/main/java/net/coderbot/iris/pipeline/transform/TransformPatcher.java @@ -10,11 +10,7 @@ import java.util.Map; public class TransformPatcher { private static final int MAX_CACHE_ENTRIES = 400; - private static final Map> cache = new LinkedHashMap<>(MAX_CACHE_ENTRIES + 1, .75F, true) { - public boolean removeEldestEntry(Map.Entry eldest) { - return size() > MAX_CACHE_ENTRIES; - } - }; + private static final Map> cache = new LinkedHashMap<>(MAX_CACHE_ENTRIES + 1, .75F, true); private static final boolean useCache = true; diff --git a/src/main/java/net/coderbot/iris/postprocess/CompositeRenderer.java b/src/main/java/net/coderbot/iris/postprocess/CompositeRenderer.java index 37ecabae1..cd3c9dddb 100644 --- a/src/main/java/net/coderbot/iris/postprocess/CompositeRenderer.java +++ b/src/main/java/net/coderbot/iris/postprocess/CompositeRenderer.java @@ -23,7 +23,6 @@ import net.coderbot.iris.samplers.IrisImages; import net.coderbot.iris.samplers.IrisSamplers; import net.coderbot.iris.shaderpack.ComputeSource; import net.coderbot.iris.shaderpack.PackDirectives; -import net.coderbot.iris.shaderpack.PackRenderTargetDirectives; import net.coderbot.iris.shaderpack.ProgramDirectives; import net.coderbot.iris.shaderpack.ProgramSource; import net.coderbot.iris.shadows.ShadowRenderTargets; @@ -64,9 +63,6 @@ public class CompositeRenderer { this.renderTargets = renderTargets; this.customTextureIds = customTextureIds; - final PackRenderTargetDirectives renderTargetDirectives = packDirectives.getRenderTargetDirectives(); - final Map renderTargetSettings = renderTargetDirectives.getRenderTargetSettings(); - final ImmutableList.Builder passes = ImmutableList.builder(); final ImmutableSet.Builder flippedAtLeastOnce = new ImmutableSet.Builder<>(); @@ -136,7 +132,6 @@ public class CompositeRenderer { pass.framebuffer = framebuffer; pass.viewportScale = directives.getViewportScale(); pass.mipmappedBuffers = directives.getMipmappedBuffers(); - pass.flippedAtLeastOnce = flippedAtLeastOnceSnapshot; passes.add(pass); } @@ -175,7 +170,6 @@ public class CompositeRenderer { Program program; ComputeProgram[] computes; GlFramebuffer framebuffer; - ImmutableSet flippedAtLeastOnce; ImmutableSet stageReadsFromAlt; ImmutableSet mipmappedBuffers; float viewportScale; diff --git a/src/main/java/net/coderbot/iris/postprocess/FinalPassRenderer.java b/src/main/java/net/coderbot/iris/postprocess/FinalPassRenderer.java index 4c82a50e3..37260f371 100644 --- a/src/main/java/net/coderbot/iris/postprocess/FinalPassRenderer.java +++ b/src/main/java/net/coderbot/iris/postprocess/FinalPassRenderer.java @@ -22,7 +22,6 @@ import net.coderbot.iris.rendertarget.RenderTargets; import net.coderbot.iris.samplers.IrisImages; import net.coderbot.iris.samplers.IrisSamplers; import net.coderbot.iris.shaderpack.ComputeSource; -import net.coderbot.iris.shaderpack.PackRenderTargetDirectives; import net.coderbot.iris.shaderpack.ProgramDirectives; import net.coderbot.iris.shaderpack.ProgramSet; import net.coderbot.iris.shaderpack.ProgramSource; @@ -69,9 +68,6 @@ public class FinalPassRenderer { this.centerDepthSampler = centerDepthSampler; this.customTextureIds = customTextureIds; - final PackRenderTargetDirectives renderTargetDirectives = pack.getPackDirectives().getRenderTargetDirectives(); - final Map renderTargetSettings = renderTargetDirectives.getRenderTargetSettings(); - this.noiseTexture = noiseTexture; this.renderTargets = renderTargets; this.finalPass = pack.getCompositeFinal().map(source -> { diff --git a/src/main/java/net/coderbot/iris/postprocess/FullScreenQuadRenderer.java b/src/main/java/net/coderbot/iris/postprocess/FullScreenQuadRenderer.java index 55c400751..5b76e2afa 100644 --- a/src/main/java/net/coderbot/iris/postprocess/FullScreenQuadRenderer.java +++ b/src/main/java/net/coderbot/iris/postprocess/FullScreenQuadRenderer.java @@ -30,7 +30,6 @@ public class FullScreenQuadRenderer { end(); } - @SuppressWarnings("deprecation") public void begin() { GLStateManager.disableDepthTest(); @@ -55,7 +54,6 @@ public class FullScreenQuadRenderer { GLStateManager.glDrawArrays(GL11.GL_TRIANGLE_STRIP, 0, 4); } - @SuppressWarnings("deprecation") public static void end() { DefaultVertexFormat.POSITION_TEXTURE.clearBufferState(); GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, 0); diff --git a/src/main/java/net/coderbot/iris/samplers/IrisSamplers.java b/src/main/java/net/coderbot/iris/samplers/IrisSamplers.java index bc0a52953..9d8090617 100644 --- a/src/main/java/net/coderbot/iris/samplers/IrisSamplers.java +++ b/src/main/java/net/coderbot/iris/samplers/IrisSamplers.java @@ -5,13 +5,11 @@ import com.google.common.collect.ImmutableSet; import net.coderbot.iris.gbuffer_overrides.matching.InputAvailability; import net.coderbot.iris.gl.sampler.SamplerHolder; import net.coderbot.iris.gl.state.StateUpdateNotifiers; -import net.coderbot.iris.pipeline.DeferredWorldRenderingPipeline; import net.coderbot.iris.pipeline.WorldRenderingPipeline; import net.coderbot.iris.rendertarget.RenderTarget; import net.coderbot.iris.rendertarget.RenderTargets; import net.coderbot.iris.shaderpack.PackRenderTargetDirectives; import net.coderbot.iris.shadows.ShadowRenderTargets; -import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.texture.AbstractTexture; import java.util.function.IntSupplier; diff --git a/src/main/java/net/coderbot/iris/shaderpack/ConstDirectiveParser.java b/src/main/java/net/coderbot/iris/shaderpack/ConstDirectiveParser.java index f8d80d232..6e5515a24 100644 --- a/src/main/java/net/coderbot/iris/shaderpack/ConstDirectiveParser.java +++ b/src/main/java/net/coderbot/iris/shaderpack/ConstDirectiveParser.java @@ -162,7 +162,8 @@ public class ConstDirectiveParser { return value; } - public String toString() { + @Override + public String toString() { return "ConstDirective { " + type + " " + key + " = " + value + "; }"; } } diff --git a/src/main/java/net/coderbot/iris/shaderpack/IdMap.java b/src/main/java/net/coderbot/iris/shaderpack/IdMap.java index 2b5237f85..370dd4b8e 100644 --- a/src/main/java/net/coderbot/iris/shaderpack/IdMap.java +++ b/src/main/java/net/coderbot/iris/shaderpack/IdMap.java @@ -13,6 +13,7 @@ import net.coderbot.iris.shaderpack.materialmap.BlockRenderType; import net.coderbot.iris.shaderpack.materialmap.NamespacedId; import net.coderbot.iris.shaderpack.option.ShaderPackOptions; import net.coderbot.iris.shaderpack.preprocessor.PropertiesPreprocessor; +import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; @@ -202,8 +203,8 @@ public class IdMap { ArrayList leaves = OreDictionary.getOres("treeLeaves"); for (ItemStack leaf : leaves) { if (leaf.getItem() instanceof ItemBlock) { - Iris.logger.warn("Found leaf " + leaf.getItem().itemRegistry.getNameForObject(leaf.getItem())); - value.append(" ").append(leaf.getItem().itemRegistry.getNameForObject(leaf.getItem())); + Iris.logger.warn("Found leaf " + Item.itemRegistry.getNameForObject(leaf.getItem())); + value.append(" ").append(Item.itemRegistry.getNameForObject(leaf.getItem())); } } } diff --git a/src/main/java/net/coderbot/iris/shaderpack/LanguageMap.java b/src/main/java/net/coderbot/iris/shaderpack/LanguageMap.java index c1468acfc..efedaafe1 100644 --- a/src/main/java/net/coderbot/iris/shaderpack/LanguageMap.java +++ b/src/main/java/net/coderbot/iris/shaderpack/LanguageMap.java @@ -10,7 +10,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Collections; import java.util.HashMap; -import java.util.Locale; import java.util.Map; import java.util.Properties; import java.util.Set; diff --git a/src/main/java/net/coderbot/iris/shaderpack/OrderBackedProperties.java b/src/main/java/net/coderbot/iris/shaderpack/OrderBackedProperties.java index 5c391db42..01789d32a 100644 --- a/src/main/java/net/coderbot/iris/shaderpack/OrderBackedProperties.java +++ b/src/main/java/net/coderbot/iris/shaderpack/OrderBackedProperties.java @@ -11,7 +11,9 @@ import java.util.function.BiConsumer; * Properties backed by a {@link java.util.LinkedHashMap}, in order to preserve iteration order */ public class OrderBackedProperties extends Properties { - private transient final Map backing = Object2ObjectMaps.synchronize(new Object2ObjectLinkedOpenHashMap<>()); + + private static final long serialVersionUID = 1555967254721760731L; + private transient final Map backing = Object2ObjectMaps.synchronize(new Object2ObjectLinkedOpenHashMap<>()); @Override public synchronized Object put(Object key, Object value) { diff --git a/src/main/java/net/coderbot/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java b/src/main/java/net/coderbot/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java index 43d843c22..180f7d77a 100644 --- a/src/main/java/net/coderbot/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java +++ b/src/main/java/net/coderbot/iris/shadows/frustum/advanced/AdvancedShadowCullingFrustum.java @@ -322,13 +322,9 @@ public class AdvancedShadowCullingFrustum extends Frustrum { * @return 0 if nothing is visible, 1 if everything is visible, 2 if only some corners are visible. */ private int checkCornerVisibility(float minX, float minY, float minZ, float maxX, float maxY, float maxZ) { - boolean inside = true; float outsideBoundX; float outsideBoundY; float outsideBoundZ; - float insideBoundX; - float insideBoundY; - float insideBoundZ; for (int i = 0; i < planeCount; ++i) { Vector4f plane = this.planes[i]; @@ -338,32 +334,25 @@ public class AdvancedShadowCullingFrustum extends Frustrum { if (plane.x() < 0) { outsideBoundX = minX; - insideBoundX = maxX; } else { outsideBoundX = maxX; - insideBoundX = minX; } if (plane.y() < 0) { outsideBoundY = minY; - insideBoundY = maxY; } else { outsideBoundY = maxY; - insideBoundY = minY; } if (plane.z() < 0) { outsideBoundZ = minZ; - insideBoundZ = maxZ; } else { outsideBoundZ = maxZ; - insideBoundZ = minZ; } if (Math.fma(plane.x(), outsideBoundX, Math.fma(plane.y(), outsideBoundY, plane.z() * outsideBoundZ)) < -plane.w()) { return 0; } - inside &= Math.fma(plane.x(), insideBoundX, Math.fma(plane.y(), insideBoundY, plane.z() * insideBoundZ)) >= -plane.w(); } return 2; diff --git a/src/main/java/net/coderbot/iris/sodium/shader_overrides/IrisChunkProgram.java b/src/main/java/net/coderbot/iris/sodium/shader_overrides/IrisChunkProgram.java index 5538cfed8..3f4714269 100644 --- a/src/main/java/net/coderbot/iris/sodium/shader_overrides/IrisChunkProgram.java +++ b/src/main/java/net/coderbot/iris/sodium/shader_overrides/IrisChunkProgram.java @@ -41,7 +41,8 @@ public class IrisChunkProgram extends ChunkProgram { this.irisProgramImages = irisProgramImages; } - public void setup(MatrixStack matrixStack, float modelScale, float textureScale) { + @Override + public void setup(MatrixStack matrixStack, float modelScale, float textureScale) { super.setup(matrixStack, modelScale, textureScale); if (irisProgramUniforms != null) { diff --git a/src/main/java/net/coderbot/iris/texture/pbr/PBRAtlasTexture.java b/src/main/java/net/coderbot/iris/texture/pbr/PBRAtlasTexture.java index b004d79e7..9678020f7 100644 --- a/src/main/java/net/coderbot/iris/texture/pbr/PBRAtlasTexture.java +++ b/src/main/java/net/coderbot/iris/texture/pbr/PBRAtlasTexture.java @@ -2,8 +2,6 @@ package net.coderbot.iris.texture.pbr; import com.gtnewhorizons.angelica.compat.mojang.AutoClosableAbstractTexture; import com.gtnewhorizons.angelica.config.AngelicaConfig; -import com.gtnewhorizons.angelica.mixins.interfaces.TextureAtlasSpriteAccessor; -import com.gtnewhorizons.angelica.mixins.interfaces.TextureMapAccessor; import lombok.Getter; import net.coderbot.iris.Iris; import net.coderbot.iris.texture.util.TextureExporter; @@ -36,7 +34,7 @@ public class PBRAtlasTexture extends AutoClosableAbstractTexture { public PBRAtlasTexture(TextureMap textureMap, PBRType type) { this.texMap = textureMap; this.type = type; - id = type.appendToFileLocation(((TextureMapAccessor)textureMap).getLocationBlocksTexture()); + id = type.appendToFileLocation(TextureMap.locationBlocksTexture); } @@ -112,11 +110,10 @@ public class PBRAtlasTexture extends AutoClosableAbstractTexture { protected void uploadSprite(TextureAtlasSprite sprite) { - final TextureAtlasSpriteAccessor accessor = (TextureAtlasSpriteAccessor) sprite; - if (accessor.getMetadata().getFrameCount() > 1) { - final AnimationMetadataSection metadata = accessor.getMetadata(); + if (sprite.animationMetadata.getFrameCount() > 1) { + final AnimationMetadataSection metadata = sprite.animationMetadata; final int frameCount = sprite.getFrameCount(); - for (int frame = accessor.getFrame(); frame >= 0; frame--) { + for (int frame = sprite.frameCounter; frame >= 0; frame--) { final int frameIndex = metadata.getFrameIndex(frame); if (frameIndex >= 0 && frameIndex < frameCount) { TextureUtil.uploadTextureMipmap(sprite.getFrameTextureData(frameIndex), sprite.getIconWidth(), sprite.getIconHeight(), sprite.getOriginX(), sprite.getOriginY(), false, false); diff --git a/src/main/java/net/coderbot/iris/texture/pbr/loader/AtlasPBRLoader.java b/src/main/java/net/coderbot/iris/texture/pbr/loader/AtlasPBRLoader.java index f6ebc07f1..6c3f8c9d9 100644 --- a/src/main/java/net/coderbot/iris/texture/pbr/loader/AtlasPBRLoader.java +++ b/src/main/java/net/coderbot/iris/texture/pbr/loader/AtlasPBRLoader.java @@ -4,10 +4,7 @@ import com.google.common.collect.Lists; import com.gtnewhorizons.angelica.compat.mojang.NativeImage; import com.gtnewhorizons.angelica.glsm.texture.TextureInfo; import com.gtnewhorizons.angelica.glsm.texture.TextureInfoCache; -import com.gtnewhorizons.angelica.mixins.interfaces.AnimationMetadataSectionAccessor; import com.gtnewhorizons.angelica.mixins.interfaces.ISpriteExt; -import com.gtnewhorizons.angelica.mixins.interfaces.TextureAtlasSpriteAccessor; -import com.gtnewhorizons.angelica.mixins.interfaces.TextureMapAccessor; import net.coderbot.iris.Iris; import net.coderbot.iris.texture.format.TextureFormat; import net.coderbot.iris.texture.format.TextureFormatLoader; @@ -32,7 +29,6 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.util.Collection; - public class AtlasPBRLoader implements PBRTextureLoader { public static final ChannelMipmapGenerator LINEAR_MIPMAP_GENERATOR = new ChannelMipmapGenerator( LinearBlendFunction.INSTANCE, @@ -41,6 +37,7 @@ public class AtlasPBRLoader implements PBRTextureLoader { LinearBlendFunction.INSTANCE ); + @SuppressWarnings("unchecked") @Override public void load(TextureMap texMap, IResourceManager resourceManager, PBRTextureConsumer pbrTextureConsumer) { final TextureInfo textureInfo = TextureInfoCache.INSTANCE.getInfo(texMap.getGlTextureId()); @@ -50,7 +47,7 @@ public class AtlasPBRLoader implements PBRTextureLoader { PBRAtlasTexture normalAtlas = null; PBRAtlasTexture specularAtlas = null; - for (TextureAtlasSprite sprite : (Collection) ((TextureMapAccessor) texMap).getMapUploadedSprites().values()) { + for (TextureAtlasSprite sprite : (Collection) texMap.mapUploadedSprites.values()) { if (!(sprite.getIconName().equals("missingno"))) { TextureAtlasSprite normalSprite = createPBRSprite(sprite, resourceManager, texMap, atlasWidth, atlasHeight, mipLevel, PBRType.NORMAL); TextureAtlasSprite specularSprite = createPBRSprite(sprite, resourceManager, texMap, atlasWidth, atlasHeight, mipLevel, PBRType.SPECULAR); @@ -77,19 +74,19 @@ public class AtlasPBRLoader implements PBRTextureLoader { if (normalAtlas.tryUpload(atlasWidth, atlasHeight, mipLevel, - ((TextureMapAccessor) texMap).getAnisotropicFiltering())) { + texMap.anisotropicFiltering)) { pbrTextureConsumer.acceptNormalTexture(normalAtlas); } } if (specularAtlas != null) { - if (specularAtlas.tryUpload(atlasWidth, atlasHeight, mipLevel, ((TextureMapAccessor) texMap).getAnisotropicFiltering())) { + if (specularAtlas.tryUpload(atlasWidth, atlasHeight, mipLevel, texMap.anisotropicFiltering)) { pbrTextureConsumer.acceptSpecularTexture(specularAtlas); } } } protected static int fetchAtlasMipLevel(TextureMap texMap) { - return ((TextureMapAccessor) texMap).getMipmapLevels(); + return texMap.mipmapLevels; } @Nullable @@ -138,20 +135,19 @@ public class AtlasPBRLoader implements PBRTextureLoader { frameHeight = targetFrameHeight; if (!animationMetadata.equals(new AnimationMetadataSection(Lists.newArrayList(), -1, -1, -1))) { - final AnimationMetadataSectionAccessor animationAccessor = (AnimationMetadataSectionAccessor) animationMetadata; - final int internalFrameWidth = animationAccessor.getFrameHeight(); - final int internalFrameHeight = animationAccessor.getFrameHeight(); + final int internalFrameWidth = animationMetadata.frameHeight; + final int internalFrameHeight = animationMetadata.frameWidth; if (internalFrameWidth != -1) { - animationAccessor.setFrameWidth(frameWidth); + animationMetadata.frameWidth = frameWidth; } if (internalFrameHeight != -1) { - animationAccessor.setFrameHeight(frameHeight); + animationMetadata.frameHeight = frameHeight; } } } final ResourceLocation pbrSpriteName = new ResourceLocation(spriteName.getResourceDomain(), spriteName.getResourcePath() + pbrType.getSuffix()); - final TextureAtlasSpriteInfo pbrSpriteInfo = new PBRTextureAtlasSpriteInfo(pbrSpriteName, frameWidth, frameHeight, animationMetadata, pbrType); + final TextureAtlasSpriteInfo pbrSpriteInfo = new PBRTextureAtlasSpriteInfo(pbrSpriteName, frameWidth, frameHeight, pbrType); final int x = sprite.getOriginX(); final int y = sprite.getOriginY(); @@ -174,16 +170,14 @@ public class AtlasPBRLoader implements PBRTextureLoader { return; } - final TextureAtlasSpriteAccessor sourceAccessor = ((TextureAtlasSpriteAccessor) source); - final AnimationMetadataSection sourceMetadata = sourceAccessor.getMetadata(); + final AnimationMetadataSection sourceMetadata = source.animationMetadata; int ticks = 0; - for (int f = 0; f < sourceAccessor.getFrame(); f++) { + for (int f = 0; f < source.frameCounter; f++) { ticks += sourceMetadata.getFrameTimeSingle(f); } - final TextureAtlasSpriteAccessor targetAccessor = ((TextureAtlasSpriteAccessor) target); - final AnimationMetadataSection targetMetadata = targetAccessor.getMetadata(); + final AnimationMetadataSection targetMetadata = target.animationMetadata; int cycleTime = 0; final int frameCount = targetMetadata.getFrameCount(); @@ -203,15 +197,15 @@ public class AtlasPBRLoader implements PBRTextureLoader { } } - targetAccessor.setFrame(targetFrame); - targetAccessor.setSubFrame(ticks + sourceAccessor.getSubFrame()); + target.frameCounter = targetFrame; + target.tickCounter = ticks + source.tickCounter; } protected static class PBRTextureAtlasSpriteInfo extends TextureAtlasSpriteInfo { protected final PBRType pbrType; - public PBRTextureAtlasSpriteInfo(ResourceLocation name, int width, int height, AnimationMetadataSection metadata, PBRType pbrType) { - super(name, width, height, metadata); + public PBRTextureAtlasSpriteInfo(ResourceLocation name, int width, int height, PBRType pbrType) { + super(name, width, height); this.pbrType = pbrType; } } @@ -221,7 +215,7 @@ public class AtlasPBRLoader implements PBRTextureLoader { protected PBRTextureAtlasSprite(TextureAtlasSpriteInfo info, AnimationMetadataSection animationMetaDataSection, int atlasWidth, int atlasHeight, int x, int y, NativeImage nativeImage, TextureMap texMap, int miplevel) { super(info.name().toString()); super.initSprite(atlasWidth, atlasHeight, x, y, false); - super.loadSprite(getMipmapGenerator(info, atlasWidth, atlasHeight).generateMipLevels(nativeImage, miplevel), animationMetaDataSection, (float)((TextureMapAccessor) texMap).getAnisotropicFiltering() > 1.0F); + super.loadSprite(getMipmapGenerator(info, atlasWidth, atlasHeight).generateMipLevels(nativeImage, miplevel), animationMetaDataSection, texMap.anisotropicFiltering > 1); } @Override diff --git a/src/main/java/net/coderbot/iris/texture/pbr/loader/SimplePBRLoader.java b/src/main/java/net/coderbot/iris/texture/pbr/loader/SimplePBRLoader.java index 4de78921b..b9a9afd53 100644 --- a/src/main/java/net/coderbot/iris/texture/pbr/loader/SimplePBRLoader.java +++ b/src/main/java/net/coderbot/iris/texture/pbr/loader/SimplePBRLoader.java @@ -1,6 +1,5 @@ package net.coderbot.iris.texture.pbr.loader; -import com.gtnewhorizons.angelica.mixins.interfaces.SimpleTextureAccessor; import net.coderbot.iris.texture.pbr.PBRType; import net.minecraft.client.renderer.texture.AbstractTexture; import net.minecraft.client.renderer.texture.SimpleTexture; @@ -13,7 +12,7 @@ import java.io.IOException; public class SimplePBRLoader implements PBRTextureLoader { @Override public void load(SimpleTexture texture, IResourceManager resourceManager, PBRTextureConsumer pbrTextureConsumer) { - ResourceLocation location = ((SimpleTextureAccessor) texture).getLocation(); + ResourceLocation location = texture.textureLocation; AbstractTexture normalTexture = createPBRTexture(location, resourceManager, PBRType.NORMAL); AbstractTexture specularTexture = createPBRTexture(location, resourceManager, PBRType.SPECULAR); diff --git a/src/main/java/net/coderbot/iris/texture/pbr/loader/TextureAtlasSpriteInfo.java b/src/main/java/net/coderbot/iris/texture/pbr/loader/TextureAtlasSpriteInfo.java index 28f0a781f..2e50be49b 100644 --- a/src/main/java/net/coderbot/iris/texture/pbr/loader/TextureAtlasSpriteInfo.java +++ b/src/main/java/net/coderbot/iris/texture/pbr/loader/TextureAtlasSpriteInfo.java @@ -1,19 +1,16 @@ package net.coderbot.iris.texture.pbr.loader; -import net.minecraft.client.resources.data.AnimationMetadataSection; import net.minecraft.util.ResourceLocation; public class TextureAtlasSpriteInfo { private final ResourceLocation name; private final int width; private final int height; - private final AnimationMetadataSection metadata; - public TextureAtlasSpriteInfo(ResourceLocation arg, int i, int j, AnimationMetadataSection arg2) { + public TextureAtlasSpriteInfo(ResourceLocation arg, int i, int j) { this.name = arg; this.width = i; this.height = j; - this.metadata = arg2; } public ResourceLocation name() { diff --git a/src/main/java/net/coderbot/iris/texture/util/TextureManipulationUtil.java b/src/main/java/net/coderbot/iris/texture/util/TextureManipulationUtil.java index e05d3b5e1..80232437c 100644 --- a/src/main/java/net/coderbot/iris/texture/util/TextureManipulationUtil.java +++ b/src/main/java/net/coderbot/iris/texture/util/TextureManipulationUtil.java @@ -6,7 +6,6 @@ import com.gtnewhorizon.gtnhlib.bytebuf.MemoryStack; import com.gtnewhorizons.angelica.glsm.GLStateManager; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; -import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL30; diff --git a/src/main/java/net/coderbot/iris/uniforms/HardcodedCustomUniforms.java b/src/main/java/net/coderbot/iris/uniforms/HardcodedCustomUniforms.java index 591af8c0b..4a1eebeff 100644 --- a/src/main/java/net/coderbot/iris/uniforms/HardcodedCustomUniforms.java +++ b/src/main/java/net/coderbot/iris/uniforms/HardcodedCustomUniforms.java @@ -201,10 +201,6 @@ public class HardcodedCustomUniforms { return blindFactorSqrt * blindFactorSqrt; } - private static float frac(float value) { - return java.lang.Math.abs(value % 1); - } - private static float getAdjTime() { return Math.abs(((((WorldTimeUniforms.getWorldDayTime()) / 1000.0f) + 6.0f) % 24.0f) - 12.0f); } diff --git a/src/main/java/net/coderbot/iris/uniforms/IdMapUniforms.java b/src/main/java/net/coderbot/iris/uniforms/IdMapUniforms.java index f67087944..082a88b82 100644 --- a/src/main/java/net/coderbot/iris/uniforms/IdMapUniforms.java +++ b/src/main/java/net/coderbot/iris/uniforms/IdMapUniforms.java @@ -13,7 +13,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import org.jetbrains.annotations.NotNull; -import org.joml.Vector3f; import static net.coderbot.iris.gl.uniform.UniformUpdateFrequency.PER_FRAME; @@ -54,7 +53,6 @@ public final class IdMapUniforms { private final boolean applyOldHandLight; private int intID; private int lightValue; - private Vector3f lightColor; HeldItemSupplier(InteractionHand hand, Object2IntFunction itemIdMap, boolean shouldApplyOldHandLight) { this.hand = hand; @@ -65,7 +63,6 @@ public final class IdMapUniforms { private void invalidate() { intID = -1; lightValue = 0; - lightColor = IrisItemLightProvider.DEFAULT_LIGHT_COLOR; } public void update() { @@ -100,8 +97,6 @@ public final class IdMapUniforms { if (applyOldHandLight) { lightProvider = applyOldHandLighting(player, lightProvider); } - - lightColor = lightProvider.getLightColor(Minecraft.getMinecraft().thePlayer, heldStack); } private IrisItemLightProvider applyOldHandLighting(@NotNull EntityPlayer player, IrisItemLightProvider existing) { @@ -135,9 +130,5 @@ public final class IdMapUniforms { public int getLightValue() { return lightValue; } - - public Vector3f getLightColor() { - return lightColor; - } } } diff --git a/src/main/java/net/coderbot/iris/uniforms/IrisExclusiveUniforms.java b/src/main/java/net/coderbot/iris/uniforms/IrisExclusiveUniforms.java index ff4ef3e20..3b3789031 100644 --- a/src/main/java/net/coderbot/iris/uniforms/IrisExclusiveUniforms.java +++ b/src/main/java/net/coderbot/iris/uniforms/IrisExclusiveUniforms.java @@ -25,8 +25,8 @@ public class IrisExclusiveUniforms { uniforms.uniform1b(UniformUpdateFrequency.PER_FRAME, "firstPersonCamera", IrisExclusiveUniforms::isFirstPersonCamera); uniforms.uniform1b(UniformUpdateFrequency.PER_TICK, "isSpectator", IrisExclusiveUniforms::isSpectator); uniforms.uniform3d(UniformUpdateFrequency.PER_FRAME, "eyePosition", IrisExclusiveUniforms::getEyePosition); - Vector4f zero = new Vector4f(0, 0, 0, 0); // TODO: Iris Shaders +// Vector4f zero = new Vector4f(0, 0, 0, 0); // uniforms.uniform4f(UniformUpdateFrequency.PER_TICK, "lightningBoltPosition", () -> { // if (Minecraft.getMinecraft().theWorld != null) { // return StreamSupport.stream(Minecraft.getMinecraft().theWorld.entitiesForRendering().spliterator(), false).filter(bolt -> bolt instanceof LightningBolt).findAny().map(bolt -> { diff --git a/src/main/java/net/coderbot/iris/vertices/NormI8.java b/src/main/java/net/coderbot/iris/vertices/NormI8.java index 61bc793b8..c4cc5f253 100644 --- a/src/main/java/net/coderbot/iris/vertices/NormI8.java +++ b/src/main/java/net/coderbot/iris/vertices/NormI8.java @@ -1,7 +1,6 @@ package net.coderbot.iris.vertices; import org.joml.Vector3f; -import org.joml.Math; /** * Provides some utilities for working with packed normal vectors. Each normal component provides 8 bits of @@ -54,15 +53,6 @@ public class NormI8 { return ((int) (x * 127) & 0xFF) | (((int) (y * 127) & 0xFF) << 8) | (((int) (z * 127) & 0xFF) << 16) | (((int) w & 0xFF) << 24); } - /** - * Encodes a float in the range of -1.0..1.0 to a normalized unsigned integer in the range of 0..255 which can then - * be passed to graphics memory. - */ - private static int encode(float comp) { - // TODO: is the clamp necessary here? our inputs should always be normalized vector components - return ((int) (Math.clamp(comp, -1.0F, 1.0F) * COMPONENT_RANGE) & 255); - } - /** * Unpacks the x-component of the packed normal, denormalizing it to a float in the range of -1.0..1.0. * @param norm The packed normal diff --git a/src/main/resources/META-INF/angelica_at.cfg b/src/main/resources/META-INF/angelica_at.cfg index 6394fdbeb..d1a6888ed 100644 --- a/src/main/resources/META-INF/angelica_at.cfg +++ b/src/main/resources/META-INF/angelica_at.cfg @@ -42,8 +42,16 @@ public net.minecraft.client.renderer.entity.RendererLivingEntity field_77046_h # public net.minecraft.client.renderer.texture.AbstractTexture field_110553_a # glTextureId +public net.minecraft.client.renderer.texture.TextureAtlasSprite field_110973_g # frameCounter +public net.minecraft.client.renderer.texture.TextureAtlasSprite field_110976_a # framesTextureData +public net.minecraft.client.renderer.texture.TextureAtlasSprite field_110982_k # animationMetadata +public net.minecraft.client.renderer.texture.TextureAtlasSprite field_110983_h # tickCounter public net.minecraft.client.renderer.texture.TextureAtlasSprite field_147966_k # useAnisotropicFiltering +public net.minecraft.client.renderer.texture.TextureMap field_94252_e # mapUploadedSprites +public net.minecraft.client.renderer.texture.TextureMap field_110575_b # locationBlocksTexture +public net.minecraft.client.renderer.texture.TextureMap field_147636_j # mipmapLevels +public net.minecraft.client.renderer.texture.TextureMap field_147637_k # anisotropicFiltering public net.minecraft.client.renderer.texture.TextureMap func_147634_a(Lnet/minecraft/util/ResourceLocation;I)Lnet/minecraft/util/ResourceLocation; # ResourceLocation completeResourceLocation(ResourceLocation, int) public net.minecraft.client.gui.GuiVideoSettings field_146498_f # parentGuiScreen @@ -61,4 +69,17 @@ public net.minecraft.client.gui.GuiSlot func_148136_c(IIII)V # void overlayBackg public net.minecraft.util.MathHelper func_151241_e(I)I # int calculateLogBaseTwoDeBruijn() +public-f net.minecraft.client.resources.data.AnimationMetadataSection field_110476_b # frameWidth +public-f net.minecraft.client.resources.data.AnimationMetadataSection field_110477_c # frameHeight +public net.minecraft.world.chunk.storage.ExtendedBlockStorage field_76682_b # blockRefCount +public net.minecraft.world.chunk.storage.ExtendedBlockStorage field_76684_a # yBase + +public net.minecraft.world.chunk.NibbleArray field_76583_b # depthBits +public net.minecraft.world.chunk.NibbleArray field_76584_c # depthBitsPlusFour + +public net.minecraft.client.Minecraft field_71428_T # timer + +public net.minecraft.client.renderer.texture.SimpleTexture field_110568_b # textureLocation + +public net.minecraft.block.material.Material field_76240_I # isTranslucent diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinRenderBlocks.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinRenderBlocks.java index e48905056..70a5e8e5a 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinRenderBlocks.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinRenderBlocks.java @@ -6,7 +6,6 @@ import com.gtnewhorizons.angelica.utils.AnimationsRenderUtils; import com.llamalad7.mixinextras.injector.ModifyReturnValue; import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; import net.minecraft.block.Block; -import net.minecraft.block.BlockFire; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -15,7 +14,6 @@ import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import java.util.Set; diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinTextureAtlasSprite.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinTextureAtlasSprite.java index f0b7a1387..562b6e250 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinTextureAtlasSprite.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/animation/MixinTextureAtlasSprite.java @@ -5,7 +5,6 @@ import com.gtnewhorizons.angelica.mixins.interfaces.ISpriteExt; import com.gtnewhorizons.angelica.utils.AnimationsRenderUtils; import com.llamalad7.mixinextras.injector.ModifyReturnValue; -import net.minecraft.block.BlockPortal; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.resources.data.AnimationMetadataSection; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/bugfixes/MixinScaledResolution_UnicodeFix.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/bugfixes/MixinScaledResolution_UnicodeFix.java index dbeaa3fb6..8a5921eef 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/bugfixes/MixinScaledResolution_UnicodeFix.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/bugfixes/MixinScaledResolution_UnicodeFix.java @@ -2,9 +2,7 @@ package com.gtnewhorizons.angelica.mixins.early.angelica.bugfixes; import net.minecraft.client.gui.ScaledResolution; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Constant; -import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyConstant; @Mixin(ScaledResolution.class) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/debug/MixinSplashProgress.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/debug/MixinSplashProgress.java index 2634b1a95..2f464aa5c 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/debug/MixinSplashProgress.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/debug/MixinSplashProgress.java @@ -7,6 +7,7 @@ import cpw.mods.fml.client.SplashProgress; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; +@SuppressWarnings("deprecation") @Mixin(value = SplashProgress.class, remap = false) public class MixinSplashProgress { @WrapOperation(method="Lcpw/mods/fml/client/SplashProgress;start()V", at=@At(value="INVOKE", target="Lcpw/mods/fml/client/SplashProgress;getBool(Ljava/lang/String;Z)Z")) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/fontrenderer/MixinFontRenderer.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/fontrenderer/MixinFontRenderer.java index 29b0364fa..d464ed7a9 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/fontrenderer/MixinFontRenderer.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/fontrenderer/MixinFontRenderer.java @@ -10,7 +10,6 @@ import net.minecraft.util.ResourceLocation; import org.lwjgl.opengl.GL11; import org.spongepowered.asm.mixin.Final; import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.Unique; import org.spongepowered.asm.mixin.injection.At; @@ -118,7 +117,7 @@ public abstract class MixinFontRenderer implements FontRendererAccessor { @Inject(method = "", at = @At("TAIL")) private void angelica$injectBatcher(GameSettings settings, ResourceLocation fontLocation, TextureManager texManager, boolean unicodeMode, CallbackInfo ci) { - angelica$batcher = new BatchingFontRenderer((FontRenderer) (Object) this, unicodePageLocations, this.charWidth, this.glyphWidth, this.colorCode, this.locationFontTexture, this.renderEngine); + angelica$batcher = new BatchingFontRenderer((FontRenderer) (Object) this, unicodePageLocations, this.charWidth, this.glyphWidth, this.colorCode, this.locationFontTexture); } @Unique diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/hudcaching/MixinRenderGameOverlayEvent.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/hudcaching/MixinRenderGameOverlayEvent.java index 9793a8c50..5e5ce1a0e 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/hudcaching/MixinRenderGameOverlayEvent.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/angelica/hudcaching/MixinRenderGameOverlayEvent.java @@ -4,19 +4,25 @@ import com.gtnewhorizons.angelica.mixins.interfaces.RenderGameOverlayEventAccess import net.minecraft.client.gui.ScaledResolution; import net.minecraftforge.client.event.RenderGameOverlayEvent; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; import org.spongepowered.asm.mixin.gen.Accessor; @Mixin(RenderGameOverlayEvent.class) public abstract class MixinRenderGameOverlayEvent implements RenderGameOverlayEventAccessor { + + @Mutable @Accessor(value = "partialTicks", remap = false) public abstract void setPartialTicks(float value); + @Mutable @Accessor(value = "resolution", remap = false) public abstract void setResolution(ScaledResolution resolution); + @Mutable @Accessor(value = "mouseX", remap = false) public abstract void setMouseX(int mouseX); + @Mutable @Accessor(value = "mouseY", remap = false) public abstract void setMouseY(int mouseY); } diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/particle/MixinEntityDropParticleFX.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/particle/MixinEntityDropParticleFX.java index cedc1fde5..37f468ad3 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/particle/MixinEntityDropParticleFX.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/particle/MixinEntityDropParticleFX.java @@ -52,6 +52,7 @@ public abstract class MixinEntityDropParticleFX extends EntityFX { * @author Mist475 (adapted from Paul Rupe) * @reason Inject would be too inefficient */ + @Override @SuppressWarnings("DuplicatedCode") @Overwrite public void onUpdate() { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/renderer/MixinRenderBlocks.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/renderer/MixinRenderBlocks.java index 2e4a8b435..36c1e2118 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/renderer/MixinRenderBlocks.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cc/client/renderer/MixinRenderBlocks.java @@ -21,7 +21,7 @@ import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; import org.spongepowered.asm.mixin.injection.invoke.arg.Args; -import com.llamalad7.mixinextras.injector.WrapWithCondition; +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.llamalad7.mixinextras.sugar.Share; import com.llamalad7.mixinextras.sugar.ref.LocalBooleanRef; import com.llamalad7.mixinextras.sugar.ref.LocalFloatRef; diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cit/world/MixinWorld.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cit/world/MixinWorld.java index f58073304..251434b77 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cit/world/MixinWorld.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/cit/world/MixinWorld.java @@ -15,7 +15,7 @@ public abstract class MixinWorld implements IWorldSpawnItemBreakParticle { public void spawnItemBreakParticle(ItemStack itemStack, String particleName, double x, double y, double z, double velocityX, double velocityY, double velocityZ) { for (int i = 0; i < worldAccesses.size(); ++i) { - IWorldAccess access = (IWorldAccess)worldAccesses.get(i); + IWorldAccess access = worldAccesses.get(i); if (access instanceof IRenderGlobalSpawnItemBreakParticle) { ((IRenderGlobalSpawnItemBreakParticle)access).spawnItemBreakParticle(itemStack, x, y, z, velocityX, velocityY, velocityZ); } else { @@ -25,6 +25,6 @@ public abstract class MixinWorld implements IWorldSpawnItemBreakParticle { } @Shadow - protected List worldAccesses; + protected List worldAccesses; } diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderMooshroom.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderMooshroom.java index 948b58b77..7717c2f36 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderMooshroom.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderMooshroom.java @@ -14,7 +14,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import com.llamalad7.mixinextras.injector.WrapWithCondition; +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.prupe.mcpatcher.mob.MobOverlay; @Mixin(RenderMooshroom.class) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderSnowMan.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderSnowMan.java index 44a963c1c..9c9d6ce7a 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderSnowMan.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/mob/MixinRenderSnowMan.java @@ -8,7 +8,7 @@ import net.minecraft.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import com.llamalad7.mixinextras.injector.WrapWithCondition; +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.prupe.mcpatcher.mob.MobOverlay; @Mixin(RenderSnowMan.class) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/renderpass/MixinEntityRenderer.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/renderpass/MixinEntityRenderer.java index ab16050c7..2fe2c34d2 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/renderpass/MixinEntityRenderer.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/renderpass/MixinEntityRenderer.java @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import com.llamalad7.mixinextras.injector.WrapWithCondition; +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.prupe.mcpatcher.renderpass.RenderPass; @Mixin(EntityRenderer.class) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/sky/MixinRenderGlobal.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/sky/MixinRenderGlobal.java index 2f9bbd0ed..ac2c27151 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/sky/MixinRenderGlobal.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/mcpatcherforge/sky/MixinRenderGlobal.java @@ -11,7 +11,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.ModifyArg; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import com.llamalad7.mixinextras.injector.WrapWithCondition; +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.prupe.mcpatcher.sky.SkyRenderer; @Mixin(RenderGlobal.class) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCactus.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCactus.java index c3fafb4b6..9712a7ef6 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCactus.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCactus.java @@ -14,6 +14,7 @@ public abstract class MixinBlockCactus extends Block implements IFaceObstruction * @author jss2a98aj * @reason More accurate face culling. */ + @Override public boolean shouldSideBeRendered(IBlockAccess worldIn, int x, int y, int z, int side) { //If is not top or bottom if(side > 1) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCarpet.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCarpet.java index ff8057f1d..fe05d5fc5 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCarpet.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockCarpet.java @@ -15,6 +15,7 @@ public abstract class MixinBlockCarpet extends Block implements IFaceObstruction * @author jss2a98aj * @reason More accurate face culling. */ + @Override @Overwrite() public boolean shouldSideBeRendered(IBlockAccess worldIn, int x, int y, int z, int side) { //If this is the top diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockEnchantmentTable.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockEnchantmentTable.java index 10881721b..726013690 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockEnchantmentTable.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockEnchantmentTable.java @@ -14,6 +14,7 @@ public abstract class MixinBlockEnchantmentTable extends Block implements IFaceO * @author jss2a98aj * @reason More accurate face culling. */ + @Override public boolean shouldSideBeRendered(IBlockAccess worldIn, int x, int y, int z, int side) { //If this is the top if(side == 1) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockFarmland.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockFarmland.java index 7d7e6dad6..415813b9c 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockFarmland.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockFarmland.java @@ -14,6 +14,7 @@ public abstract class MixinBlockFarmland extends Block implements IFaceObstructi * @author jss2a98aj * @reason More accurate face culling. */ + @Override public boolean shouldSideBeRendered(IBlockAccess worldIn, int x, int y, int z, int side) { //If this is the top if(side == 1) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSlab.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSlab.java index 60ca85656..f0b923c22 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSlab.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSlab.java @@ -14,6 +14,7 @@ import org.spongepowered.asm.mixin.Shadow; @Mixin(value = BlockSlab.class) public abstract class MixinBlockSlab extends Block implements IFaceObstructionCheckHelper { + @Override public boolean shouldSideBeRendered(IBlockAccess worldIn, int x, int y, int z, int side) { //If the slab is not a full cube and this is up or down if(!field_150004_a && side <= 1) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSnow.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSnow.java index a11b4c293..9af5db805 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSnow.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/faceculling/MixinBlockSnow.java @@ -18,7 +18,8 @@ public abstract class MixinBlockSnow extends Block implements IFaceObstructionCh * @author jss2a98aj * @reason More accurate face culling. */ - @Overwrite() + @Override + @Overwrite() @SideOnly(Side.CLIENT) public boolean shouldSideBeRendered(IBlockAccess worldIn, int x, int y, int z, int side) { //If this is the top and this is not full height diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/fix/MixinRenderItem.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/fix/MixinRenderItem.java index bcac3dba5..0aa727a84 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/fix/MixinRenderItem.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/fix/MixinRenderItem.java @@ -5,12 +5,9 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderItem; -import net.minecraft.item.ItemStack; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; -import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(value = RenderItem.class) public abstract class MixinRenderItem { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/interpolatedtexturemap/MixinTextureMap.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/interpolatedtexturemap/MixinTextureMap.java index ac0d94b1d..89c51432a 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/interpolatedtexturemap/MixinTextureMap.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/interpolatedtexturemap/MixinTextureMap.java @@ -6,6 +6,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.AbstractTexture; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.client.renderer.texture.ITickableTextureObject; +import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.resources.IResource; import net.minecraft.client.resources.SimpleResource; @@ -25,7 +26,7 @@ public abstract class MixinTextureMap extends AbstractTexture implements ITickab @Shadow @Final - private Map mapRegisteredSprites; + private Map mapRegisteredSprites; @Shadow protected abstract ResourceLocation completeResourceLocation(ResourceLocation p_147634_1_, int p_147634_2_); diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/leaves/MixinBlockLeaves.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/leaves/MixinBlockLeaves.java index 82df08653..fc0f910b0 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/leaves/MixinBlockLeaves.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/leaves/MixinBlockLeaves.java @@ -21,11 +21,13 @@ public abstract class MixinBlockLeaves extends BlockLeavesBase { * @author jss2a98aj * @reason Control leaf opacity. */ + @Override @Overwrite public boolean isOpaqueCube() { return SettingsManager.leavesOpaque; } + @Override public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { if(field_150129_M[0] == null) { //A mod dev had no idea what they were doing. diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/particles/MixinBlockEnchantmentTable.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/particles/MixinBlockEnchantmentTable.java index 2e165daac..053c0176f 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/particles/MixinBlockEnchantmentTable.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/particles/MixinBlockEnchantmentTable.java @@ -19,7 +19,8 @@ public abstract class MixinBlockEnchantmentTable extends BlockContainer { * @author jss2a98aj * @reason Makes anything with enchantment power cause enchantment particles. */ - @Overwrite() + @Override + @Overwrite() public void randomDisplayTick(World world, int x, int y, int z, Random rand) { //Unneeded in vanilla as the super call is empty. //super.randomDisplayTick(world, x, y, z, rand); diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/renderer/MixinRenderGlobal.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/renderer/MixinRenderGlobal.java index 4f33a815a..56f2dade5 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/renderer/MixinRenderGlobal.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/notfine/renderer/MixinRenderGlobal.java @@ -15,7 +15,7 @@ import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -import com.llamalad7.mixinextras.injector.WrapWithCondition; +import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; @Mixin(value = RenderGlobal.class) public abstract class MixinRenderGlobal { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/MixinFramebuffer.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/MixinFramebuffer.java index bba408060..37dcf6cf5 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/MixinFramebuffer.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/MixinFramebuffer.java @@ -53,7 +53,7 @@ public abstract class MixinFramebuffer implements IRenderTargetExt { } } - @Inject(method="deleteFramebuffer()V", at=@At(value="FIELD", target="Lnet/minecraft/client/shader/Framebuffer;depthBuffer:I", shift = At.Shift.BEFORE, ordinal = 0), remap = false) + @Inject(method="deleteFramebuffer()V", at=@At(value="FIELD", target="Lnet/minecraft/client/shader/Framebuffer;depthBuffer:I", shift = At.Shift.BEFORE, ordinal = 0)) private void iris$deleteDepthBuffer(CallbackInfo ci) { if(this.iris$depthTextureId > -1 ) { GLStateManager.glDeleteTextures(this.iris$depthTextureId); diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinAnimationMetadataSection.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinAnimationMetadataSection.java deleted file mode 100644 index eec0b06ec..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinAnimationMetadataSection.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.shaders.accessors; - -import com.gtnewhorizons.angelica.mixins.interfaces.AnimationMetadataSectionAccessor; -import net.minecraft.client.resources.data.AnimationMetadataSection; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Mutable; -import org.spongepowered.asm.mixin.gen.Accessor; - -@Mixin(AnimationMetadataSection.class) -public abstract class MixinAnimationMetadataSection implements AnimationMetadataSectionAccessor { - @Accessor("frameWidth") - public abstract int getFrameWidth(); - - @Mutable - @Accessor("frameWidth") - public abstract void setFrameWidth(int frameWidth); - - @Accessor("frameHeight") - public abstract int getFrameHeight(); - - @Mutable - @Accessor("frameHeight") - public abstract void setFrameHeight(int frameHeight); -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinMinecraft.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinMinecraft.java deleted file mode 100644 index 4ea712d0e..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinMinecraft.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.shaders.accessors; - -import com.gtnewhorizons.angelica.mixins.interfaces.MinecraftAccessor; -import net.minecraft.client.Minecraft; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; -import net.minecraft.util.Timer; - -@Mixin(Minecraft.class) -public abstract class MixinMinecraft implements MinecraftAccessor { - @Accessor("timer") - public abstract Timer getTimer(); -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinSimpleTexture.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinSimpleTexture.java deleted file mode 100644 index d1063aee9..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinSimpleTexture.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.shaders.accessors; - -import com.gtnewhorizons.angelica.mixins.interfaces.SimpleTextureAccessor; -import net.minecraft.client.renderer.texture.SimpleTexture; -import net.minecraft.util.ResourceLocation; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -@Mixin(SimpleTexture.class) -public abstract class MixinSimpleTexture implements SimpleTextureAccessor { - @Accessor("textureLocation") - public abstract ResourceLocation getLocation(); -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinTextureAtlasSprite.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinTextureAtlasSprite.java deleted file mode 100644 index cd01150c1..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinTextureAtlasSprite.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.shaders.accessors; - -import com.gtnewhorizons.angelica.mixins.interfaces.TextureAtlasSpriteAccessor; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.resources.data.AnimationMetadataSection; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.List; - -@Mixin(TextureAtlasSprite.class) -public abstract class MixinTextureAtlasSprite implements TextureAtlasSpriteAccessor { - @Accessor("animationMetadata") - public abstract AnimationMetadataSection getMetadata(); - - @Accessor("framesTextureData") - public abstract List getFramesTextureData(); - - @Accessor("frameCounter") - public abstract int getFrame(); - - @Accessor("frameCounter") - public abstract void setFrame(int frame); - - @Accessor("tickCounter") - public abstract int getSubFrame(); - - @Accessor("tickCounter") - public abstract void setSubFrame(int subFrame); -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinTextureMap.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinTextureMap.java deleted file mode 100644 index f6482e200..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/accessors/MixinTextureMap.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.shaders.accessors; - -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.ResourceLocation; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -import java.util.Map; - -import com.gtnewhorizons.angelica.mixins.interfaces.TextureMapAccessor; - -@Mixin(TextureMap.class) -public abstract class MixinTextureMap implements TextureMapAccessor { - - @Accessor("mapUploadedSprites") - public abstract Map getMapUploadedSprites(); - - @Accessor("anisotropicFiltering") - public abstract int getAnisotropicFiltering(); - - @Accessor("mipmapLevels") - public abstract int getMipmapLevels(); - - @Accessor("locationBlocksTexture") - public abstract ResourceLocation getLocationBlocksTexture(); - -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/startup/MixinAbstractTexture.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/startup/MixinAbstractTexture.java index 70d95552f..e9789989e 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/startup/MixinAbstractTexture.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/shaders/startup/MixinAbstractTexture.java @@ -2,6 +2,8 @@ package com.gtnewhorizons.angelica.mixins.early.shaders.startup; import com.gtnewhorizons.angelica.glsm.texture.TextureTracker; import net.minecraft.client.renderer.texture.AbstractTexture; + +import org.spongepowered.asm.lib.Opcodes; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Shadow; import org.spongepowered.asm.mixin.injection.At; @@ -14,7 +16,7 @@ public class MixinAbstractTexture { public int glTextureId; // Inject after the newly-generated texture ID has been stored into the id field - @Inject(method = "getGlTextureId()I", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/renderer/texture/TextureUtil;glGenTextures()I", shift = At.Shift.BY, by = 2)) + @Inject(method = "getGlTextureId()I", at = @At(value = "FIELD", opcode = Opcodes.PUTFIELD, target = "Lnet/minecraft/client/renderer/texture/AbstractTexture;glTextureId:I", shift = At.Shift.AFTER)) private void iris$afterGenerateId(CallbackInfoReturnable cir) { TextureTracker.INSTANCE.trackTexture(glTextureId, (AbstractTexture) (Object) this); } diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/AccessorBiomeColorEvent.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/AccessorBiomeColorEvent.java index 2742ec63b..df00f91fb 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/AccessorBiomeColorEvent.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/AccessorBiomeColorEvent.java @@ -2,10 +2,13 @@ package com.gtnewhorizons.angelica.mixins.early.sodium; import net.minecraftforge.event.terraingen.BiomeEvent; import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; import org.spongepowered.asm.mixin.gen.Accessor; @Mixin(BiomeEvent.BiomeColor.class) public interface AccessorBiomeColorEvent { + + @Mutable @Accessor(value = "originalColor", remap = false) void setOriginalColor(int value); } diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinChunkProviderServer.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinChunkProviderServer.java index 83edd75c6..235c177f2 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinChunkProviderServer.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinChunkProviderServer.java @@ -8,9 +8,11 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Redirect; -@Mixin(ChunkProviderServer.class) +// run after https://github.com/embeddedt/ArchaicFix/blob/main/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinChunkProviderServer.java +// to allow this mixin to fail silently +@Mixin(value = ChunkProviderServer.class, priority = 999) public class MixinChunkProviderServer { - @Redirect(method = "originalLoadChunk", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/chunk/IChunkProvider;provideChunk(II)Lnet/minecraft/world/chunk/Chunk;", remap = true), remap = false) + @Redirect(method = "originalLoadChunk", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/chunk/IChunkProvider;provideChunk(II)Lnet/minecraft/world/chunk/Chunk;", remap = true), remap = false, expect = 0) private Chunk sodium$populateChunkWithBiomes(IChunkProvider instance, int chunkX, int chunkZ) { Chunk chunk = instance.provideChunk(chunkX, chunkZ); if(chunk != null) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinClientRegistry.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinClientRegistry.java index 3affed08b..95c035538 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinClientRegistry.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinClientRegistry.java @@ -7,12 +7,17 @@ import org.spongepowered.asm.mixin.injection.Redirect; import java.util.Map; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + @Mixin(ClientRegistry.class) public class MixinClientRegistry { + + @SuppressWarnings("unchecked") @Redirect(method = "bindTileEntitySpecialRenderer", at = @At(value = "INVOKE", target = "Ljava/util/Map;put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;"), remap = false) - private static Object skipPuttingNullRenderer(Map instance, Object key, Object value) { + private static Object skipPuttingNullRenderer(Map, TileEntitySpecialRenderer> instance, Object key, Object value) { if(value != null && key != null) { - return instance.put(key, value); + return instance.put((Class) key, (TileEntitySpecialRenderer) value); } else { return null; } diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinExtendedBlockStorage.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinExtendedBlockStorage.java deleted file mode 100644 index 81f17dda4..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinExtendedBlockStorage.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.sodium; - -import com.gtnewhorizons.angelica.mixins.interfaces.ExtendedBlockStorageAccessor; -import net.minecraft.world.chunk.storage.ExtendedBlockStorage; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -@Mixin(ExtendedBlockStorage.class) -public abstract class MixinExtendedBlockStorage implements ExtendedBlockStorageAccessor { - - @Accessor("yBase") - public abstract int getYBase(); - @Accessor("blockRefCount") - public abstract int getBlockRefCount(); - @Accessor("blockRefCount") - public abstract void setBlockRefCount(int blockRefCount); -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinMaterial.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinMaterial.java deleted file mode 100644 index 0f0b1dc94..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinMaterial.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.sodium; - -import net.minecraft.block.material.Material; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.gen.Accessor; - -@Mixin(Material.class) -public interface MixinMaterial { - - @Accessor("isTranslucent") - boolean getIsTranslucent(); -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinNibbleArray.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinNibbleArray.java deleted file mode 100644 index dcc980a46..000000000 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinNibbleArray.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.gtnewhorizons.angelica.mixins.early.sodium; - -import com.gtnewhorizons.angelica.mixins.interfaces.ExtendedNibbleArray; -import net.minecraft.world.chunk.NibbleArray; -import org.spongepowered.asm.mixin.Mixin; -import org.spongepowered.asm.mixin.Shadow; - -@Mixin(NibbleArray.class) -public abstract class MixinNibbleArray implements ExtendedNibbleArray { - @Shadow public byte[] data; - @Shadow private int depthBits; - @Shadow private int depthBitsPlusFour; - - @Override - public byte[] getData() { - return data; - } - - @Override - public int getDepthBits() { - return depthBits; - } - - @Override - public int getDepthBitsPlusFour() { - return depthBitsPlusFour; - } -} diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinRenderBlocks.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinRenderBlocks.java index a41624f7f..45530c471 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinRenderBlocks.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinRenderBlocks.java @@ -95,6 +95,7 @@ public abstract class MixinRenderBlocks { return Minecraft.isAmbientOcclusionEnabled(); } + @SuppressWarnings("deprecation") private boolean handleISBRHException(RenderBlocks rb, IBlockAccess world, int x, int y, int z, Block block, int modelId) { try { return RenderingRegistry.instance().renderWorldBlock(rb, world, x, y, z, block, modelId); diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinTileEntityRendererDispatcher.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinTileEntityRendererDispatcher.java index d82ed072a..0327b99ac 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinTileEntityRendererDispatcher.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinTileEntityRendererDispatcher.java @@ -31,10 +31,11 @@ public class MixinTileEntityRendererDispatcher { * @author embeddedt * @reason CHM doesn't allow putting null values */ + @SuppressWarnings("unchecked") @Redirect(method = "getSpecialRendererByClass", at = @At(value = "INVOKE", target = "Ljava/util/Map;put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;")) - private Object skipPuttingNullRenderer(Map instance, Object key, Object value) { + private Object skipPuttingNullRenderer(Map, TileEntitySpecialRenderer> instance, Object key, Object value) { if(value != null && key != null) { - return instance.put(key, value); + return instance.put((Class) key, (TileEntitySpecialRenderer) value); } else { return null; } diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinWorldClient.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinWorldClient.java index 8682d49b2..654b7adf3 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinWorldClient.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/early/sodium/MixinWorldClient.java @@ -1,6 +1,5 @@ package com.gtnewhorizons.angelica.mixins.early.sodium; -import me.jellysquid.mods.sodium.client.render.SodiumWorldRenderer; import me.jellysquid.mods.sodium.client.render.chunk.map.ChunkStatus; import me.jellysquid.mods.sodium.client.render.chunk.map.ChunkTracker; import me.jellysquid.mods.sodium.client.render.chunk.map.ChunkTrackerHolder; diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java index 4d2ea275c..17b16e559 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/extrautils/MixinRenderBlockConnectedTexturesEthereal.java @@ -1,6 +1,5 @@ package com.gtnewhorizons.angelica.mixins.late.client.extrautils; -import com.rwtema.extrautils.block.render.FakeRenderBlocks; import com.rwtema.extrautils.block.render.FakeRenderEtherealBlocks; import com.rwtema.extrautils.block.render.RenderBlockConnectedTextures; import com.rwtema.extrautils.block.render.RenderBlockConnectedTexturesEthereal; @@ -23,6 +22,7 @@ public abstract class MixinRenderBlockConnectedTexturesEthereal extends RenderBl * works for this system means overwriting this function to use our new non-static * FakeRenderEtherealBlocks field is about the only way to do it. */ + @Override @Overwrite(remap = false) public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { if (renderer.hasOverrideBlockTexture()) diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinBerryBush.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinBerryBush.java index f01f4625a..a92b7300a 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinBerryBush.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinBerryBush.java @@ -45,6 +45,7 @@ public abstract class MixinBerryBush extends Block implements IFaceObstructionCh * @author jss2a98aj * @reason Support new leaf rendering modes on Natura leaves. */ + @Override @Overwrite public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { if (side != 0 && maxY < 1f) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinNetherBerryBush.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinNetherBerryBush.java index ea99041c8..e4ce93992 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinNetherBerryBush.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/natura/MixinNetherBerryBush.java @@ -45,6 +45,7 @@ public abstract class MixinNetherBerryBush extends Block implements IFaceObstruc * @author jss2a98aj * @reason Support new leaf rendering modes on Natura leaves. */ + @Override @Overwrite public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { if (side != 0 && maxY < 1f) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/tconstruct/MixinOreberryBush.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/tconstruct/MixinOreberryBush.java index 19787a8fe..d13cb2311 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/tconstruct/MixinOreberryBush.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/tconstruct/MixinOreberryBush.java @@ -45,6 +45,7 @@ public abstract class MixinOreberryBush extends Block implements IFaceObstructio * @author jss2a98aj * @reason Support new leaf rendering modes on Tinker's Construct leaves. */ + @Override @Overwrite public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { if (side != 0 && maxY < 1f) { diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/thaumcraft/MixinBlockMagicalLeaves.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/thaumcraft/MixinBlockMagicalLeaves.java index e66b09dbf..0d666ba10 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/thaumcraft/MixinBlockMagicalLeaves.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/thaumcraft/MixinBlockMagicalLeaves.java @@ -27,6 +27,7 @@ public abstract class MixinBlockMagicalLeaves extends Block implements IFaceObst * @author jss2a98aj * @reason Support new leaf rendering modes on Thaumcraft leaves. */ + @Override @Overwrite public boolean shouldSideBeRendered(IBlockAccess world, int x, int y, int z, int side) { return LeafRenderUtil.shouldSideBeRendered(world, x, y, z, side); diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/witchery/MixinBlockWitchLeaves.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/witchery/MixinBlockWitchLeaves.java index 4fccfe841..8942e55b0 100644 --- a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/witchery/MixinBlockWitchLeaves.java +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/notfine/leaves/witchery/MixinBlockWitchLeaves.java @@ -18,6 +18,7 @@ public abstract class MixinBlockWitchLeaves extends BlockLeavesBase { * @author jss2a98aj * @reason Support new leaf rendering modes on Witchery leaves. */ + @Override @Overwrite public boolean isOpaqueCube() { return SettingsManager.leavesOpaque; diff --git a/src/test/java/com/gtnewhorizons/angelica/glsm/GLSM_Lighting_UnitTest.java b/src/test/java/com/gtnewhorizons/angelica/glsm/GLSM_Lighting_UnitTest.java index 48d821f87..54d4bb211 100644 --- a/src/test/java/com/gtnewhorizons/angelica/glsm/GLSM_Lighting_UnitTest.java +++ b/src/test/java/com/gtnewhorizons/angelica/glsm/GLSM_Lighting_UnitTest.java @@ -1,10 +1,8 @@ package com.gtnewhorizons.angelica.glsm; import com.gtnewhorizons.angelica.AngelicaExtension; -import org.joml.Vector3f; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; -import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12;