mirror of
https://github.com/GTNewHorizons/Angelica.git
synced 2026-10-26 14:24:30 +00:00
+4








992644c20f
* ThreadedTessellator -> RenderBlocks instance Tessellator * Plus a CME workaround until I can figure out why it's happening * One inject with multiple methods instead of two injects * Add AF's Tessellator#reset mixin Fixes screen flashing when chunks are being built * Thread Saftey * Make each tesselator use its own ByteBuffer * Don't make RecyclingList a static variable 🤦 * Add some additions via ITessellatorInstance * Stop using builtin updateRenderers * Remove a few unused things in MixinTessellator * Remove useless casting due to implementing the interface * Overwrite some more rendering methods to ensure they're not used * Implement IBlockAccess on WorldSlice * Currently just proxies to the World... need to get it to use the local cache * Make WorldSlice use its copied values instead of using the world * block, meta, and light. Still need TODO biome * Finish making WorldSlice thread safe * Remove last unsafe this.world accesses * Copy biomeData * Implement getTileEntity(), and getBiomeGenForCoords() * Remove unused 1.16+ classes - Biome, Colorizer, and ColorBlender related * Cache worldHeight instead of asking the provider every time * Debug Screen updates * Disable Culling for now (until it works) * Tessellator Updates * Use one instance on the main thread, and individual instances on every other thread * Prevent draw() and buffer.reset() on non singleton instance * Misc cleanup, maybe better growBuffer? * Fixing splash screen and GUI issues by excluding SplashProgress from GLStateManager transformer * Update docs * Fixing a one line in SodiumWorldRenderer that allows the game setting for the distance at which entities will render. Hope it's not too bad mitch :) * TileEntites now render * Less silly transparency * Removing clamp implementation because I missed the one in mathhelper * Initial sodium entity smooth lighting * Fix entity smooth lighting * Fix lerp uses and use render layers properly (#17) * Remove some uses of blockstate + patch FluidState * Fix lerp * Enable Sodium fluid rendering * Update FluidRenderer.java * Rewind buffers when copying * Fix multidraw * Force cutout on all non-translucent blocks * Let vanilla handle render pass state * Rewrite render layer check to use Forge 1.7 hook * Fix skylight handling * Fix flickering * Clone TEs correctly * Fixing entityDistMulti (I think) * Fix TEs rendering on the wrong pass * Buff max render distance to 32 Pretty useless since the integrated server stalls instantly, but our renderer supports it * Fix fog * Fix render distance changes being ignored * Implement entity culling * Block face culling * Re-enable occlusion culling * Fix x/z coordinate mixup when indexing biome arrays Partially fixes wrong biome colors, but at chunk edges it's still wrong because neighboring chunks aren't accessed * Make a copy of biome data The old code seemed to work fine but this should be safer * Make CompatMemoryUtil#memReallocDirect preserve buffer position LWJGL3's MemoryUtil#memRealloc does this, see its javadoc. Fixes screen flashing and this error getting printed when indirect buffer grows: GL_INVALID_OPERATION error generated. Bound draw indirect buffer is not large enough. * Use biome data of neighboring chunk sections Fixes wrong colors at chunk edges * Re-enable fog culling * Tile entity culling * Remove some unneeded Sodium code * Massive code cleanup * Avoids errors when usin lwjglxdebug * Bump hodgepodge dep * Add AngelicaConfig * Add Mixin to disable MC's builtin checkGLError * Add configs for iris/sodium * Iris work * Move some StateNotifiers to GLStateManager * Remove some redundant mixins based on sodium/angelica work and rendering state captures * Add Iris DebugScreenHandler * rm archaicfix's occlusion renderer and threaded updates * Implemented Sodium's GUI and a couple of setting fixes (#20) * Ported Sodium's GUI * Correct AO * Fixed Vignette * Re-enable DirectMemoryAccess * Adds some code from lwjgl3 in CompatMemoryUtil.java * Re-add *Unsafe classes * Remove MixinWorldRenderer * Add NEID (mixin pr) support * Only shadow runtime module of antlr4 Reduces jar size by 11 mb * Update NotFine * Make LongHashMap actually perform like a hash map * Options GUI Fixes and some option implementations (#22) * Correct useNoErrorGLContext option * Added translucency sorting option * Implemented Particle Culling gives real fps boost, however, it's not as big as i thought * Begin implementing animateOnlyVisibleTextures * Correct Donation page opening * Fixed Shift + P Now it uses NotFine's GUI, but it think that NotFine's GUI should be rewrited for using other config options * Correct URL's for Linux * second code cleanup in particle culling * Fix incorrect TE map population * Add optional assertMainThread behind `-Dangelica.assertMainThread=true` * Add back air optimization, but only apply to vanilla air * Implement more options (#23) * Combine free regions in GlBufferArena * Clear global block entity list when initializing renderer * AF, CompileStubs, and SplashProgress Remove most of ArchaicFix * Move a few mixins over to angelica * Disable if org.lwjgl.util.Debug is set * Only enable Iris/lwjgl debug callbacks if org.lwjgl.util.Debug is set * Rewrite Tessellator hacks - now using a ThreadLocal instead of only patching RenderBlocks * Reenable AF mixins, switch to cached debug var, disable incompatible mixins * Remove AF deps and a late mixin that was missed * Add Iris Sodium Compat impl * Fix Sodium GLProgram to use ResourceLocation instead of Identifier * Start applying Iris -> Sodium Mixins * Make NotFine menu open if holding shift * Fixed Tessellators in production env * Finish Sodium Fluid Renderer (#24) * Init and pass Sodium LightPipelines * Remove registry lookup and refactor WorldUtil * Hook up lighting pipeline * Patch fluid velocity * It's alive! Sodium Fluid Renderer is alive! * Fix face culling not taking third person camera offset into account * rewrite ACTEntityRenderer to stop transforming ALL the classes * use ClassConstantPoolParser in TessellatorTransformer to speed up search for Tessellator references * use ClassConstantPoolParser in GLStateManagerTransformer to speed up search for class references * rewrite GLStateManagerTransformer and TessellatorTransformer * merge GLStateManagerTransfor and TessellatorTransformer into one Transformer * Fixed smooth lighting rendering * Iris block_id Mixins & BlockStateIdMap initial impl for 1.7.10 * Fix running with lwjgl debug flag & Cleanup old ShadersMod transformers * Initialize GLStateManager via Mixins instead of all in the static block * Clean up chunk load/unload tracking, fix chunks rendering without neighbors sometimes * Fix occlusion culler not re-running after important uploads Backport of https://github.com/CaffeineMC/sodium-fabric/pull/755 * Add chunks to queues without going through occlusion culler Partially reverts the previous chunk tracking commit, because that logic will reintroduce https://github.com/CaffeineMC/sodium-fabric/issues/605 As long as we only rebuild with neighbors present, we shouldn't see the visual seams * Extremely primitive synchronization approach for ISBRH * Use factory for Spdium menu createElement outputs This will allow NotFine to use Sodium menu elements and vice versa in a future commit. * Splash Screen Compat * Separate remaining NamedState enums * NotFine but it loads Sodium pages * Hook up NotFine optimizations * Hook up some NotFine features * copy over hud caching code from hodgepodge * backport glstatemanager mixin * Track thread that currently owns the GL Context in addition to the main thread. * First pass over FontRenderer, 1300->1400 FPS on my GPU when showing F3 Done: - A batching vertex buffer builder for font output - Reduction in drawcalls from 1-3 per character to 1 per font atlas switch - Mixin to draw the entire F3 screen in one batch, instead of separate batches per line TODO: - Switch drawing to a VBO - Cache string meshes across frames - Cache string width calculations used for layouts - Multidraw to reduce draw calls even further * Add JVM flag to bypass GL state caching * Push/Pop Attrib Hacks -- to be evolved later * Fix FontRenderer+SplashScreen combo * HUDCaching tweaks * Add license * Jabba Compat, and reset tesselator state even if the chunk render thread blows up * Initial Xaero's World Map + Minimap Support * Disable Fastcraft & Optifine if present * Iris Progress * Wire up more Iris mixins, informing pipeline stages. Still not rendering anything visible. * Don't try to transform the server * Avoid running biome generator on client in singleplayer * Call world biome retrieval methods instead of copying array directly (#25) * Shaders now do something! * Shadow Pass work * First shadow pass renders; however it moves all around when moving the camera... * Second shadow pass not running because it makes everything very very dark instead of just rendering translucents * Actually use the ShadowRenderer Model View when running the shadow pass... * Enable Sodium SmoothLightPipeline & Iris useSeparateAo * Avoid repeatedly copying biome data on each Y level (#27) * Celestial Rotation fixes * Water progress * Uniforms audit * Lightmap workaround * PBR compiling, stuck on Normal and Specular textures being added in * Shaderpack selection "works"; ShaderOptions TODO * Hud caching angelica (#28) * Potential hud-caching fix * Shader Options almost working ** Clicking on everything doesn't yet work, and the visuals are slightly off * Entity shadows seem to be working * Move glint fix to Mixin * Rework mouse handling for ShaderPackConfig * Stop centering shader options vertically * Angelica pbr (#31) * Only use Sodium light pipeline if useSeparateAo is on Sodium pipeline is still very buggy, so isolate it to Iris-only for now * Fix region sorting for translucency * Open Shaderpack now works on Linux * RM Shadersmod * Initial iris scrollbar clicking * Punt unsupported ISBRHs to the main thread * Delete the ISBRH lock, shouldn't be needed anymore * Render GT blocks on main thread * Require CCC 1.2.0+ * Depend on CCC 1.2 * Fix TESRs not being tracked for blocks rendered on main thread * Cut down number of runtime dependencies, enable CoreTweaks in dev by default * Add modern F3 background * Pull over some hodgepodge mixins --------- Co-authored-by: makamys <makamys@outlook.com> Co-authored-by: embeddedt <42941056+embeddedt@users.noreply.github.com> Co-authored-by: rjnasers <rjnasers@iastate.edu> Co-authored-by: ah-OOG-ah <75745146+ah-OOG-ah@users.noreply.github.com> Co-authored-by: Ryan Nasers <ryannasersgig@gmail.com> Co-authored-by: Rad <radoslaw.ryszka006@gmail.com> Co-authored-by: Bogdan <64613894+Asek3@users.noreply.github.com> Co-authored-by: Caedis <Caedis@users.noreply.github.com> Co-authored-by: jss2a98aj <jss2a98aj@gmail.com> Co-authored-by: Alexdoru <57050655+Alexdoru@users.noreply.github.com> Co-authored-by: Raven Szewczyk <git@eigenraven.me> Co-authored-by: mist475 <70655895+mist475@users.noreply.github.com> Co-authored-by: Ryan Nasers <42074409+Cardinalstars@users.noreply.github.com>
149 lines
7.7 KiB
Properties
149 lines
7.7 KiB
Properties
modName = Angelica
|
|
|
|
# This is a case-sensitive string to identify your mod. Convention is to use lower case.
|
|
modId = angelica
|
|
|
|
modGroup = com.gtnewhorizons.angelica
|
|
|
|
# WHY is there no version field?
|
|
# The build script relies on git to provide a version via tags. It is super easy and will enable you to always know the
|
|
# code base or your binary. Check out this tutorial: https://blog.mattclemente.com/2017/10/13/versioning-with-git-tags/
|
|
|
|
# Will update your build.gradle automatically whenever an update is available
|
|
autoUpdateBuildScript = false
|
|
|
|
minecraftVersion = 1.7.10
|
|
forgeVersion = 10.13.4.1614
|
|
|
|
# Specify a MCP channel and mappings version for dependency deobfuscation and the deobfParams task.
|
|
channel = stable
|
|
mappingsVersion = 12
|
|
|
|
# Define other MCP mappings for dependency deobfuscation
|
|
remoteMappings = https://raw.githubusercontent.com/MinecraftForge/FML/1.7.10/conf/
|
|
|
|
# Select a username for testing your mod with breakpoints. You may leave this empty for a random username each time you
|
|
# restart Minecraft in development. Choose this dependent on your mod:
|
|
# Do you need consistent player progressing (for example Thaumcraft)? -> Select a name
|
|
# Do you need to test how your custom blocks interacts with a player that is not the owner? -> leave name empty
|
|
developmentEnvironmentUserName = Developer
|
|
|
|
# Enables using modern java syntax (up to version 17) via Jabel, while still targetting JVM 8.
|
|
# See https://github.com/bsideup/jabel for details on how this works.
|
|
enableModernJavaSyntax = true
|
|
|
|
# Enables injecting missing generics into the decompiled source code for a better coding experience
|
|
# Turns most publically visible List, Map, etc. into proper List<Type>, Map<K, V> types
|
|
enableGenericInjection = true
|
|
|
|
# Define a source file of your project with:
|
|
# public static final String VERSION = "GRADLETOKEN_VERSION";
|
|
# The string's content will be replaced with your mod's version when compiled. You should use this to specify your mod's
|
|
# version in @Mod([...], version = VERSION, [...])
|
|
# Leave these properties empty to skip individual token replacements
|
|
generateGradleTokenClass = com.gtnewhorizons.angelica.Tags
|
|
gradleTokenModId =
|
|
gradleTokenModName =
|
|
gradleTokenVersion = VERSION
|
|
gradleTokenGroupName =
|
|
# [DEPRECATED]
|
|
# Multiple source files can be defined here by providing a comma-seperated list: Class1.java,Class2.java,Class3.java
|
|
# public static final String VERSION = "GRADLETOKEN_VERSION";
|
|
# The string's content will be replaced with your mod's version when compiled. You should use this to specify your mod's
|
|
# version in @Mod([...], version = VERSION, [...])
|
|
# Leave these properties empty to skip individual token replacements
|
|
replaceGradleTokenInFile =
|
|
|
|
# In case your mod provides an API for other mods to implement you may declare its package here. Otherwise, you can
|
|
# leave this property empty.
|
|
# Example value: apiPackage = api + modGroup = com.myname.mymodid -> com.myname.mymodid.api
|
|
apiPackage =
|
|
|
|
# Specify the configuration file for Forge's access transformers here. It must be placed into /src/main/resources/META-INF/
|
|
# There can be multiple files in a comma-separated list.
|
|
# Example value: mymodid_at.cfg,nei_at.cfg
|
|
accessTransformersFile = angelica_at.cfg notfine_at.cfg archaicfix_at.cfg
|
|
|
|
# Provides setup for Mixins if enabled. If you don't know what mixins are: Keep it disabled!
|
|
usesMixins = true
|
|
# Adds some debug arguments like verbose output and export
|
|
usesMixinDebug = false
|
|
# Specify the location of your implementation of IMixinConfigPlugin. Leave it empty otherwise.
|
|
mixinPlugin =
|
|
# Specify the package that contains all of your Mixins. You may only place Mixins in this package or the build will fail!
|
|
mixinsPackage = mixins
|
|
# Specify the core mod entry class if you use a core mod. This class must implement IFMLLoadingPlugin!
|
|
# This parameter is for legacy compatibility only
|
|
# Example value: coreModClass = asm.FMLPlugin + modGroup = com.myname.mymodid -> com.myname.mymodid.asm.FMLPlugin
|
|
coreModClass = loading.AngelicaTweaker
|
|
# If your project is only a consolidation of mixins or a core mod and does NOT contain a 'normal' mod ( = some class
|
|
# that is annotated with @Mod) you want this to be true. When in doubt: leave it on false!
|
|
containsMixinsAndOrCoreModOnly = false
|
|
|
|
# Enables Mixins even if this mod doesn't use them, useful if one of the dependencies uses mixins.
|
|
forceEnableMixins = false
|
|
|
|
# If enabled, you may use 'shadowCompile' for dependencies. They will be integrated in your jar. It is your
|
|
# responsibility check the licence and request permission for distribution, if required.
|
|
usesShadowedDependencies = true
|
|
# If disabled, won't remove unused classes from shaded dependencies. Some libraries use reflection to access
|
|
# their own classes, making the minimization unreliable.
|
|
minimizeShadowedDependencies = true
|
|
# If disabled, won't rename the shadowed classes.
|
|
relocateShadowedDependencies = true
|
|
|
|
# Adds the GTNH maven, CurseMaven, IC2/Player maven, and some more well-known 1.7.10 repositories
|
|
includeWellKnownRepositories = true
|
|
|
|
# Publishing to modrinth requires you to set the MODRINTH_TOKEN environment variable to your current modrinth API token.
|
|
|
|
# The project's ID on Modrinth. Can be either the slug or the ID.
|
|
# Leave this empty if you don't want to publish on Modrinth.
|
|
modrinthProjectId =
|
|
|
|
# The project's relations on Modrinth. You can use this to refer to other projects on Modrinth.
|
|
# Syntax: scope1-type1:name1;scope2-type2:name2;...
|
|
# Where scope can be one of [required, optional, incompatible, embedded],
|
|
# type can be one of [project, version],
|
|
# and the name is the Modrinth project or version slug/id of the other mod.
|
|
# Example: required-project:fplib;optional-project:gasstation;incompatible-project:gregtech
|
|
# Note: GTNH Mixins is automatically set as a required dependency if usesMixins = true
|
|
modrinthRelations =
|
|
|
|
|
|
# Publishing to CurseForge requires you to set the CURSEFORGE_TOKEN environment variable to one of your CurseForge API tokens.
|
|
|
|
# The project's numeric ID on CurseForge. You can find this in the About Project box.
|
|
# Leave this empty if you don't want to publish on CurseForge.
|
|
curseForgeProjectId =
|
|
|
|
# The project's relations on CurseForge. You can use this to refer to other projects on CurseForge.
|
|
# Syntax: type1:name1;type2:name2;...
|
|
# Where type can be one of [requiredDependency, embeddedLibrary, optionalDependency, tool, incompatible],
|
|
# and the name is the CurseForge project slug of the other mod.
|
|
# Example: requiredDependency:railcraft;embeddedLibrary:cofhlib;incompatible:buildcraft
|
|
# Note: GTNH Mixins is automatically set as a required dependency if usesMixins = true
|
|
curseForgeRelations =
|
|
|
|
|
|
# Optional parameter to customize the produced artifacts. Use this to preserver artifact naming when migrating older
|
|
# projects. New projects should not use this parameter.
|
|
# customArchiveBaseName =
|
|
|
|
# Optional parameter to prevent the source code from being published
|
|
# noPublishedSources =
|
|
|
|
# Uncomment this to disable spotless checks
|
|
# This should only be uncommented to keep it easier to sync with upstream/other forks.
|
|
# That is, if there is no other active fork/upstream, NEVER change this.
|
|
# Disabling to make easier to sync if some of the additional mods get any changes upstream
|
|
disableSpotless = true
|
|
|
|
# Override the IDEA build type. Valid value is "" (leave blank, do not override), "idea" (force use native IDEA build), "gradle"
|
|
# (force use delegated build).
|
|
# This is meant to be set in $HOME/.gradle/gradle.properties.
|
|
# e.g. add "systemProp.org.gradle.project.ideaOverrideBuildType=idea" will override the build type to be always native build.
|
|
# WARNING: If you do use this option, it will overwrite whatever you have in your existing projects. This might not be what you want!
|
|
# Usually there is no need to uncomment this here as other developers do not necessarily use the same build type as you.
|
|
# ideaOverrideBuildType = idea
|