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

(SOLVED) Custom Crafting Table recipes not working


Recommended Posts

It's me again. I got the custom crafting table to work – it appears in the world, I can open it, and it doesn't close right away, which is always a plus. However, it doesn't seem my new recipe type has registered. Here is a picture of my directory to see which classes I copied over.

How am I supposed to register a new recipe type?

Screen Shot 2020-05-14 at 7.45.10 PM.png

Edited by TheThorneCorporation
  • Thanks 1
Link to comment
Share on other sites

debug.logBumping because I can't figure out how to register the Recipe/RecipeSerializer.

I have this class to store the advanced crafting recipe type:

public interface IThorneRecipeType<T extends IRecipe<?>> extends IRecipeType<T> {
   IRecipeType<IAdvancedCraftingRecipe> ADVANCED_CRAFTING = register("advanced_crafting");

   static <T extends IRecipe<?>> IThorneRecipeType<T> register(final String key) {
      return Registry.register(Registry.RECIPE_TYPE, new ResourceLocation(key), new IThorneRecipeType<T>() {
         public String toString() {
            return key;
         }
      });
   }

   default <C extends IInventory> Optional<T> matches(IRecipe<C> recipe, World worldIn, C inv) {
      return recipe.matches(inv, worldIn) ? Optional.of((T)recipe) : Optional.empty();
   }
}

