opencubicchunks / cubicworldgen Goto Github PK
View Code? Open in Web Editor NEWCustomizable CubicChunks world generation
License: MIT License
Customizable CubicChunks world generation
License: MIT License
Ive had this thought that i wanted some sort of Block to be more frequent the deeper i go, this could be used to allow Lava to generate as a danger deep below the ground. Possible settings could be where it would start, which direction it would increase towards, like downwards or upwards, minimum frequency, max frequency and when it would reach the max frequency
This could add to the variety of ore gen possibilities along with Uniform and Periodic Gaussian.
It should be possible to configure the limit of how deep dirt (and sand, etc.) layers can generate from the surface of the world.
I'm attempting to build the plugin from source (to get around the world preset reset issue) and I've cloned the repo but when running a gradle command, there are errors within the gradle buildfile. I've made sure that the submodule is downloaded too and I'm using Java 8 (1.8.0_221)
These errors occur when I run any gradle command (I started off trying ./gradlew setupCiWorkspace
)
FAILURE: Build failed with an exception.
* Where:
Build file '...\CubicWorldGen\build.gradle.kts' line: 50
* What went wrong:
Script compilation errors:
Line 050: isSnapshot = true
^ Unresolved reference: isSnapshot
Line 114: filePattern = "%s.mixins.json"
^ Unresolved reference: filePattern
Line 115: defaultRefmap = "cubicgen.refmap.json"
^ Unresolved reference: defaultRefmap
Line 116: defaultCompatibilityLevel = "JAVA_8"
^ Unresolved reference: defaultCompatibilityLevel
Line 117: defaultMinVersion = "0.7.10"
^ Unresolved reference: defaultMinVersion
Line 119: config("cubicgen") {
^ Unresolved reference: config
Line 120: required = true
^ Unresolved reference: required
Line 121: packageName = "io.github.opencubicchunks.cubicchunks.cubicgen.asm.mixin"
^ Unresolved reference: packageName
Line 122: conformVisibility = true
^ Unresolved reference: conformVisibility
Line 123: injectorsDefaultRequire = 1
^ Unresolved reference: injectorsDefaultRequire
Line 124: configurationPlugin = "io.github.opencubicchunks.cubicchunks.cubicgen.asm.CubicGenMixinConfig"
^ Unresolved reference: configurationPlugin
11 errors
Currently, either all or only one biome can be selected to generate within a customcubic world. While this is close to vanilla, it would be better if we could select which biomes will generate in the world, similarly to ore generation in certain biomes. (The default settings would also have biomes such as FrozenOcean unchecked, which is more accurate than misleadingly saying "All" biomes.)
When selecting a CustomCubic World type, the Enable/Disable Cubic Button disappears, but when entering the Customize menu and leaving it again, the Button reappears, even with the still selected CustomCubic World Type.
This issue may be caused by the Main mod and not this, but since it only happens when this mod is used, I'm reporting it here for now.
no matter what i do, it crashes when i click customise
The game crash every time I click on "Customize" when creating a new world, "CustomCubic" world type is selected.
Crashlog :
`
---- Minecraft Crash Report ----
WARNING: coremods are present:
CubicGenCoreMod (CubicWorldGen-1.12.2-0.0.39.1-SNAPSHOT-all.jar)
MalisisCorePlugin (malisiscore-1.12.2-6.5.1.jar)
CubicChunksCoreMod (CubicChunks-1.12.2-0.0.970.0-SNAPSHOT-all.jar)
Contact their authors BEFORE contacting forge
// You should try our sister game, Minceraft!
Time: 11/23/19 7:29 PM
Description: Updating screen events
java.lang.NoSuchMethodError: net.malisis.core.client.gui.component.interaction.UITextField.setValidator(Lcom/google/common/base/Predicate;)Lnet/malisis/core/client/gui/component/interaction/UITextField;
at io.github.opencubicchunks.cubicchunks.cubicgen.common.gui.MalisisGuiUtils.floatInput(MalisisGuiUtils.java:243)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.gui.AdvancedTerrainShapeTab.(AdvancedTerrainShapeTab.java:125)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.gui.CustomCubicGui.reinit(CustomCubicGui.java:100)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.gui.CustomCubicGui.construct(CustomCubicGui.java:92)
at net.malisis.core.client.gui.MalisisGui.doConstruct(MalisisGui.java:150)
at net.malisis.core.client.gui.MalisisGui.display(MalisisGui.java:705)
at net.malisis.core.client.gui.MalisisGui.display(MalisisGui.java:694)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.CustomCubicWorldType.onCustomizeButton(CustomCubicWorldType.java:104)
at net.minecraft.client.gui.GuiCreateWorld.func_146284_a(GuiCreateWorld.java:317)
at net.minecraft.client.gui.GuiScreen.func_73864_a(GuiScreen.java:443)
at net.minecraft.client.gui.GuiCreateWorld.func_73864_a(GuiCreateWorld.java:416)
at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:533)
at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:501)
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1759)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
-- Head --
Thread: Client thread
Stacktrace:
at io.github.opencubicchunks.cubicchunks.cubicgen.common.gui.MalisisGuiUtils.floatInput(MalisisGuiUtils.java:243)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.gui.AdvancedTerrainShapeTab.(AdvancedTerrainShapeTab.java:125)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.gui.CustomCubicGui.reinit(CustomCubicGui.java:100)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.gui.CustomCubicGui.construct(CustomCubicGui.java:92)
at net.malisis.core.client.gui.MalisisGui.doConstruct(MalisisGui.java:150)
at net.malisis.core.client.gui.MalisisGui.display(MalisisGui.java:705)
at net.malisis.core.client.gui.MalisisGui.display(MalisisGui.java:694)
at io.github.opencubicchunks.cubicchunks.cubicgen.customcubic.CustomCubicWorldType.onCustomizeButton(CustomCubicWorldType.java:104)
at net.minecraft.client.gui.GuiCreateWorld.func_146284_a(GuiCreateWorld.java:317)
at net.minecraft.client.gui.GuiScreen.func_73864_a(GuiScreen.java:443)
at net.minecraft.client.gui.GuiCreateWorld.func_73864_a(GuiCreateWorld.java:416)
at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:533)
at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:501)
-- Affected screen --
Details:
Screen name: net.minecraft.client.gui.GuiCreateWorld
Stacktrace:
at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1759)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
-- System Details --
Details:
Minecraft Version: 1.12.2
Operating System: Windows 10 (amd64) version 10.0
Java Version: 1.8.0_51, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 1052191240 bytes (1003 MB) / 1509949440 bytes (1440 MB) up to 4294967296 bytes (4096 MB)
JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx4G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.42 Powered by Forge 14.23.5.2838 8 mods loaded, 7 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
| State | ID | Version | Source | Signature |
|:------ |:--------------- |:------------------------- |:---------------------------------------------- |:---------------------------------------- |
| LCHIJA | minecraft | 1.12.2 | minecraft.jar | None |
| LCHIJA | mcp | 9.42 | minecraft.jar | None |
| LCHIJA | FML | 8.0.99.99 | forge-1.12.2-14.23.5.2838.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCHIJA | forge | 14.23.5.2838 | forge-1.12.2-14.23.5.2838.jar | e3c3d50c7c986df74c645c0ac54639741c90a557 |
| LCHIJA | cubicchunks | 1.12.2-0.0.970.0-SNAPSHOT | CubicChunks-1.12.2-0.0.970.0-SNAPSHOT-all.jar | None |
| LCHIJA | cubicgen | 1.12.2-0.0.39.1-SNAPSHOT | CubicWorldGen-1.12.2-0.0.39.1-SNAPSHOT-all.jar | None |
| LCHIJA | malisiscore | 1.12.2-6.5.1-SNAPSHOT | malisiscore-1.12.2-6.5.1.jar | None |
| UD | cubicchunkscore | @@VERSION@@ | minecraft.jar | None |
Loaded coremods (and transformers):
CubicGenCoreMod (CubicWorldGen-1.12.2-0.0.39.1-SNAPSHOT-all.jar)
MalisisCorePlugin (malisiscore-1.12.2-6.5.1.jar)
CubicChunksCoreMod (CubicChunks-1.12.2-0.0.970.0-SNAPSHOT-all.jar)
GL info: ' Vendor: 'Intel' Version: '4.3.0 - Build 20.19.15.4835' Renderer: 'Intel(R) HD Graphics 4400'
Launched Version: 1.12.2-forge1.12.2-14.23.5.2838
LWJGL: 2.9.4
OpenGL: Intel(R) HD Graphics 4400 GL version 4.3.0 - Build 20.19.15.4835, Intel
GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.
Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs:
Current Language: English (US)
Profiler Position: N/A (disabled)
CPU: 4x Intel(R) Core(TM) i3-4010U CPU @1.70GHz
`
This will allow users to understand what each option does, currently all of them are left unexplained
I have the option for the Farlands to generate, but they wont. I also have Cubic Chunks so I'm not sure what it is that is casing this issue
Lapis Lazuli is a material needed for enchanting and coloring. It shouldn't be all over mines, but at least not THIS rare.
My 7x7 tunnel has now reached level -255. So far i have found about two stacks of diamonds and 15 lapis lazuli. Wtf.
At least make it as "common" as diamonds...
Can't change my worlds settings, i have put many hours into because it is, logically, already generated.
Currently customisation of water and lava lakes is more or less identical to that of vanilla. I think that instead, lake customisation should be made more in-depth similar to ore customization, especially since mods add their own lakes (e.g. biome-specific Biomes O' Plenty poison lakes) which may not generate in CustomCubic by default.
Forge:2613
Malisis: 6.3.2
Build: 822
-Tooltips can go off-screen
-When changing MC screen size, list goes blank until you set to what it was before (maximize button) or scroll
-Huge memory use increase, but drops and gets stable after loading all entities at least once
-Some blocks are invisible
-Its loading multiblock entities too
Happens with other modded block entities too, from what i noticed, its the ones that change when connected to another (i.e. CoFH thermal conduits)
I used a preset that was made for Thermal Expansion ores as it doesnt generate them normally but when i removed the mod and used the same preset again, it still tries to generate the ores but since they dont exist anymore, Minecraft replace them with air making the world filled with holes.
I suggest to add something to prevent it from attempting to generate them at all.
Preset with TE Ores.txt
The Far Lands mod for 1.14 (https://github.com/polgaria/FarLands) includes estimated distances of where each noise generator overflows, based on the provided Coordinate Scale and Height Scale:
It would be handy for CustomCubic to also calculate and display these values in some manner, for each axis and noise generator type where possible.
Since liquids are split from blocks in 1.14, it may be a good idea to only allow liquids to be accepted as valid ocean fillers.
Some examples:
Immediate surface layer (grass block in most cases, mycelium in mushroom biomes, and sometimes coarse dirt or podzol in some other biomes)
Layer directly underneath surface (dirt)
Desert sand layer
Desert sandstone layer
Bedrock layer
Red sand in mesas
Many different clay colours in mesas
Ice layer in frozen biomes
Currently caves have no lava.
What would be a good way to implement it that woudln't make all caves below a certain point always completely filled with lava?
It has been found that presets from the oldest versions of the cc preset system don't provide the same results in the current system as they used to.
The case in point that will be used here is the Preset for Technoturnover's original Sky Island CC Test server. When used with the current preset system the kind of map that used to be created no longer occurs.
The pertinent part of the old Preset is listed here, the full version is in the attached .txt file:
"heightVariationFactor":64.0,
"specialHeightVariationFactorBelowAverageY":3.5,
"heightVariationOffset":0.3,
"heightFactor":224.0,
"heightOffset":1.0,
"depthNoiseFactor":0.128,
"depthNoiseOffset":-768.0,
"depthNoiseFrequencyX":4.359654E-4,
"depthNoiseFrequencyZ":4.6950122E-4,
"depthNoiseOctaves":16,
"selectorNoiseFactor":5.1,
"selectorNoiseOffset":-0.28125,
"selectorNoiseFrequencyX":0.0074263457,
"selectorNoiseFrequencyY":0.008928572,
"selectorNoiseFrequencyZ":0.0069444445,
"selectorNoiseOctaves":4,
"lowNoiseFactor":1.0,
"lowNoiseOffset":-9.0,
"lowNoiseFrequencyX":0.030380502,
"lowNoiseFrequencyY":0.027848795,
"lowNoiseFrequencyZ":0.02,
"lowNoiseOctaves":1,
"highNoiseFactor":11.0,
"highNoiseOffset":1.3125,
"highNoiseFrequencyX":8.3333335E-4,
"highNoiseFrequencyY":0.0046296297,
"highNoiseFrequencyZ":6.5270613E-4,
"highNoiseOctaves":16
Stuff about caves (i.e. normal caves, normal ravines, underwater caves and underwater ravines) should be able to be configured, given that they're a very prominent part of the underground, which CC adds a lot of. Would be added to the menu in #23
Some examples:
Lava ocean level in caves, and replacing it with water or other liquids (#27) - maybe in 1.14+ regular caves and underwater caves could possibly be made configurable independently of each other?
How long caves go on for - potentially could result in undergrounds like this: https://youtu.be/bbeg3zeNRwE
How much caves curve - maybe allowing for caves like this?: https://youtu.be/6JXofi0bugE
1.13+: block replacer for layer of obsidian and magma blocks generated at lava level in underwater caves and ravines
Certain mods add liquids that flow upwards instead of downwards. An option to allow "anti-oceans" to generate, where every air block above a specified Y-axis is replaced by an upwards flowing liquid, could be useful for world designing.
Currently it's only possible with sloders/checkboxes/selection lists. This limits the range of possible values. Separate tab with all the options listed as text fields should be added.
The code to allow for configuring them already exists but isn't used to make any GUI.
After playing around with cubic generation for a bit, I noticed villages and ocean monuments weren't generating. /locate failing to find anything confirmed this. I also tried default worlds with cubic chunks enabled. The issue was not present in the default world. It seems to affect custom cubic worlds, regardless of settings.
Forge: 1.12.2: 14.23.5.2847
Cubic Chunks Version: 1.12.2-0.0.970.0-SNAPSHOT
Cubic World Generation: 1.12.2-0.0.39.1-SNAPSHOT
I'm experiencing an issue where the custom_generator_settings.json
file is reset the default world generation settings just after the world is generated using a custom preset. As soon as the file is created, it is loaded with the default options. The game keeps the correct preset in memory (it seems), but as soon as the player leaves and rejoins the world, the incorrect default settings are loaded from the file. With servers, the file is reset as soon as the server generates the world for the first time. If the json file is manually replaced before the server loads, it saves the incorrect default options over the preset after loading the world.
There are no console errors when loading the world normally or when generating it for the first time. I can post a full log though if you think it might help.
Thanks in advance :)
I was trying to port one vanilla custom world preset and i got a high and smooth mountains world, would be great to have a world where you con go to very high through big island and mountains, and have great caves far down? I am thinking about that world types!
And Flat and Customized Cube world shareable presets, of course.
A much lower priority than nether CC support (#42), but could be something worth looking into.
Issues that need solving:
Main island - should it be moved so that the portal blocks are at y=0?
The Void - Since in vanilla, death by falling into the void is one of the core design elements of the End, and since Cubic Chunks effectively makes the void inaccessible in normal gameplay, this needs to be taken into consideration. Either the End should stick with using linear chunks and a 256 height limit (which is what is currently done, but I find this to be inconsistent with the other two dimensions and rather restrictive), move the islands billions of blocks down towards the void level (effectively brings back the void, but floating point precision issues could become large problems), or to overhaul End generation for Cubic Chunks, allowing islands to spawn at all y-levels, forming a sphere around the central island so that falling off would likely result in death by fall damage (reworking the terrain generation would likely take lots of work, but this is the solution I'd prefer).
Currently, there is no way to disable the generation of water and lava springs which appear on the sides of stone surfaces in the world. An option for this at the very least would come in handy. Something that allows them to be customized to the extent of ore veins, so modded liquids can also be made to generate, would also be interesting, however this likely isn't high priority at all, so a toggle would do.
There are no structures like villages, strongholds or abandoned mineshafts yet.
Currently CustomCubic is very slow. This needs to change.
It might be useful for the euclidean patches of sand, gravel and clay that generate underwater to be made customizable to some extent, possibly to the extent of ore veins, or possibly just to be made toggleable.
The parameters that would need to be adjustable for each disc type would be as follows:
We can currently specify the limits on the Y-axis in which ores can and cannot generate. Could similar options be added so that we can configure ores to only generate before/after certain points on the X and Z axes in much the same way?
The following features in world generation use noise values that cannot yet be configured, but should:
Swampland noise
Mesa clay band offset noise
Mesa noise pillar
Flower distribution noise
Other biome-specific features that use noise generators which cannot yet be configured (can these be clarified?)
In versions prior to Cubic Chunks 1010, and when the End dimension is configurated to be cubic (not the default), the central island in the End dimension would properly be featuered with an (unactivated) exit portal frame.
Since Cubic Chunks 1010, it no longer generates in cubic End dimensions. Possibly noteworthy:
-The 10 obsidian pillars generate normally. No issues here.
-The enderdragon spawns normally. No issues here.
-Upon slaying the enderdragon, no exit portal is (re)generated. The dragon egg simply generates on the surface block of X=0, Z=0.
-The end dimension is properly cubic. Blocks can be placed below Y=0 and above Y=256. No issues here.
-In conjunction with the Better Portals mod, the mod appears to search for the not present exit portal, and in doing so it tries to load in massive amount of cubes on the Y axis. This causes the memory to run out.
Add tab with advanced cave and ravine settings.
So i've just crafted my sixth diamond pickaxe and have about 40 diamonds left in my chest.
I am digging a big 7x7 tunnel through the earth (for every 2 blocks on x axis, i go 1 block down).
I am now at level -180.
Still haven't been able to go to the nether because i just can't find any lava. Not in the overworld, neither in caves, and also not while digging my now 250 block deep, 500 block long tunnel.
I created the world without maliases, because i was going to leave everything at default anyways.
I just checked the world arguments in notepad and it says:
"lavaLakes":true, "lavaLakeRarity":8, "aboveSeaLavaLakeRarity":13, "lavaOceans":false
I am really considering just spawning some lava into the world wtf..
It could be useful for map generation to modify certain aspects about the bedrock layers:
Whether or not it generates at all.
Bedrock ceiling: is present in the Nether (see #42), so will also have to be taken into account.
Composition of the bedrock layer. Could be achieved through a simple block replacer (see #52).
How many layers of bedrock are to be generated. Currently heightAboveBottom must be less than 5 for bedrock to be eligible to generate, so this could be made configurable.
How quickly bedrock thins out going up from the bottom. Not sure about how this would be made configurable.
Bedrock walls: Not too sure about this one. These were present at the edge of old Console Edition worlds, but I'm not sure how useful these would be in a CWG context, aside from maybe just a fancier world border which would either way be incredibly difficult to come across in normal gameplay anyway.
This is a bit of a crackpot idea, but how about making tree generation customizable to some extent? I'm not sure exactly how, but there's a lot of different types of trees that generate across the world, and being able to toggle them on or off, allowing them to spawn in certain different biomes, and creating new custom tree types could pose interesting for custom world generation.
Cubic chunks allows to implement 3d biomes. With 3d biomes it would be useful to have some way to make these biomes affect terrain.
latest.log
If you paste a prefix with improper json whatever when you press done nothing will happen, and pressing cancel takes you to an empty screen with the dirt texture background.
When the End dimension is generated as cubic, the end gateways almost always (only) reach up to 750 blocks away from X=0, Z=0.
If the End dimension is normally generated (non cubic), end gateways properly link to lengths around 1000 blocks away, where the outer islands start generating.
I think it might has something to do with how the user Rays Works demonstrated how to get an end gateway to link in the void area between the islands. Which, coincidentally, generated around 750 blocks out for him. Video part where he explains some of the code the gateways use to find their spawn location: https://youtu.be/xwchgmplJJM?t=581
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.