Jump to content

ModMCdl

Members
  • Posts

    188
  • Joined

  • Last visited

Everything posted by ModMCdl

  1. Got it, I didn't know it was a static method, and IntelliJ didn't want to autocomplete it as one. Your second explanation was also much more clear than the first. As I said before, the last time I dealt with transparency, it was overridden directly in a custom block class. Thanks!
  2. How am I calling this? Can you point me in a direction for an example of this in action?
  3. Your .json looks valid, so you don't have to worry about syntax. Where is this .json located? It should be placed in resources\data\modid\recipes. If it's already there, is everything spelled correctly in both this .json and the directory?
  4. Your modid needs to be all lowercase, as imacatlol said. Quick Tip: A tactic that I use in order to make sure that my modid is consistent throughout my code is simply create it as a static string in my "main" class, and then just reference it throughout the rest of the mod as MainMod.MODID . This way, I don't accidentally misspell it later on, and have to dig through my logs and code to find out what is causing such a simple error. @Mod(MainClass.MODID) public class MainClass { public static final String MODID = "modid"; }
  5. Hello, I am creating a custom type of lantern in the game, and to do this I'm pulling directly from the LanternBlock class: public static final RegistryObject<Block> VOID_LANTERN = BLOCKS.register("void_lantern", () -> new LanternBlock(Block.Properties.from(Blocks.LANTERN))); In-game the lantern has the correct model, and the textures are mapped correctly, however there is no transparency within the textures themselves. You can see what I mean in the pic below. How would I go about fixing this. 1.12.2 was the last time I dealt with modding, and it seems the entire games rendering system has changed since then.
  6. Aha, so this worked! Now my only concern is that if another mod has a walls.json tag, if they use this same method will it override my own, since my "replace": tag is also false? Or am I safe?
  7. The "replace": value in the vanilla default walls.json file is false, so it should recognize my own tag file over its own. It also won't let me add/edit files in the minecraft jar either way.
  8. Hello, I am attempting to create a custom wall type for my mod. The model and blockstates work however, they do not connect to each other. They do connect to other valid blocks, including ones from my mod. I've looked it over, and I'm not quite sure where I'm going wrong. My block register in my ModBlocks class (VoidaicBlocks) public static final RegistryObject<Block> VOIDSTONE_WALL = BLOCKS.register("voidstone_wall", () -> new WallBlock(Block.Properties.from(VoidaicBlocks.VOIDSTONE.get()))); My walls.json tag in data/modid/tags/block { "replace": false, "values": [ "voidaicearth:voidstone_wall" ] } Attached is how they currently work in-game:
  9. I ended up reverting the forge mapping to the default that came with the initial 1.15.2 release. This seemed to solve the problem for me. I'll progressively try new mappings, and see if the problem keeps occurring, but for now I seem to have fixed it.
  10. Heyo. I took a decent break from MC Modding over the past 8-9 months, and have decided to hop back in after a while to try and recreate a few of my older projects that I really liked in 1.15.2. However, when I launch my client to test that my workspace is all set up, I keep running into a quite annoying problem in that the example mod is riddled with cannotResolveSymbol errors. I recently switched to IntelliJ over eclipse due to an abundance of recommendations, so it's entirely possible that I'm doing something wrong. But here is my step-by-step recollection that I setup my workspace. Download MDK, extract to development folder. Edit build.gradle to reflect my unique modid and group. Launch IntelliJ, import project from build.gradle | completes with no errors Run task genIntellijRuns | completes with no errors Open ExampleMod | red everywhere For reference, here are my import logs, and my genIntellijRuns log. Also for reference, I'm following Cadiboo's 1.15 modding tutorial on his website. https://cadiboo.github.io, and the last version I worked with before now was 1.12.2
  11. Another method to use is BlockPattern private BlockPattern pattern = FactoryBlockPattern.start().aisle( "010", "020", "030") .where('1', BlockWorldState.hasState(BlockStateMatcher.forBlock(ModBlocks.Block1))) .where('2', BlockWorldState.hasState(BlockStateMatcher.forBlock(ModBlocks.Block2))) .where('3', BlockWorldState.hasState(BlockStateMatcher.forBlock(ModBlocks.Block3))) .where('0', BlockWorldState.hasState(BlockStateMatcher.ANY)).build(); It searches in a variable radius around your center block (in this case, Block2) to find other blocks defined in your pattern.
  12. Creating custom clients is not necessarily illegal. However, the most straightforward ways to create custom clients are illegal. Like above, I'd recommend you just not do it.
  13. Alright. I'll probably think of a different option then. Probably just have shears be used on right-click or something simpler. Really just wanted this to be a small little addon. Thanks for the help though!
  14. Hi all. Just a quick question here. How do I create a crafting recipe where a certain vanilla item (shears) is not consumed in a particular crafting recipe? I've tested it already, and shears do not appear to be a containerItem, nor do I particularly want to register them as such. Is there a way to do this on a per-recipe basis in 1.12's .json crafting? Current Recipe" Thanks!
  15. Harvest levels are stored via the integer variable (int), so you can't necessarily use a Harvest Level of say... 2.5. It probably is possible though, but if it is it will convoluted. Like Draco said above though, you can set the harvest level to any whole number. As long as it has a tool with a matching or higher harvest level, it can be broken by said tool.
  16. Use this.setContainerItem in your Hammer Item class.
  17. You do not need advanced Java knowledge to get into Minecraft modding, unless you're trying to do some really complicated stuff. If you already know a high-level programming language, transitioning to Java will be a breeze. I'd recommend learning the basic syntax, setup, and overall flow of Java. That's pretty much all you need to start. I would definitely recommend learning modding for 1.12.2 for now. Forge for 1.13 is an incomplete nightmare right now, and 1.12.2 is still pretty relevant, both here on the forums and in the modded playerspace as well. Learning in a well-explored version will be easier, and also make the eventual transition to 1.13 easier as well. You can do this by creating an EventHandler and then adjusting the drop event for the block/mob of your choice. That's just the general idea though, you'll need to learn a bit more first, and probably work your way up to that. I'm sure others here can help you out : ) .
  18. This is typical software engineering jargon for "I wouldn't do it that way." In this case, if the code works, it works. If you're going into professional programming, then maybe you should take the time to learn how to efficiently write code, but for someone who's learning how to mod Minecraft, it really doesn't matter. As time goes on, you'll eventually learn what practices to use over others. The important thing is that most of this forum will not help you out well unless you come already with code. The people here, and in many other places, do not like to just "hand out code" and will be more likely to help. So start out by working with what you know. You're not expected to have perfect code when you first start. And trust me, if you come here with one error, they're going to point out all of the other ones, too. That's my advice. Chances are one of the "higher ups" here will trump me, because that's what they do. Welcome to Forge.
  19. The only reason I hardcode is exactly for that reason. The items in my mods that I want the users to be able to customize are included in my mod's config file.
  20. Okay, I finally figured it out with help from MDC. It's not the best way to do it, but it's the only way I've found so far that works. If/when a dependency is added or updated, I need to: push all my changes to a branch of the git repo, (git checkout -b new_branch_name, then commit and push) delete everything in the folder except for my .git folder, unpack the forge mdk in the empty folder, hard reset my local repo to the master branch of the git repo, (git reset --hard origin/master) run gradlew setupDecompWorkspace eclipse, grab whatever necessary changes from your previous code in the new branch launch eclipse in a new workspace located in the /eclipse folder I was told by someone else that the /eclipse folder is already all set up with the project files for eclipse so that you do not need to import the project afterwards (which always causes problems). For those having this problem in the future: if you're not using git for your project, you can just copy the /src folder to a safe location to save your work, and replace it when you've rebuilt the environment.
  21. Setting the workspace to the MDK rather than /eclipse results in an empty workspace, and won't allow me to import the project because "the project already exists in the workspace." Why shouldn't I set it up in the /eclipse directory?
  22. I'd try more things and offer more information, but I really am lost here. After trying to crack it for most of today, I still have no idea what the problem is, as it is an isolated incident on the team for me and me alone. I've rebuilt my dev environment several times, and cross-checked the build.gradle as well, and I can't find anything. I've spoken with other members of my dev team to try and see what they did to get it working, but all of them said "it just worked for them," so I really can't offer much more.
  23. Not really sure, the way I do it has always worked fine for me, so I haven't yet explored other methods of doing it. The recipes are in the class, they don't rely on any secondary json. Feel free to poke around the git a bit more if you want.
×
×
  • Create New...

Important Information

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