which should have registered the recipe type. (I'm doing both shapeless and shaped advanced crafting recipes.)

I also have this class which should have registered the advanced recipe type serializers:

public interface IThorneRecipeSerializer<T extends IRecipe<?>> extends IRecipeSerializer<T> {

	IRecipeSerializer<ShapelessAdvancedRecipe> ADVANCED_CRAFTING_SHAPELESS = register("advanced_crafting_shapeless", new ShapelessAdvancedRecipe.Serializer());
	IRecipeSerializer<ShapedAdvancedRecipe> ADVANCED_CRAFTING_SHAPED = register("advanced_crafting_shaped", new ShapedAdvancedRecipe.Serializer());

	static <S extends IRecipeSerializer<T>, T extends IRecipe<?>> S register(String key, S recipeSerializer) {
		return IRecipeSerializer.register(key, recipeSerializer);
	}
}

The recipe still isn't registering, though. Am I supposed to use a RegistryEvent or something?

 

Edited by TheThorneCorporation
Oops, wrong log.
Link to comment
Share on other sites

First, extending an interface is arbitrary the way you are doing it. IRecipeType does not need to be extended and can be just declared a static final variable using IRecipeType#register. Second, IRecipeSerializer needs to be extended on a ForgeRegistryEntry class. The reason I say this is even though you might have already done it is that if you looked at the original class, you can see it extends a basic implementation of a registry. So yes, you do need a RegistryEvent using the old method or could update to using DeferredRegister and RegistryObject.

 

 

  • Like 1
Link to comment
Share on other sites

Okay, I rewrote IThorneRecipeSerializer like this:

public interface IThorneRecipeSerializer<T extends IRecipe<?>> extends IRecipeSerializer<T> {

	public static IRecipeSerializer<ShapelessAdvancedRecipe> ADVANCED_CRAFTING_SHAPELESS = register("advanced_crafting_shapeless", new ShapelessAdvancedRecipe.Serializer());
	public static IRecipeSerializer<ShapedAdvancedRecipe> ADVANCED_CRAFTING_SHAPED = register("advanced_crafting_shaped", new ShapedAdvancedRecipe.Serializer());

	static <S extends IRecipeSerializer<T>, T extends IRecipe<?>> S register(String key, S recipeSerializer) {
		return IRecipeSerializer.register(key, recipeSerializer);
	}
}

 

and added this to my RegistryEvents:

@SubscribeEvent
public static void registerRecipeSerializers(final RegistryEvent.Register<IRecipeSerializer<?>> event) {
	event.getRegistry().registerAll
	(
		IThorneRecipeSerializer.ADVANCED_CRAFTING_SHAPED,
		IThorneRecipeSerializer.ADVANCED_CRAFTING_SHAPELESS
	);
}

 

but it's still not working.

I'll work on getting a GitHub repo up.

Edited by TheThorneCorporation
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

    • I created a new sticky piston made with honey, and after figuring out how to render it properly, I encountered another issue. It cannot be pushed, and the modded piston isn't sticky when pushing vanilla pistons. Where and how can I fix this? Thanks in advance.
    • I downloaded an older version of forge and it worked! I had tried downloading older versions before but they didnt work but finally 1.18.1-forge-39.0.48 worked! sorry for the post.
    • I just downloaded forge to get mods on minecraft but it crashes when launched. I have no mods downloaded. Vers. 1.18.1 of minecraft & vers. 1.18.1-forge-39.0.53 of forge. I believe this is my log file https://pastebin.com/SZ3YAu4K pls let me know if it's incorrect or if any other info is needed. thank you in advance.
    • Here i will list my full client log with the error. JVM info: Eclipse Foundation - 16.0.2 - 16.0.2+7 java.net.preferIPv4Stack=true Found java version 16.0.2 Extracting json Considering minecraft client jar Downloading libraries Found 0 additional library directories Considering library cpw.mods:securejarhandler:1.0.1   File exists: Checksum validated. Considering library org.ow2.asm:asm:9.2   File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.2   File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.2   File exists: Checksum validated. Considering library org.ow2.asm:asm-util:9.2   File exists: Checksum validated. Considering library org.ow2.asm:asm-analysis:9.2   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.1.0   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.4   File exists: Checksum validated. Considering library com.electronwill.night-config:toml:3.6.4   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.12.0   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.15.0   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-core:2.15.0   File exists: Checksum validated. Considering library org.apache.logging.log4j:log4j-slf4j18-impl:2.15.0   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.5   File exists: Checksum validated. Considering library org.openjdk.nashorn:nashorn-core:15.3   File exists: Checksum validated. Considering library com.google.guava:guava:31.0.1-jre   File exists: Checksum validated. Considering library com.google.code.gson:gson:2.8.8   File exists: Checksum validated. Considering library cpw.mods:bootstraplauncher:1.0.0   File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.18.1-39.0.51   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.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.j2objc:j2objc-annotations:1.1   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.18.1-20211210.034407@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:ForgeAutoRenamingTool:0.1.17:all   File exists: Checksum validated. Considering library net.minecraftforge:binarypatcher:1.0.12   File exists: Checksum validated. Considering library net.minecraftforge:fmlcore:1.18.1-39.0.51   File exists: Checksum validated. Considering library net.minecraftforge:fmlloader:1.18.1-39.0.51   File exists: Checksum validated. Considering library net.minecraftforge:forge:1.18.1-39.0.51:universal   File exists: Checksum validated. Considering library net.minecraftforge:installertools:1.2.10   File exists: Checksum validated. Considering library net.minecraftforge:jarsplitter:1.1.4   File exists: Checksum validated. Considering library net.minecraftforge:javafmllanguage:1.18.1-39.0.51   File exists: Checksum validated. Considering library net.minecraftforge:mclanguage:1.18.1-39.0.51   File exists: Checksum validated. Considering library net.minecraftforge:srgutils:0.4.3   File exists: Checksum validated. Considering library net.minecraftforge:srgutils:0.4.7   File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:5.0.4   File exists: Checksum validated. Considering library net.sf.jopt-simple:jopt-simple:6.0-alpha-3   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.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-analysis:9.2   File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-commons:9.2   File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm-tree:9.2   File exists: Checksum validated. Considering library org.ow2.asm:asm:9.1   File exists: Checksum validated. Considering library org.ow2.asm:asm:9.2   File exists: Checksum validated. Considering library trove:trove:1.0.2   File exists: Checksum validated. Created Temporary Directory: C:\Users\Connor\AppData\Local\Temp\forge_installer17439075072338868733   Extracting: /data/client.lzma Building Processors ===============================================================================   MainClass: net.minecraftforge.installertools.ConsoleTool   Classpath:     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.10\installertools-1.2.10.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar   Args: --task, MCP_DATA, --input, C:\Users\Connor\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.18.1-20211210.034407\mcp_config-1.18.1-20211210.034407.zip, --output, C:\Users\Connor\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.18.1-20211210.034407\mcp_config-1.18.1-20211210.034407-mappings.txt, --key, mappings Task: MCP_DATA Input:  C:\Users\Connor\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.18.1-20211210.034407\mcp_config-1.18.1-20211210.034407.zip Output: C:\Users\Connor\AppData\Roaming\.minecraft\libraries\de\oceanlabs\mcp\mcp_config\1.18.1-20211210.034407\mcp_config-1.18.1-20211210.034407-mappings.txt Key:    mappings Extracting: config/joined.tsrg ===============================================================================   MainClass: net.minecraftforge.installertools.ConsoleTool   Classpath:     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\minecraftforge\installertools\1.2.10\installertools-1.2.10.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\md-5\SpecialSource\1.10.0\SpecialSource-1.10.0.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.4\jopt-simple-5.0.4.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.7\gson-2.8.7.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\de\siegmar\fastcsv\2.0.0\fastcsv-2.0.0.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\minecraftforge\srgutils\0.4.3\srgutils-0.4.3.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-commons\9.1\asm-commons-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\20.0\guava-20.0.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\com\opencsv\opencsv\4.4\opencsv-4.4.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-analysis\9.1\asm-analysis-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-tree\9.1\asm-tree-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm\9.1\asm-9.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-text\1.3\commons-text-1.3.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.8.1\commons-lang3-3.8.1.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\commons-beanutils\commons-beanutils\1.9.3\commons-beanutils-1.9.3.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.2\commons-logging-1.2.jar     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\commons-collections\commons-collections\3.2.2\commons-collections-3.2.2.jar   Args: --task, DOWNLOAD_MOJMAPS, --version, 1.18.1, --side, client, --output, C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.18.1-20211210.034407\client-1.18.1-20211210.034407-mappings.txt Task: DOWNLOAD_MOJMAPS MC Version: 1.18.1 Side:       client Output:     C:\Users\Connor\AppData\Roaming\.minecraft\libraries\net\minecraft\client\1.18.1-20211210.034407\client-1.18.1-20211210.034407-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:369)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:312)     at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:307)     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:199)     at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:172)     at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1506)     at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1416)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:451)     at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:422)     at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:574)     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:1653)     at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1577)     at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:224)     at java.base/java.net.URL.openStream(URL.java:1192)     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:78)     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.base/java.lang.reflect.Method.invoke(Method.java:567)     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.  
    • but the dude made it and he didnt "connected" the NetworkPlayerInfo with the setPlayerSkin method or something
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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