Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Helpful resources on extending JCuboidPart [Multipart modding] or Notch block.


Cinderous
 Share

Recommended Posts

Alright so I've been working on a mod for awhile now. I have been without Internet and going from vending machine to vending machine to power up my laptop so I haven't been able to do much research. I am obsessed with ForgeMultipart's capabilities. I've tinkered with my mod and currently working on breaking it apart into the proxies for what I'm assuming is more efficient rendering and resource management of these blocks.

 

I seem to have the very basics down on using JItemMultiPart to create items from parts, but it is half assed. Most mods out their that use Multipart seem to use JCuboidPart and are utilizing blender models to actually fill the block space. I am familiar with blender models and may try this approach, but I'd rather get a much more basic multipart.

 

My goal is to make a notch like from the microblock classes. This will be a notch that will be a tileentity so it will be utilizing the tilemultipart if I'm correct. The reason for this is because I want to utilize a different texture based on how many of this notches are connecting and from where. I don't need help with the logic of that right now as it is a big project for my final result.

 

My question is there has got to be some simple way to create the basic notch from block that utilizes the grid placement. I see some of those functions, however I seem to have more trouble getting an actual notch block than trying to make an ItemPart.

 

I've searched github for code that extends JCuboidPart and really only seem to find chicken's wireless redstone mod as well as project red, both mods utilize multipart well, but they use it to display the multipart as a model and such and its way to complex for my learning experience.

 

Also, I have a question to help optimize the mod later on. I'd rather design the multiparts in notch blocks but may utilize a model in place of one of the notices to create more of a pointed notch, unless this is a capability of JCuboidPart that can create the dimensions from code. The basic end result is a bunch of notches working together with a wedge or pointy tip.

 

I'm not a greedy guy and plan to put my mod up on github so others can learn from whatever I've done.

 

