Jump to content

deathchanter

Members
  • Posts

    19
  • Joined

  • Last visited

Everything posted by deathchanter

  1. By the way, in this version I still see a lot of random variable names like p_196271_3_...why is it so if we have mappings?
  2. Thanks, so maybe I should study the code for vanilla blocks a bit...!
  3. Hi, I'm now trying to make my block's affiliated tile entity update using onBlockActivated(). But seems this method doesn't exist in the latest Forge version for 1.16.5...where in earlier tutorials I see peoples using it. So in general, which version offers the most complete and deobfuscated code to work with? Thanks!
  4. It will be very nice if you can as well point me to similar codes if you want, so I can browse existing codes as well.
  5. Hi Ben, but I did create that block entity class for storing the random light level. Is there anything I did wrong there that should be corrected? Also, I'm not very sure about how to access this property from tile entity using lambda as you suggested. Can you perhaps clarify? Thank you!
  6. Hmmm, I checked out redstone lamp's code and seems that tile entity is not needed, and I can use getStateForPlacement method to set the lightlevel. Can anyone corroborate this?
  7. Hi, I want to create a type of block such that whenever you place an instance in the world, it gets a different lightlevel randomly in {0,....,15}. To do this, seems I can't use randomness in the constructor. So I tried to override the getlightlevel method of the custom block. But then how do I feed the private field lightlevel of the block tile entity to this getlightlevel method? When initializing tile entities attached to the blocks, I randomly set these lightlevels already. Here's part of my code: public class TestBlock extends Block { // int randLightLevel = rand.nextInt(16); public TestBlock(){ super(AbstractBlock.Properties.of(Material.METAL) .jumpFactor(6) .lightLevel((blockstate) -> 0)); } // @Override // public int getLightValue(BlockState state, IBlockReader world, BlockPos pos) { // return randLightLevel; // } @Nullable @Override public TileEntity createTileEntity(BlockState state, IBlockReader world) { return new TestBlockTile().setLightlevel(); } @Override public boolean hasTileEntity(BlockState state) { return true; } package com.example.examplemod.blocks; import net.minecraft.tileentity.TileEntity; import java.util.Random; import static com.example.examplemod.RegistryHandler.TESTBLOCK_TILE; public class TestBlockTile extends TileEntity{ static private Random rand = new Random(); private int lightlevel; public TestBlockTile(){ super(TESTBLOCK_TILE.get()); } public TileEntity setLightlevel() { this.lightlevel = rand.nextInt(16); return this; } }
  8. Thanks Ben! I figured this out and put the results and the steps here: https://github.com/ziyuanzhao2000/Forge-API-Documentation/blob/main/README.md. Might be helpful to other new modders. hmmm.... I still see a lot of obfuscated variable names. Are these normal given I was compiling the latest Forge mod?
  9. Hmmm.. So I'm also looking into the same thing. Is there anyway to suppress errors and just generate the htmls using javadoc?
  10. Thank you! Obviously the list is so long and I didn't look at it careful enough before... I unzipped and then renamed the folder before attemping: javadoc -d ForgeDocs -classpath ForgeSource -subpackages net But it throw 100 errors due to some unrecognized symbols from other packages. Well, the problem is that I don't quite see any html output. How should I do this correctly?
  11. Not sure exactly which library you are talking about so I'm most likely doing the wrong thing...sorry
  12. Tried to follow the last comment on this post: https://github.com/MinecraftForge/MinecraftForge/issues/1724 using my source.jar_XXXX file, but not quite working yet.
  13. There are a lot of external libraries which I assume are not the forge jar. Then I found this "forge-1.16.5-36.1.2_mapped_official_1.16.5-sources.jar_a3996c759375e74d54b8b3c98f4b2a5e" in build>tmp>expandedArchives. But it's not in jar format. How should I solve this, or am I looking at the wrong file? Is there any other way to inspect all libraries attached to an IntelliJ project. Thanks!
  14. Apologize for the dumb question. But I only see 3 jars in my working environment right now: 1. forge mdk, 2. forge installer, 3. compiled mod jar. I tried these three with javadoc but none quite works. I also tried to search this online, but some older posts I see (like this: ) aren't quite helpful... because I'm still not sure which jar should I use and the ones I used doesn't seem to work.
  15. I do see javadoc when typing code and all possibilities come up for me to autocomplete my lines. But I was wondering if it's able to generate a document for all class and properties, etc. in the latest Forge version locally, with a format like in the link I gave above. I'm not too familiar with how to do that with gradle. Is there any one-liner to do this?
  16. Thanks again, and sorry I should have googled that question. You are right, I should be able to look up the doc in IntelliJ
  17. Thank you! I just checked an youtube tutorial and found the same thing... turns out I'm looking at a slightly outdated java doc for 1.16.5 36.0.15. I wonder if there's an updated java doc for the latest stable version of Forge, like this one: https://nekoyue.github.io/ForgeJavaDocs-NG/javadoc/1.16.5/overview-summary.html. Thanks again for your quick reply!
  18. Hi all, I'm new to the modding scene, and I've been reading the Forge Java doc recently to familiarize myself with the language of Forge API. However, I just encountered this very simple issue...I tried to register an item, and to set the group, I used "new Item.Properties().group(ItemGroup.TAB_MATERIALS)", but Java is saying that "Cannot resolve method 'group' in 'Properties'", which is very strange. This is my full code for the class. Thanks! package com.example.examplemod; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class RegistryHandler { public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, ExampleMod.MODID); public static void init(){ ITEMS.register(FMLJavaModLoadingContext.get().getModEventBus()); } public static final RegistryObject<Item> TEST = ITEMS.register("test", ()-> new Item( new Item.Properties().group(ItemGroup.TAB_MATERIALS) ) ); }
×
×
  • Create New...

Important Information

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