MCPcopy Index your code
hub / github.com/PorkStudios/FarPlaneTwo

github.com/PorkStudios/FarPlaneTwo @0.0.1.617

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.0.1.617 ↗ · + Follow
3,583 symbols 9,008 edges 484 files 1,075 documented · 30% updated 4mo ago0.0.1.617 · 2022-02-16★ 1,44962 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

FarPlaneTwo

Build Status GitHub code size in bytes Lines of code Discord Patreon badge

This is a Minecraft mod which implements a Level-of-Detail (LoD) terrain renderer into the game. The name is in reference to Foghrye4's CWGFarPlaneView, which is an addon for CubicWorldGen (which, in turn, is an addon for Cubic Chunks) which renders a plane at sea level with block and biome colors, and served as the original inspiration for me to make this. This mod is a work in progress! If you do decide to download this, don't expect stuff to work correctly because it probably won't.

Remember to Read the FAQ first!

Installation

This is a Forge mod for Minecraft 1.12.2. Other versions WILL be supported in the future. 1) Install Minecraft Forge for Minecraft 1.12.2. 2) Download the mod. 3) Download these dependencies too: - ForgeRocks - Mixin

For best results use cubic chunks and cubic world gen and set the world type to custom cubic.

(Cubic Chunks bundles Mixin inside it, so don't use both cubic chunks and mixin together.) - Cubic Chunks - Cubic World Gen

Some of the above pages should look a lot like this:

download1

There can be a lot of links on these pages. Click on the first one underneath "Last Successful Artifacts".

Goals and Motivations

My end goal is to achieve the following:

  • be able to use render distances of at least 100 thousand blocks
  • cause at most a 25% decrease in performance when using my i5-2520M's integrated graphics
  • be compatible with Cubic Chunks
  • be as compatible as reasonably possible with other mods

I have exactly zero concern with doing stuff that is unsafe: for instance, the client-side render tree, which the renderer traverses when deciding which tiles to render each frame, is implemented entirely using off-heap memory.

At some point (once the internals of the mod are more polished) I'll probably write up a big section here describing exactly how a lot of the stuff works.

Extension points exported contracts — how you extend this code

StateFaceQuadRenderer (Interface)
@author DaPorkchop_ [10 implementers]
src/main/java/net/daporkchop/fp2/client/TexUVs.java
IDrawCommand (Interface)
@author DaPorkchop_ [14 implementers]
src/main/java/net/daporkchop/fp2/client/gl/command/IDrawCommand.java
IBiomeAccess (Interface)
Provides read-only access to biomes. @author DaPorkchop_ [13 implementers]
src/main/java/net/daporkchop/fp2/compat/vanilla/IBiomeAccess.java
IJavaPaddedLayer (Interface)
Extension of IPaddedLayer for Java implementations. @author DaPorkchop_ [10 implementers]
src/main/java/net/daporkchop/fp2/compat/vanilla/biome/layer/java/IJavaPaddedLayer.java
INativePaddedLayer (Interface)
Extension of IPaddedLayer for native implementations. @author DaPorkchop_ [11 implementers]
src/main/java/net/daporkchop/fp2/compat/vanilla/biome/layer/c/INativePaddedLayer.java

Core symbols most depended-on inside this repo

get
called by 173
src/main/java/net/daporkchop/fp2/util/registry/OrderedRegistry.java
put
called by 114
src/main/java/net/daporkchop/fp2/mode/common/server/storage/rocksdb/RocksStorage.java
sq
called by 90
src/main/java/net/daporkchop/fp2/util/math/MathUtil.java
forEach
called by 82
src/main/java/net/daporkchop/fp2/util/datastructure/SimpleSet.java
map
called by 77
src/main/java/net/daporkchop/fp2/client/gl/object/GLBuffer.java
getId
called by 76
src/main/java/net/daporkchop/fp2/compat/vanilla/FastRegistry.java
size
called by 72
src/main/java/net/daporkchop/fp2/client/gl/vertex/buffer/IVertexBuilder.java
stream
called by 68
src/main/java/net/daporkchop/fp2/util/registry/OrderedRegistry.java

Shape

Method 2,876
Class 460
Function 124
Interface 109
Enum 14

Languages

Java95%
C++5%

Modules by API surface

src/main/java/net/daporkchop/fp2/util/datastructure/RecyclingArrayDeque.java48 symbols
src/main/java/net/daporkchop/fp2/client/gl/vertex/attribute/VertexAttributesImpl.java39 symbols
src/main/native/compat/vanilla/biome/layer/c/NativeFastLayer.h38 symbols
src/main/java/net/daporkchop/fp2/util/Constants.java37 symbols
src/main/java/net/daporkchop/fp2/client/gl/shader/Preprocessor.java36 symbols
src/main/java/net/daporkchop/fp2/util/threading/scheduler/SharedFutureScheduler.java34 symbols
src/main/java/net/daporkchop/fp2/compat/cc/cube/CubeWithoutWorld.java34 symbols
src/main/java/net/daporkchop/fp2/mode/common/server/tracking/AbstractTrackerManager.java32 symbols
src/test/java/compat/vanilla/biome/TestFastBiomeGen.java31 symbols
src/main/java/net/daporkchop/fp2/compat/cc/asyncblockaccess/CCAsyncBlockAccessImpl.java28 symbols
src/main/java/net/daporkchop/fp2/compat/cwg/noise/NativeCWGNoiseProvider.java24 symbols
src/main/java/net/daporkchop/fp2/client/gui/element/GuiRenderModeButton.java24 symbols

For agents

$ claude mcp add FarPlaneTwo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact