-
Posts
49 -
Joined
-
Last visited
-
Days Won
1
Everything posted by Syndaryl
-
[1.16.2] Block with wavefront [.obj] model
Syndaryl replied to ZephyrWolf_'s topic in Modder Support
Thanks so much for breaking this down! Hugely helpful to me, I've had a lot of trouble figuring this out! -
Ah. Wonderful. One of those problems.
-
It's not the 0 that's the problem, it's that the array is null - it has NO number of keybindings in it, so no number is valid.
-
Is the minecraftforge maven misbehaving? This has been going on for about an hour now (alternating with connection timeout errors) D:\Games\Forge_Eclipse_workspace\minecraft-roguelike>call gradlew.bat setupDecompWorkspace --refresh-dependencies FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'minecraft-roguelike'. > Could not resolve all dependencies for configuration ':classpath'. > Could not resolve net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT. Required by: :minecraft-roguelike:unspecified > Could not resolve net.minecraftforge.gradle:ForgeGradle:2.2-SNAPSHOT. > Unable to load Maven meta-data from http://files.minecraftforge.net/maven/net/minecraftforge/gradle/ForgeGradle/2.2-SNAPSHOT/maven-metadata.xml. > Could not GET 'http://files.minecraftforge.net/maven/net/minecraftforge/gradle/ForgeGradle/2.2-SNAPSHOT/maven-metadata.xml'. > Connection to http://files.minecraftforge.net refused
-
For the next person with this problem: I've found a solution (thanks Greymirk!) in your build.gradle, in the minecraft {} section, add " makeObfSourceJar = false " So, mine looks like this: minecraft { version = "1.11.2-13.20.0.2216" runDir = "run" mappings = "snapshot_20170120" makeObfSourceJar = false } Now, if you needed the obfuscated source JAR this isn't going to help you. But if you DIDN'T (and I don't even know what that's for, so I don't) this will make the problem go away.
-
That did help, but I've since found a more reliable solution (thanks Greymirk!) in your build.gradle, in the minecraft {} section, add " makeObfSourceJar = false " So, mine looks like this: minecraft { version = "1.11.2-13.20.0.2216" runDir = "run" mappings = "snapshot_20170120" makeObfSourceJar = false } Now, if you needed the obfuscated source JAR this isn't going to help you. But if you DIDN'T (and I don't even know what that's for, so I don't) this will make the problem go away.
-
Did you ever get this resolved? I'm having the same problem.
-
debug dump at https://1drv.ms/t/s!AqTWbM9NKFyOrSmxDfI5TIOACLr_ I'm trying to build a fork of Greymerk's Roguelike Dungeons but it keeps stalling at :retromapReplacedMain remapping source... It has one core pegged out at max, and after several attempts I let it run overnight, but it's still sitting there and I have no signs of progress. I've tried groveling over the debug dump but there's nothing obviously awry (not that I'm familiar with gradle's internals anyways). Where do I go from here for troubleshooting? EDIT: I should note I've tried a clean and setupDecompWorkspace again (and again and again), and even a cleanCache. No particular change in behavior.
-
[1.9.4] Remove AI task from vanilla mob (kill Silverfish forkbomb)
Syndaryl replied to Syndaryl's topic in Modder Support
Herpderp. Thanks, not entirely used to reflection yet so I never think of it as a tool. -
Context: I'm trying to disable the ability of Silverfish to summon more Silverfish, because I hate that particular design choice too much for my own good health. I'll probably try to replace it with some other ability that doesn't give me The Rage, but first I have to nuke it. I'm poking around in EntitySilverfish and it's a custom AI task. "AHA!" I said to myself, "I can just remove it from the task list when they spawn!" (via the EntityJoinWorldEvent event). Alas, it's a package scoped internal class, and the instance of the class on each EntitySilverfish is in a private variable. So my first idea won't work: entity.tasks.removeTask(entity.summonSilverfish); // instance of AI class - private, can't access and my second idea won't work, to whit iterating over entity.tasks.taskEntries to find the one that is of class EntitySilverfish.AISummonSilverfish, and remove THAT. Can't check for that, since it's private. I can nuke silverfish from spawning entirely by catching LivingSpawnEvent.CheckSpawn and denying them, but completely forbidding them is overkill, and I'm not sure how to catch if they've been summoned by a silverfish at this point. Soooo... how can I remove this private class from the list when I'm not even allowed to know its a thing?
-
[Solved][1.9.4] Block Hardness and IBlockState
Syndaryl replied to Syndaryl's topic in Modder Support
The irony is that I had the IBlockState already, because getBlockHardness was updated to ask for it. Doesn't do anything with it, but it asks for it. Good enough for me! -
So, while updating for 1.9.4, I noticed Block.getBlockHardness() is deprecated. I assume that this is being phased out in favor of using IBlockState/BlockStateContainer. Unfortunately I know zero about BlockState and Google refuses to cough up anything other than crash logs, or BlockContainers (because Google hates programmers... ) How do I get Hardness out of a block these days?
-
Context: I'm updating my dev environment from 1.9 to 1.9.4 - project built successfully previously with 12.16.1.1907 / snapshot_nodoc_20160512 I've updated to build against 12.17.0.1957 / snapshot_20160601 I call gradlew.bat setupDecompWorkspace --refresh-dependencies Applying SpecialSource... Applying Exceptor... :decompileMc FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':decompileMc'. > java.lang.NullPointerException (no error message) I've tried various other versions of Forge from .1922 up; what did I mess up when upgrading?
-
Gotcha, that should sort me then!
-
Yes, but how does one alter even one of those pieces? I'm pretty interested in this myself.
-
Yes, as you'll see that Frex forge has some mod options You'll need a config gui, and a configuration handler to put your own config options in. You can find mine here on GitHub: https://github.com/Syndaryl/UtilityBlocks/tree/master/src/main/java/org/syndaryl/animalsdropbones/handler
-
[1.7.10] Adding Dependencies via @Mod annotaion
Syndaryl replied to Macintoshuser_2's topic in Modder Support
That's curious. Unzip your JAR file and have a poke around - has the referenced JAR ended up inside it? If it has, delete it from inside your JAR and figure out what's up with your build process that it's doing that. It shouldn't, for reference. -
So, in 1.7.10, 1.8, and 1.8.9 my hacky code for breaking blocks next to the block the player broke worked (at least in SSP, never really tested it in MP...). 1.9 doesn't like my approach, so I need to clean it up. So, starting from scratch: I have a sledgehammer tool and a mattock tool. One is a kind of pick, and the other is a kind of shovel. When you use them appropriately, not only do they break the block you were digging (as usual) but they also scan around for every adjacent block and break those - if they're breakable by the tool. These neighbour block candidates should drop XP, items, or blocks as appropriate (ie per Fortune, Silk Touch, etc). I am scanning the neighboring blocks and making the list of candidates - I'm ideally looking for a method that takes an EntityPlayer or one of its descendants, the World, a BlockPos, and information about Fortune/Silk Touch, and breaks the block found at that BlockPos as if the EntityPlayer broke it. I've found PlayerControllerMP.onPlayerDestroyBlock() and PlayerControllerMP.tryHarvestBlock() but they both seem to be for multiplayer only. Ideally I want something that works both in Singleplayer and Multiplayer. Also, not quite sure how to find them from inside the item. halp?
-
[1.7.10] Adding Dependencies via @Mod annotaion
Syndaryl replied to Macintoshuser_2's topic in Modder Support
You don't put the name of the jar! The name of the jar is meaningless, and players can rename them to anything they want (as long as it ends in .jar) Each mod instead has a unique MODID that is used to refer internally to each mod. Yours is "addon" (I recommend changing that to something unique). My mod has a dependency on DrCyano's Base Metals mod. But I don't put "BaseMetals_1.9-2.2.2.jar", I use the modid, "basemetals" - if I want any version. If I want specifically version 2.2.2 , i put "basemetals@[2.2.2]", and if I want 2.2.2 OR LATER I put "basemetals@[2.2.2,)" - yes a square bracket and a round one, it's set notation. I'm pretty sure you can find the modid in the Mods menu. -
[1.7.10] Include external library? [solved again]
Syndaryl replied to Syndaryl's topic in Modder Support
Ah, it needs another library. Well, now I'm at the point where I can just keep jamning them in my fatjar until Minecraft stops complaining at me -
[1.7.10] Include external library? [solved again]
Syndaryl replied to Syndaryl's topic in Modder Support
It's building again. Minecraft is still crashing when I click, but I accidentally trashed the log so I'm rerunning that and doing some more testing to see what the ding dang issue is. -
[1.7.10] Include external library? [solved again]
Syndaryl replied to Syndaryl's topic in Modder Support
OK, I'm back. Gradle and I are having an argument still, this time about the srgExtra line. I read through the entire Shading article, and I looked at the sample Shading recipe. I just can't get it to build. I've put my project up on git, the build.gradle is at https://github.com/Syndaryl/dumpentitylist/blob/master/build.gradle I tried a PK (package) based remap first, that failed too. As far as I can tell from the source, CL and PK should be the part being referred to for that error, but those are also, according to the source, correct. I feel like I must be just a little bit off somewhere. -
[1.7.10] Include external library? [solved again]
Syndaryl replied to Syndaryl's topic in Modder Support
AHA, "Shade", that's the magic word! Thanks much. -
I wrote a little utility to get the class names of all the monsters from all my loaded mods, so I can set up iChun's morph mod to support all my mods I made a cruddy little wand that when you right click it, it dumps all the mob classnames to a log file. This means I can be sure I'm dumping my list after all mods have initialized and created their monsters. It relies on a library that isn't part of my mod, Minecraft, Forge, or the standard Java distribution; the library is org.reflections from https://github.com/ronmamo/reflections I built the library locally using maven, it works if I make little programs testing it in eclipse so I'm pretty sure it's built right. It was built into "reflections-0.9.11-SNAPSHOT.jar" Unfortunately, while I can build (with gradle) my code using the library, when I right-click my wand and invoke org.reflections, Minecraft dies with a java.lang.NoClassDefFoundError (specifically complaining about org.reflections). What I've done: I've added reflections-0.9.11-SNAPSHOT.jar to the libs folder in my project. I added the following to my build.gradle dependencies { compile files( 'reflections-0.9.11-SNAPSHOT.jar' ) } That lets everything build nicely, but as mentioned Minecraft throws a java.lang.NoClassDefFoundError in the onItemRightClick on my object as it creates a new org.reflections.Reflections. I tried using -classpath to tell java where my built classes for org.reflections are, and then where the buit jar was, when starting Minecraft but no behavior change. I experimentally copied reflections-0.9.11-SNAPSHOT.jar into my mods folder, but it didn't change the behavior, presumably because the library is not a mod, so Forge doesn't load it. And then, flailing a little, I moved it into mods\1.7.10 but naturally that doesn't work either. As another experiment, I cracked open my mod and the reflections .jar, and merged the contents into my mod. I really would have thought that would make the classes visible but no change. Sad panda. I'm flailing around a bit much so now I come to you to find out how I'm supposed to use this external library jar with my mod? Please?