Thanks.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • Registering in static fields isn't ideal. You have a method that registers your deferred register to the event bus, right? leave your RegistryObject fields as non-final and empty, and set their reference in that method, right after registering the deferred register on the bus.
    • This is my event: p.s i tried the subclasses.   Above this line, I am also registering my GUI event listener with RenderGameOverlay, which works fine.  
    • Thanks. But I thought they would help me decide on the code. (((    As a result, I figured it out myself.   private static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); public static final RegistryObject<BlockItem> MyBlockItem = ITEMS.register("mysuperblockreg", () -> new BlockItem(testBlock, new Item.Properties().tab(CreativeModeTab.TAB_BUILDING_BLOCKS)));  
    • I deleted and installed java and restarted the pc but it still doesn't work
    • JVM info: Eclipse Adoptium - 17.0.1 - 17.0.1+12 java.net.preferIPv4Stack=true Found java version 17.0.1 Extracting json Considering minecraft client jar Downloading libraries Found 0 additional library directories Considering library cpw.mods:securejarhandler:0.9.54   File exists: Checksum validated. Considering library org.ow2.asm:asm:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-util:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:9.1   File exists: Checksum validated. Considering library net.minecraftforge:accesstransformers:8.0.4   File exists: Checksum validated. Considering library org.antlr:antlr4-runtime:4.9.1   File exists: Checksum validated. Considering library net.minecraftforge:eventbus:5.0.3   File exists: Checksum validated. Considering library net.minecraftforge:forgespi:4.0.10   File exists: Checksum validated. Considering library net.minecraftforge:coremods:5.0.1   File exists: Checksum validated. Considering library cpw.mods:modlauncher:9.0.7   File exists: Checksum validated. Considering library net.minecraftforge:unsafe:0.2.0   File exists: Checksum validated. Considering library com.electronwill.night-config:core:3.6.3   File exists: Checksum validated. Considering library com.electronwill.night-config:toml:3.6.3   File exists: Checksum validated. Considering library org.apache.maven:maven-artifact:3.6.3   File exists: Checksum validated. Considering library org.apache.commons:commons-lang3:3.8.1   File exists: Checksum validated. Considering library net.jodah:typetools:0.8.3   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-api:2.14.1   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-core:2.14.1   File exists: Checksum validated. Considering library net.minecrell:terminalconsoleappender:1.2.0   File exists: Checksum validated. Considering library org.jline:jline-reader:3.12.1   File exists: Checksum validated. Considering library org.jline:jline-terminal:3.12.1   File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4   File exists: Checksum validated. Considering library org.spongepowered:mixin:0.8.4   File exists: Checksum validated. Considering library org.openjdk.nashorn:nashorn-core:15.3   File exists: Checksum validated. Considering library com.google.guava:guava:21.0   File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.0   File exists: Checksum validated. Considering library cpw.mods:bootstraplauncher:0.1.17   File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.17.1-37.0.119   File exists: Checksum validated. Considering library com.github.jponge:lzma-java:1.3   File exists: Checksum validated. Considering library com.google.code.findbugs:jsr305:3.0.2   File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.7   File exists: Checksum validated. Considering library com.google.errorprone:error_prone_annotations:2.1.3   File exists: Checksum validated. Considering library com.google.errorprone:error_prone_annotations:2.3.4   File exists: Checksum validated. Considering library com.google.guava:failureaccess:1.0.1   File exists: Checksum validated. Considering library com.google.guava:guava:20.0   File exists: Checksum validated. Considering library com.google.guava:guava:25.1-jre   File exists: Checksum validated. Considering library com.google.guava:guava:30.1-android   File exists: Checksum validated. Considering library com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava   File exists: Checksum validated. Considering library com.google.j2objc:j2objc-annotations:1.1   File exists: Checksum validated. Considering library com.google.j2objc:j2objc-annotations:1.3   File exists: Checksum validated. Considering library com.google.jimfs:jimfs:1.2   File exists: Checksum validated. Considering library com.nothome:javaxdelta:2.0.1   File exists: Checksum validated. Considering library com.opencsv:opencsv:4.4   File exists: Checksum validated. Considering library commons-beanutils:commons-beanutils:1.9.3   File exists: Checksum validated. Considering library commons-collections:commons-collections:3.2.2   File exists: Checksum validated. Considering library commons-io:commons-io:2.4   File exists: Checksum validated. Considering library commons-logging:commons-logging:1.2   File exists: Checksum validated. Considering library de.oceanlabs.mcp:mcp_config:1.17.1-20210706.113038@zip   File exists: Checksum validated. Considering library de.siegmar:fastcsv:2.0.0   File exists: Checksum validated. Considering library net.md-5:SpecialSource:1.10.0   File exists: Checksum validated. Considering library net.minecraftforge.lex:vignette:0.2.0.16   File exists: Checksum validated. Considering library net.minecraftforge:binarypatcher:1.0.12   File exists: Checksum validated. Considering library net.minecraftforge:fmlcore:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:forge:1.17.1-37.0.119:universal   File exists: Checksum validated. Considering library net.minecraftforge:installertools:1.2.7   File exists: Checksum validated. Considering library net.minecraftforge:jarsplitter:1.1.4   File exists: Checksum validated. Considering library net.minecraftforge:javafmllanguage:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:mclanguage:1.17.1-37.0.119   File exists: Checksum validated. Considering library net.minecraftforge:srgutils:0.4.3   File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4   File exists: Checksum validated. Considering library org.apache.commons:commons-collections4:4.2   File exists: Checksum validated. Considering library org.apache.commons:commons-lang3:3.8.1   File exists: Checksum validated. Considering library org.apache.commons:commons-text:1.3   File exists: Checksum validated. Considering library org.cadixdev:atlas:0.2.2   File exists: Checksum validated. Considering library org.cadixdev:bombe-asm:0.3.5   File exists: Checksum validated. Considering library org.cadixdev:bombe:0.3.5   File exists: Checksum validated. Considering library org.cadixdev:lorenz-asm:0.5.7   File exists: Checksum validated. Considering library org.cadixdev:lorenz:0.5.7   File exists: Checksum validated. Considering library org.checkerframework:checker-compat-qual:2.5.5   File exists: Checksum validated. Considering library org.checkerframework:checker-qual:2.0.0   File exists: Checksum validated. Considering library org.codehaus.mojo:animal-sniffer-annotations:1.14   File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm:9.1   File exists: Checksum validated. Considering library trove:trove:1.0.2   File exists: Checksum validated. Created Temporary Directory: C:\Users\emir2\AppData\Local\Temp\forge_installer16610080626546796684   Extracting: /data/client.lzma Building Processors ===============================================================================   MainClass: net.minecraftforge.installertools.ConsoleTool   Classpath:     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.7\installertools-1.2.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar   Args: --task, MCP_DATA, --input, C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038.zip, --output, C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt, --key, mappings Task: MCP_DATA Input:  C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038.zip Output: C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.17.1-20210706.113038\mcp_config-1.17.1-20210706.113038-mappings.txt Key:    mappings Extracting: config/joined.tsrg ===============================================================================   MainClass: net.minecraftforge.installertools.ConsoleTool   Classpath:     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.7\installertools-1.2.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar   Args: --task, DOWNLOAD_MOJMAPS, --version, 1.17.1, --side, client, --output, C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt Task: DOWNLOAD_MOJMAPS MC Version: 1.17.1 Side:       client Output:     C:\Users\emir2\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.17.1-20210706.113038\client-1.17.1-20210706.113038-mappings.txt javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:370)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:313)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:308)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:654)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:473)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:369)     at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)     at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:480)     at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:458)     at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:200)     at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)     at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1500)     at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1415)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:450)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:421)     at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:580)     at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:183)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589)     at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)     at java.base/java.net.URL.openStream(URL.java:1161)     at net.minecraftforge.installertools.DownloadMojmaps.process(DownloadMojmaps.java:65)     at net.minecraftforge.installertools.ConsoleTool.main(ConsoleTool.java:55)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.base/java.lang.reflect.Method.invoke(Method.java:568)     at net.minecraftforge.installer.actions.PostProcessors.process(PostProcessors.java:226)     at net.minecraftforge.installer.actions.ClientInstall.run(ClientInstall.java:144)     at net.minecraftforge.installer.InstallerPanel.run(InstallerPanel.java:423)     at net.minecraftforge.installer.SimpleInstaller.launchGui(SimpleInstaller.java:175)     at net.minecraftforge.installer.SimpleInstaller.main(SimpleInstaller.java:147) Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)     at java.base/sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)     at java.base/sun.security.validator.Validator.validate(Validator.java:264)     at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:231)     at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:132)     at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:638)     ... 28 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target     at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)     at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)     at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)     at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)     ... 33 more Failed to run processor: javax.net.ssl.SSLHandshakeException:PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target See log for more details.  
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.