Jump to content

Lumby

Members
  • Posts

    50
  • Joined

  • Last visited

Posts posted by Lumby

  1. I found it, thank you for your help! EntityPlayer seems to be extended by EntityPlayerMP and AbstractClientPlayer, the latter I'm guessing is the one that handles client side code. The AbstractClientPlayer is instantiated by EntityPlayerSP, which is where I found the other openBook() implementation. 

     

    My question now is, how do I emulate this approach on my item? Do I simply have two if conditions like so, where the conditions check whether world.isRemote to execute client side or server side specific code?:

    	@Override
    	public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand handIn) {
    		
    		ItemStack itemstack = playerIn.getHeldItem(handIn);
    		
    		if (!worldIn.isRemote){
    			//emulate EntityPlayerMP code by doing a bunch of packet stuff
    
    		}else if(worldIn.isRemote){
    			//emulate ENtityPlayerSP code like so this.mc.displayGuiScreen(new myCustomItemGUI(this, stack, true));
    		}
    		
    		
    		return new ActionResult<ItemStack>(EnumActionResult.SUCCESS, itemstack);
    	}

     

  2. Hi, I want to create a letter item where if you use it the item opens a GUI for you to type in, which then adds that string to the NBTTagcompound of the item, just like ItemWritableBook. ItemWritableBook, however, simply called player.openBook() which leads to an empty method with no code, so I don't understand how the entire process should be undertaken. Are there any possible resources or mods that have a similar functionality that someone can point me towards as an example? Thanks in advance!

  3. Hi, in one of my slots I want to check if all the items in a shulker box are the same before allowing it to be placed in the container slot. I am however running into some trouble with navigating the NBTTagCompound. From my understanding, the items are listed in the NBTBase BlockEntityTag of the tag compound, but I don't understand how to get the "Items" tag list out of the BlockEntityTag. I tried converting it to a string, but it would take a lot of difficult parsing to go through the whole string to see if all the items are the same. Is there any way to iterate through every item within the NBTTagCompound or is my current solution with parsing strings the best there is? Thanks in advance!

     

    Working in version 1.12.2

     

    Below is what I have so far in case it may help:

     

    	public boolean isItemValid(ItemStack stack) {
    		if(stack.getItem() == Item.getItemFromBlock(Blocks.PURPLE_SHULKER_BOX)) {
    			NBTTagCompound tags = stack.getTagCompound();
    			if(tags.hasKey("BlockEntityTag", 10)){
    				NBTBase blockEntityTag = tags.getTag("BlockEntityTag");
    				String tagString = blockEntityTag.toString();
    			}
    
    			return true;
    		}
    
    		return false;
    	}

     

  4. Didn't really follow any tutorial, more of a hobbled attempt on any and everything I can find on the internet :/ As for final step of exporting the mod itself, I just followed the docs. Edited build.gradle, ran the command in cmd, then copied the file in build/libs to the mods folder in minecraft. 

  5. Hi, I just built my mod using gradlew.bat but it won't run in minecraft. When I start up it gives me the error:

    "The mods listed below can't run in Minecraft 1.12, *My mod name* (my modid) requires Minecraft 1.12.2, try to find an update or remove *My mod name*" 

    I am able to run it fine in eclipse, but as soon as I try to run the built version in Minecraft it gives me this error. Any ideas what might be the cause? Thanks! 

     

    below is my fml-client-latest.log 

    Quote

    [21:49:25] [main/DEBUG] [FML/]: Injecting tracing printstreams for STDOUT/STDERR.
    [21:49:25] [main/INFO] [FML/]: Forge Mod Loader version 14.21.1.2387 for Minecraft 1.12 loading
    [21:49:25] [main/INFO] [FML/]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_51, running on Windows 10:amd64:10.0, installed at C:\Program Files (x86)\Minecraft\runtime\jre-x64
    [21:49:25] [main/DEBUG] [FML/]: Java classpath at launch is C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\minecraftforge\forge\1.12-14.21.1.2387\forge-1.12-14.21.1.2387.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\5.2\asm-all-5.2.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\jline\jline\2.13\jline-2.13.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\typesafe\akka\akka-actor_2.11\2.3.3\akka-actor_2.11-2.3.3.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\typesafe\config\1.2.1\config-1.2.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-actors-migration_2.11\1.1.0\scala-actors-migration_2.11-1.1.0.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-compiler\2.11.1\scala-compiler-2.11.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2\scala-continuations-library_2.11-1.0.2.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-plugin_2.11.1\1.0.2\scala-continuations-plugin_2.11.1-1.0.2.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-library\2.11.1\scala-library-2.11.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-parser-combinators_2.11\1.0.1\scala-parser-combinators_2.11-1.0.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-reflect\2.11.1\scala-reflect-2.11.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-swing_2.11\1.0.1\scala-swing_2.11-1.0.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-xml_2.11\1.0.2\scala-xml_2.11-1.0.2.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\java3d\vecmath\1.5.2\vecmath-1.5.2.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\minecraftforge\MercuriusUpdater\1.12\MercuriusUpdater-1.12.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\patchy\1.1\patchy-1.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.3\jopt-simple-5.0.3.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\io\netty\netty-all\4.1.9.Final\netty-all-4.1.9.Final.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\21.0\guava-21.0.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.5\commons-lang3-3.5.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.5\commons-io-2.5.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\commons-codec\commons-codec\1.10\commons-codec-1.10.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\authlib\1.5.25\authlib-1.5.25.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\realms\1.10.17\realms-1.10.17.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\it\unimi\dsi\fastutil\7.1.0\fastutil-7.1.0.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.8.1\log4j-api-2.8.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.8.1\log4j-core-2.8.1.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar;C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\text2speech\1.10.3\text2speech-1.10.3.jar;C:\Users\Name\AppData\Roaming\.minecraft\versions\1.12\1.12.jar
    [21:49:25] [main/DEBUG] [FML/]: Java library path at launch is C:\Users\Name\AppData\Local\Temp\dcb6-4837-b7f2-056a
    [21:49:25] [main/DEBUG] [FML/]: Enabling runtime deobfuscation
    [21:49:25] [main/DEBUG] [FML/]: Instantiating coremod class FMLCorePlugin
    [21:49:25] [main/DEBUG] [FML/]: Added access transformer class net.minecraftforge.fml.common.asm.transformers.AccessTransformer to enqueued access transformers
    [21:49:25] [main/DEBUG] [FML/]: Enqueued coremod FMLCorePlugin
    [21:49:25] [main/DEBUG] [FML/]: Instantiating coremod class FMLForgePlugin
    [21:49:25] [main/DEBUG] [FML/]: Enqueued coremod FMLForgePlugin
    [21:49:25] [main/DEBUG] [FML/]: All fundamental core mods are successfully located
    [21:49:25] [main/DEBUG] [FML/]: Attempting to load commandline specified mods, relative to C:\Users\Name\AppData\Roaming\.minecraft
    [21:49:25] [main/DEBUG] [FML/]: Discovering coremods
    [21:49:25] [main/DEBUG] [FML/]: Examining for coremod candidacy crumblemod-1.0.jar
    [21:49:25] [main/DEBUG] [FML/]: Not found coremod data in crumblemod-1.0.jar
    [21:49:25] [main/INFO] [LaunchWrapper/]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [21:49:25] [main/INFO] [LaunchWrapper/]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [21:49:25] [main/INFO] [LaunchWrapper/]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [21:49:25] [main/INFO] [LaunchWrapper/]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
    [21:49:25] [main/INFO] [LaunchWrapper/]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [21:49:25] [main/DEBUG] [FML/]: Injecting coremod FMLCorePlugin \{net.minecraftforge.fml.relauncher.FMLCorePlugin\} class transformers
    [21:49:25] [main/TRACE] [FML/]: Registering transformer net.minecraftforge.fml.common.asm.transformers.BlamingTransformer
    [21:49:25] [main/TRACE] [FML/]: Registering transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer
    [21:49:25] [main/TRACE] [FML/]: Registering transformer net.minecraftforge.fml.common.asm.transformers.EventSubscriptionTransformer
    [21:49:25] [main/TRACE] [FML/]: Registering transformer net.minecraftforge.fml.common.asm.transformers.EventSubscriberTransformer
    [21:49:25] [main/DEBUG] [FML/]: Injection complete
    [21:49:25] [main/DEBUG] [FML/]: Running coremod plugin for FMLCorePlugin \{net.minecraftforge.fml.relauncher.FMLCorePlugin\}
    [21:49:25] [main/DEBUG] [FML/]: Running coremod plugin FMLCorePlugin
    [21:49:26] [main/DEBUG] [FML/]: Injecting tracing printstreams for STDOUT/STDERR.
    [21:49:26] [main/DEBUG] [FML/]: Read 1055 binary patches
    [21:49:26] [main/DEBUG] [FML/]: Loading deobfuscation resource /deobfuscation_data-1.12.lzma with 36066 records
    [21:49:26] [main/INFO] [FML/]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557
    [21:49:27] [main/INFO] [FML/]: Found valid fingerprint for Minecraft. Certificate fingerprint cd99959656f753dc28d863b46769f7f8fbaefcfc
    [21:49:27] [main/DEBUG] [FML/]: Coremod plugin class FMLCorePlugin run successfully
    [21:49:27] [main/INFO] [LaunchWrapper/]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
    [21:49:27] [main/DEBUG] [FML/]: Injecting coremod FMLForgePlugin \{net.minecraftforge.classloading.FMLForgePlugin\} class transformers
    [21:49:27] [main/DEBUG] [FML/]: Injection complete
    [21:49:27] [main/DEBUG] [FML/]: Running coremod plugin for FMLForgePlugin \{net.minecraftforge.classloading.FMLForgePlugin\}
    [21:49:27] [main/DEBUG] [FML/]: Running coremod plugin FMLForgePlugin
    [21:49:27] [main/DEBUG] [FML/]: Coremod plugin class FMLForgePlugin run successfully
    [21:49:27] [main/INFO] [LaunchWrapper/]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
    [21:49:27] [main/DEBUG] [FML/]: Loaded 206 rules from AccessTransformer config file forge_at.cfg
    [21:49:27] [main/DEBUG] [FML/]: Validating minecraft
    [21:49:27] [main/DEBUG] [FML/]: Minecraft validated, launching...
    [21:49:27] [main/INFO] [LaunchWrapper/]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
    [21:49:27] [main/INFO] [LaunchWrapper/]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
    [21:49:27] [main/INFO] [LaunchWrapper/]: Launching wrapped minecraft {net.minecraft.client.main.Main}
    [21:49:29] [main/DEBUG] [FML/]: Creating vanilla freeze snapshot
    [21:49:29] [main/DEBUG] [FML/]: Vanilla freeze snapshot created
    [21:49:30] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - LanguageManager took 0.001s
    [21:49:30] [main/INFO] [FML/]: -- System Details --
    Details:
        Minecraft Version: 1.12
        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: 417923904 bytes (398 MB) / 872415232 bytes (832 MB) up to 2147483648 bytes (2048 MB)
        JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx2G -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: 
        Loaded coremods (and transformers): 
        GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 398.36' Renderer: 'GeForce GTX 1060 3GB/PCIe/SSE2'
    [21:49:30] [main/INFO] [FML/]: MinecraftForge v14.21.1.2387 Initialized
    [21:49:30] [main/INFO] [FML/]: Replaced 921 ore ingredients
    [21:49:30] [main/DEBUG] [FML/]: File C:\Users\Name\AppData\Roaming\.minecraft\config\injectedDependencies.json not found. No dependencies injected
    [21:49:30] [main/DEBUG] [FML/]: Building injected Mod Containers [net.minecraftforge.fml.common.FMLContainer, net.minecraftforge.common.ForgeModContainer]
    [21:49:30] [main/DEBUG] [FML/]: Attempting to load mods contained in the minecraft jar file and associated classes
    [21:49:30] [main/DEBUG] [FML/]: Found a minecraft related file at C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\minecraftforge\forge\1.12-14.21.1.2387\forge-1.12-14.21.1.2387.jar, examining for mod candidates
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\minecraft\launchwrapper\1.12\launchwrapper-1.12.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\ow2\asm\asm-all\5.2\asm-all-5.2.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\jline\jline\2.13\jline-2.13.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\typesafe\akka\akka-actor_2.11\2.3.3\akka-actor_2.11-2.3.3.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\typesafe\config\1.2.1\config-1.2.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-actors-migration_2.11\1.1.0\scala-actors-migration_2.11-1.1.0.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-compiler\2.11.1\scala-compiler-2.11.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-library_2.11\1.0.2\scala-continuations-library_2.11-1.0.2.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\plugins\scala-continuations-plugin_2.11.1\1.0.2\scala-continuations-plugin_2.11.1-1.0.2.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-library\2.11.1\scala-library-2.11.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-parser-combinators_2.11\1.0.1\scala-parser-combinators_2.11-1.0.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-reflect\2.11.1\scala-reflect-2.11.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-swing_2.11\1.0.1\scala-swing_2.11-1.0.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\scala-lang\scala-xml_2.11\1.0.2\scala-xml_2.11-1.0.2.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\lzma\lzma\0.0.1\lzma-0.0.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\4.6\jopt-simple-4.6.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\java3d\vecmath\1.5.2\vecmath-1.5.2.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\sf\trove4j\trove4j\3.0.3\trove4j-3.0.3.jar
    [21:49:30] [main/DEBUG] [FML/]: Found a minecraft related file at C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\minecraftforge\MercuriusUpdater\1.12\MercuriusUpdater-1.12.jar, examining for mod candidates
    [21:49:30] [main/DEBUG] [FML/]: Found a minecraft related file at C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\patchy\1.1\patchy-1.1.jar, examining for mod candidates
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\oshi-project\oshi-core\1.1\oshi-core-1.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\jna\4.4.0\jna-4.4.0.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\dev\jna\platform\3.4.0\platform-3.4.0.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\ibm\icu\icu4j-core-mojang\51.2\icu4j-core-mojang-51.2.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\sf\jopt-simple\jopt-simple\5.0.3\jopt-simple-5.0.3.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\codecjorbis\20101023\codecjorbis-20101023.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\codecwav\20101023\codecwav-20101023.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\libraryjavasound\20101123\libraryjavasound-20101123.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\librarylwjglopenal\20100824\librarylwjglopenal-20100824.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\paulscode\soundsystem\20120107\soundsystem-20120107.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\io\netty\netty-all\4.1.9.Final\netty-all-4.1.9.Final.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\google\guava\guava\21.0\guava-21.0.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-lang3\3.5\commons-lang3-3.5.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\commons-io\commons-io\2.5\commons-io-2.5.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\commons-codec\commons-codec\1.10\commons-codec-1.10.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\jinput\jinput\2.0.5\jinput-2.0.5.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\net\java\jutils\jutils\1.0.0\jutils-1.0.0.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\google\code\gson\gson\2.8.0\gson-2.8.0.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\authlib\1.5.25\authlib-1.5.25.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\realms\1.10.17\realms-1.10.17.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\commons\commons-compress\1.8.1\commons-compress-1.8.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpclient\4.3.3\httpclient-4.3.3.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\httpcomponents\httpcore\4.3.2\httpcore-4.3.2.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\it\unimi\dsi\fastutil\7.1.0\fastutil-7.1.0.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-api\2.8.1\log4j-api-2.8.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\apache\logging\log4j\log4j-core\2.8.1\log4j-core-2.8.1.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl\2.9.4-nightly-20150209\lwjgl-2.9.4-nightly-20150209.jar
    [21:49:30] [main/TRACE] [FML/]: Skipping known library file C:\Users\Name\AppData\Roaming\.minecraft\libraries\org\lwjgl\lwjgl\lwjgl_util\2.9.4-nightly-20150209\lwjgl_util-2.9.4-nightly-20150209.jar
    [21:49:30] [main/DEBUG] [FML/]: Found a minecraft related file at C:\Users\Name\AppData\Roaming\.minecraft\libraries\com\mojang\text2speech\1.10.3\text2speech-1.10.3.jar, examining for mod candidates
    [21:49:30] [main/DEBUG] [FML/]: Found a minecraft related file at C:\Users\Name\AppData\Roaming\.minecraft\versions\1.12\1.12.jar, examining for mod candidates
    [21:49:30] [main/DEBUG] [FML/]: Minecraft jar mods loaded successfully
    [21:49:30] [main/INFO] [FML/]: Found 0 mods from the command line. Injecting into mod discoverer
    [21:49:30] [main/INFO] [FML/]: Searching C:\Users\Name\AppData\Roaming\.minecraft\mods for mods
    [21:49:30] [main/DEBUG] [FML/]: Found a candidate zip or jar file crumblemod-1.0.jar
    [21:49:30] [main/DEBUG] [FML/]: Examining file forge-1.12-14.21.1.2387.jar for potential mods
    [21:49:30] [main/DEBUG] [FML/]: The mod container forge-1.12-14.21.1.2387.jar appears to be missing an mcmod.info file
    [21:49:31] [main/DEBUG] [FML/]: Examining file MercuriusUpdater-1.12.jar for potential mods
    [21:49:31] [main/TRACE] [FML/]: Located mcmod.info file in file MercuriusUpdater-1.12.jar
    [21:49:31] [main/DEBUG] [FML/]: Identified a mod of type Lnet/minecraftforge/fml/common/Mod; (net.minecraftforge.mercurius.updater.MercuriusUpdaterMod) - loading
    [21:49:31] [main/TRACE] [mercurius_updater/]: Parsed dependency info : [] [] []
    [21:49:31] [main/INFO] [mercurius_updater/]: Mod mercurius_updater is missing the required element 'name'. Substituting mercurius_updater
    [21:49:31] [main/DEBUG] [FML/]: Examining file patchy-1.1.jar for potential mods
    [21:49:31] [main/DEBUG] [FML/]: The mod container patchy-1.1.jar appears to be missing an mcmod.info file
    [21:49:31] [main/DEBUG] [FML/]: Examining file text2speech-1.10.3.jar for potential mods
    [21:49:31] [main/DEBUG] [FML/]: The mod container text2speech-1.10.3.jar appears to be missing an mcmod.info file
    [21:49:31] [main/DEBUG] [FML/]: Examining file 1.12.jar for potential mods
    [21:49:31] [main/DEBUG] [FML/]: The mod container 1.12.jar appears to be missing an mcmod.info file
    [21:49:31] [main/DEBUG] [FML/]: Examining file crumblemod-1.0.jar for potential mods
    [21:49:31] [main/TRACE] [FML/]: Located mcmod.info file in file crumblemod-1.0.jar
    [21:49:31] [main/DEBUG] [FML/]: Identified a mod of type Lnet/minecraftforge/fml/common/Mod; (com.crumbletheundead.Main) - loading
    [21:49:31] [main/TRACE] [crumblemod/]: Parsed dependency info : [] [] []
    [21:49:31] [main/INFO] [FML/]: Forge Mod Loader has identified 6 mods to load
    [21:49:31] [main/TRACE] [FML/]: Received a system property request ''
    [21:49:31] [main/TRACE] [FML/]: System property request managing the state of 0 mods
    [21:49:31] [main/DEBUG] [FML/]: After merging, found state information for 0 mods
    [21:49:31] [main/DEBUG] [Forge Mod Loader/]: Mod Forge Mod Loader is missing a pack.mcmeta file, substituting a dummy one
    [21:49:31] [main/DEBUG] [Minecraft Forge/]: Mod Minecraft Forge is missing a pack.mcmeta file, substituting a dummy one
    [21:49:31] [main/DEBUG] [mercurius_updater/]: Enabling mod mercurius_updater
    [21:49:31] [main/DEBUG] [mercurius_updater/]: Mod mercurius_updater is missing a pack.mcmeta file, substituting a dummy one
    [21:49:31] [main/DEBUG] [crumblemod/]: Enabling mod crumblemod
    [21:49:31] [main/TRACE] [FML/]: Verifying mod requirements are satisfied
    [21:49:31] [main/FATAL] [FML/]: The mod crumblemod does not wish to run in Minecraft version Minecraft 1.12. You will have to remove it to play.
    [21:49:31] [main/FATAL] [FML/]: Wrong Minecraft version for crumblemod
    [21:49:31] [main/DEBUG] [FML/]: Mod sorting data
    [21:49:31] [main/DEBUG] [FML/]:     mercurius_updater(mercurius_updater:1.0): MercuriusUpdater-1.12.jar ()
    [21:49:31] [main/DEBUG] [FML/]:     crumblemod(Extension Mod:1.0): crumblemod-1.0.jar ()
    [21:49:31] [main/DEBUG] [FML/]: Bar Step: Loading Resources - Default took 0.002s
    [21:49:31] [main/DEBUG] [FML/]: Bar Step: Loading Resources - FMLFileResourcePack:Forge Mod Loader took 0.001s
    [21:49:31] [main/DEBUG] [FML/]: Bar Step: Loading Resources - FMLFileResourcePack:Minecraft Forge took 0.001s
    [21:49:31] [main/DEBUG] [FML/]: Bar Step: Loading Resources - FMLFileResourcePack:mercurius_updater took 0.000s
    [21:49:31] [main/DEBUG] [FML/]: Bar Step: Loading Resources - FMLFileResourcePack:Extension Mod took 0.001s
    [21:49:31] [main/DEBUG] [FML/]: Bar Finished: Reloading - LanguageManager took 0.011s
    [21:49:31] [main/DEBUG] [FML/]: Bar Step: Loading Resources - Reloading listeners took 0.011s
    [21:49:31] [main/DEBUG] [FML/]: Bar Finished: Loading Resources took 0.017s
    [21:49:31] [main/DEBUG] [Forge Mod Loader/]: Mod Forge Mod Loader is missing a pack.mcmeta file, substituting a dummy one
    [21:49:31] [main/DEBUG] [Minecraft Forge/]: Mod Minecraft Forge is missing a pack.mcmeta file, substituting a dummy one
    [21:49:31] [main/DEBUG] [mercurius_updater/]: Mod mercurius_updater is missing a pack.mcmeta file, substituting a dummy one
    [21:49:31] [main/WARN] [FML/]: There were errors previously. Not beginning mod initialization phase
    [21:49:31] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - TextureManager took 0.000s
    [21:49:31] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - SoundHandler took 0.416s
    [21:49:31] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - FontRenderer took 0.004s
    [21:49:31] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - FontRenderer took 0.003s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - GrassColorReloadListener took 0.006s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - FoliageColorReloadListener took 0.019s
    [21:49:32] [main/DEBUG] [FML/]: Bar Step: Rendering Setup - GL Setup took 0.001s
    [21:49:32] [main/DEBUG] [FML/]: Bar Step: Rendering Setup - Loading Texture Map took 0.004s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - B3DLoader took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - OBJLoader took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - ModelFluid$FluidLoader took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - ItemLayerModel$Loader took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - MultiLayerModel$Loader took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - ModelDynBucket$LoaderDynBucket took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - ModelManager took 0.088s
    [21:49:32] [main/DEBUG] [FML/]: Bar Step: Rendering Setup - Loading Model Manager took 0.138s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - RenderItem took 0.001s
    [21:49:32] [main/DEBUG] [FML/]: Bar Step: Rendering Setup - Loading Item Renderer took 0.233s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - EntityRenderer took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - BlockRendererDispatcher took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - RenderGlobal took 0.000s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Loading Resource - SearchTreeManager took 0.058s
    [21:49:32] [main/DEBUG] [FML/]: Bar Step: Rendering Setup - Loading Entity Renderer took 0.231s
    [21:49:32] [main/DEBUG] [FML/]: Bar Finished: Rendering Setup took 0.606s
     

     

  6. Hi, I want to make a mod in 1.12 where you can create a structure in game (like creating a village) that spawns specific mobs within the structure (like a witch hut). I cannot however, find the code that governs these processes, can anyone point me in the right direction to look? For example a class name that contains the relevant code, a mod previously created that does something similar, or really any advice would be greatly appreciated. Thanks in advance!

  7. I was making my crop block when I realized that the updateTick() method for vanilla BlockCrops doesn't have any checks for whether it's currently server-side or client-side. Nonetheless, the resulting block I made which extended BlockCrops and overrides said method seems to work perfectly. Why is that? Is updateTick() only called from the server-side, hence I do not need to worry about sides when dealing with updateTick()? 

  8. Hi, after a bit of time I've realized that minecraft mods involve a lot of checking whether two objects are equal or not, be it items, blocks, biomes, etc. Since my mod performs so many of these checks, I'm starting to worry that if these comparisons are not coded efficiently, it would start slowing down minecraft a lot. Most of the time, I just use the good ol' Object#equals() method to check whether an object is the same (same as in #getBlock() is Blocks.DIRT or something like that). Is this the most efficient method? Or is there a better way to do things like this, specifically for checking Items, Blocks, and Biomes? Thanks in advance for the help. 

  9. I've created a custom dimension and added my custom biome into it successfully. The Biome is able to correctly affect the day/night cycle and the water color, yet I am unable to get it to spawn any mobs naturally. As far as I'm aware, the biome is the one handling which mobs get to spawn via the spawnableCreatureList/spawnableMonsterList. I've tried adding entities (My custom demon entity, cows, and enderman) to both lists and neither worked. Any ideas what might be the problem?

     

    Custom Biome Class:

    public class BiomeNightmare extends Biome{
    	
    	
    	public BiomeNightmare() {
    		super(new BiomeProperties("Nightmare").setBaseBiome("sky").setWaterColor(12255232).setRainDisabled());
    		
    		
    		topBlock = ModBlocks.NightmareBlock.getDefaultState();
    		fillerBlock = ModBlocks.NightmareBlock.getDefaultState();
    		
    		
    
    		
    		this.spawnableCaveCreatureList.clear();
    		this.spawnableCreatureList.clear();
    		this.spawnableMonsterList.clear();
    		this.spawnableWaterCreatureList.clear();
    		
    		this.spawnableMonsterList.add(new SpawnListEntry(EntityDemon.class, 10, 4, 4));
    	}
    }

     

  10. My bad, sorry that was a dumb move on my part -.- I keep forgetting to register my tile entities. Thanks for helping and tolerating my ignorance lol.

     

    10 minutes ago, Animefan8888 said:

    it will only store it once for all players.

    For my purposes it doesn't matter since I'll only have one of these portals in my world. I did however, also think about using capabilities to handle this beforehand, but I read somewhere that whenever a player respawns or dies custom capabilities added by forge are cleared and need to be readded through a player clone. I didn't want to bother with that if all players are going to teleport to the same place any way. I'm still curious though, is that true?

  11. I've successfully created a dimension and a block that teleports the player to said dimension's 0, y, 0 position (y being the top most block in the world given the x z value). My problem, however, is getting the player to teleport back. My goal is to create the same type of teleport block in the other dimension, which holds a tileEntity that will store where in the overworld the player teleported from. When I did this, however, the game threw a runtime exception saying my tileEntity is missing a mapping and crashed spectacularly. My guess is this because my tileEntity isn't created until my player has finished teleporting to the other dimension, but I don't really know any other way of giving the block in the other dimension a BlockPos. Any suggestions on how to fix this, or just a overall better approach would be more than welcome. Thanks in advance!

     

    Block code:

    
    public class NightmareObelisk extends BlockBase{
    	public NightmareObelisk(String name, Material material) {
    		super(name, material);
    		setSoundType(SoundType.STONE);
    		setResistance(18000000.0F);
    		setBlockUnbreakable();
    		
    		
    	}
    	
    	@Override
    	public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn,
    			EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
    		
    		if(worldIn.provider.getDimension() == 0) {
    	        if (!worldIn.isRemote && !playerIn.isRiding() && !playerIn.isBeingRidden())
    	        {
    	        	BlockPos nightmareSpawn = getAndCreateSpawn(playerIn.getServer().getWorld(Reference.NIGHTMARE), playerIn.getPosition());
    	        	CustomTeleporter.teleportToDimension(playerIn, 
    	        			Reference.NIGHTMARE, 
    	        			nightmareSpawn.getX(), 
    	        			nightmareSpawn.getY(), 
    	        			nightmareSpawn.getZ()
            			);
    	        	return true;
    	        }
    		}else if(worldIn.provider.getDimension() == Reference.NIGHTMARE) {
    	        if (!worldIn.isRemote && !playerIn.isRiding() && !playerIn.isBeingRidden())
    	        {	
    	        	if(worldIn.getTileEntity(pos) instanceof TileEntityNightmareObelisk){
    		        	BlockPos respawnPos = ((TileEntityNightmareObelisk)worldIn.getTileEntity(pos)).getTargetPos();
    		        	CustomTeleporter.teleportToDimension(playerIn, 0, respawnPos.getX(), respawnPos.getY(), respawnPos.getZ());
    	        	}
    
    	        	return true;
    	        }
    		}
    
    		
            return false;
    	}
    	
    	private BlockPos getAndCreateSpawn(World world, BlockPos overworldPos) {
    		BlockPos outputPos  = world.getTopSolidOrLiquidBlock(new BlockPos(0,0,0)).up();
    		world.setBlockState(outputPos, ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.east(), ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.west(), ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.north(), ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.north().east(), ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.north().west(), ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.south(), ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.south().east(), ModBlocks.BedrockBrick.getDefaultState());
    		world.setBlockState(outputPos.south().west(), ModBlocks.BedrockBrick.getDefaultState());
    		
    		world.setBlockState(outputPos.up().north(), ModBlocks.NightmareObelisk.getDefaultState());
    		world.setBlockState(outputPos.up().north().up(), Blocks.STONE_SLAB.getDefaultState());
    		world.setBlockState(outputPos.up(), Blocks.TORCH.getDefaultState());
    		if(world.getTileEntity(outputPos.up().north()) instanceof TileEntityNightmareObelisk) {
    			((TileEntityNightmareObelisk)world.getTileEntity(outputPos.up().north())).setTargetPos(overworldPos.getX(), overworldPos.getY(), overworldPos.getZ());
    		}
    		
    		outputPos = outputPos.up();
    		return outputPos;
    		
    	}
    	
    	@Override
        public TileEntity createTileEntity(World world, IBlockState state) {
        	TileEntityNightmareObelisk tileEntityNightmareObelisk = new TileEntityNightmareObelisk();
            
            return tileEntityNightmareObelisk;
     
        }
        
        @Override
        public boolean hasTileEntity(IBlockState state) {
        	return true;
        }
        
    
    
    }

     

     

     

    The CustomTeleporter code: 

    
    
    public class CustomTeleporter extends Teleporter{
    
    	private final WorldServer world;
    	private double x,y,z;
    	
    	public CustomTeleporter(WorldServer world, double x, double y, double z) {
    		super(world);
    		this.world = world;
    		this.x = x;
    		this.y = y;
    		this.z = z;
    	}
    	
    	public void placeInPortal(Entity entity, float rotationYaw) {
    		this.world.getBlockState(new BlockPos((int)this.x, (int)this.y, (int)this.z));
    		entity.setPosition(x, y, z);
    		entity.motionX = 0F;
    		entity.motionY = 0F;
    		entity.motionZ = 0F;
    	}
    
    	public static void teleportToDimension(EntityPlayer player, int dimension, double x, double y, double z) {
    		int oldDimension = player.getEntityWorld().provider.getDimension();
    		EntityPlayerMP entityPlayerMP = (EntityPlayerMP)player;
    		MinecraftServer server = player.getEntityWorld().getMinecraftServer();
    		WorldServer worldServer = server.getWorld(dimension);
    		
    		if(worldServer == null || server == null) {
    			throw new IllegalArgumentException("Dimension: " +dimension + " doesn't exist");
    		}
    		worldServer.getMinecraftServer().getPlayerList().transferPlayerToDimension(entityPlayerMP, dimension, new CustomTeleporter(worldServer, x,y,z));
    		player.setPositionAndUpdate(x, y, z);
    	}
    	
    }

     

     

     

     

    TileEntity code:

    
    public class TileEntityNightmareObelisk extends TileEntity{
    	private int x,y,z;
    	
    	public TileEntityNightmareObelisk() {
    		this.x = 0;
    		this.y = 0;
    		this.z = 0;
    	}
    	
    	
    	@Override
    	public void readFromNBT(NBTTagCompound compound)
    	{
    		super.readFromNBT(compound);
    		if (compound.hasKey("x") && compound.hasKey("y") && compound.hasKey("z")) {
    			x = compound.getInteger("x");
    			y = compound.getInteger("y");
    			z = compound.getInteger("z");
    		}else {
    			x=0;
    			y=0;
    			z=0;
    		}
    
    	}
    	
    	@Override
    	public NBTTagCompound writeToNBT(NBTTagCompound compound) 
    	{
    		super.writeToNBT(compound);
    		
    		compound.setInteger("x", x);
    		compound.setInteger("y", y);
    		compound.setInteger("z", z);
    		
    		
    		return compound;
    	}
    	
    	public BlockPos getTargetPos() {
    		return new BlockPos(this.x, this.y, this.z);
    	}
    	
    	public void setTargetPos(int x, int y, int z) {
    		this.x = x;
    		this.y = y;
    		this.z = z;
    	}
    
    	
    }

     

     

     

  12. I am trying to add a crafting table recipe via JSON

    {
        "type": "minecraft:crafting_shaped",
       
        "pattern":
        [
            "AAA",
            "ALA",
            "AAA"
        ],
       
        "key":
        {
            "A":
            {
                "item": "crumblemod:arcana_shards"
            },
            
            "L":
            {
                "item": "minecraft:oak_log"
            }
        },
       
        "result":
        {
            "item": "crumblemod:magic_logs_block",
            "count": 1
        }
    }

    All my other recipes work just fine, yet with this JSON recipe for some reason it throws the exception:

    Quote

    [main/ERROR] [FML]: Parsing error loading recipe crumblemod:magic_logs
    com.google.gson.JsonSyntaxException: Unknown item 'minecraft:oak_log'

    As in it cannot find the vanilla item oak logs. If I swap out oak logs with something like glass, however, the recipe would work again. What might be causing this?

  13. 3 minutes ago, V0idWa1k3r said:

    This makes no sense. You've just accessed the NBTTagCompound that contains the serialized item data. Nothing about this says anything about a ByteStream.

    Thanks for the response. My goal is to get the nbt data of a shulker box in its item form and pass it to a custom tileEntity. From my understanding all I have to do is call that line and add these lines into my packet:

    in #toBytes

    ByteBufUtils.writeTag(buf, nbt);

    and #fromBytes

    nbt = ByteBufUtils.readTag(buf);

     

    I feel like the Shulker box with its many items holding their own nbt data, however, would cause the packet to be over the limit? Is there a way to know the size of the packet when I'm sending it somehow?

  14. Hi, I want to send the nbt data of an item block to the server through a packet. From my understanding, NBTTagCompounds are already converted to byte streams since the way I accessed it was:

    NBTTagCompound nbt = this.inventorySlots.inventorySlots.get(0).getStack().serializeNBT();

    hence I can send it through my packet. However, I read somewhere that there is a limit to how much data you can send to the server through a packet. Is this still true as of the 1.12.2? If so, what is the size, and how do I make sure I don't go over the limit? Thanks in advance

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.