SUGGESTION: Feature modules
Closed this issue ยท 9 comments
I have been incredibly impressed by the pace at which this mod is developing. But at the same time, while it's gaining more and more of an identity of its own, its diverging a bit from what I liked/wanted from it. That isn't a bad thing, mind you. It just nudged me to come leave a note. :)
What would be really helpful for me (and surely others in the future) would be if you'd consider breaking the mod up into modules or setting up a master config choice for different parts of the mod.
Some of the best parts of PVJ are the absolute simplest and already offer features I haven't found any competition for. Your groundcover is going to be timeless, for example. The fireflies, snails, etc, also add a great touch. I don't want to do without them after having them. They make the world feel more alive.
But if I include PVJ in a playthrough/modpack, I have to balance it against other mods that it is installed beside. So for example, if I want to include it in a more modern environment, I can turn off the appropriate mobs and I can tailor some of the cover, but I can't take the mystical grill (and its recipes) out of the game without going around your mod. If I want to include it in a fantasy setting, I can't take the chimney out. And so on. As you add more to the mod, there will be more and more items that have this issue.
Plus, as you introduce the occasional bug (we all do it), right now there is no way to kill functionality that is causing a problem. Like some of the server crashes a few versions have provoked. We either have to disable the mod entirely (which has already put objects into a worldmap) or stop playing a world until you've pushed an update correcting the bug. I would recommend dividing the mod up into groundcover, biomes, trees (and respective materials), and tech.
If it's your intention to basically build the equivalent of a total experience modpack in your single mod (which would be quite the undertaking!) and its meant to be run against a vanilla install, then I can understand the current setup. It just limits how many people will use it over time. But that's your choice in every way--your vision is the important one here.
Thanks for your hard work so far. It's been very cool to watch the mod develop. I'm curious to see where your imagination will take it.
Thank you for the feedback!
I apologize for some of the updates that caused crashes, they were rushed and not well done at all.
The next update will add a part of the config to disable large sections of the mod, such as biomes, mobs, etc. It will also pull the mod back towards it's central idea, which is expanding on the vanilla world. You can view the upcoming additions through the commits to the repository.
My vision for the mod is for it to just be a mod that makes wandering around the world a little less boring. Lots of mods add new biomes or dimensions. PVJ does that too, but the goal is to make the existing world more exciting. And of course, there are other things like the mystical grill, chimneys, and lanterns. Those components are part of the mod because I like to work on one mod instead of multiple. There are drawbacks, like the ones you mentioned, and I considered it a risk to put those things in the mod, but I'm hoping to provide more flexibility as the mod progresses. PVJ is still a fairly new mod, still taking baby steps.
It does try to reflect the real world, but I'm thinking of adding some fantasy elements into it as well.
No apologies needed. You put a thing out in the world that wouldn't otherwise exist, without any of us asking you to do it, and then you weather the slings and arrows of misfortune in the form of Internet criticism. It's good that you recognized you rushed and you're amending your behavior--that's more than most people do. :)
Re: updates -- Nice. That's exciting to hear. Once I see the new configs, I'll re-evaluate putting it back into my current pack. I really dig the groundcover and other sensory input you add (making it visually less boring). It makes a huge difference.
Re: vision -- I can get behind all of that. It just turns out that you've managed to create a few features that fall into the 'Everyone needs to try this spoon thing, it's awesome for eating soup!' sort of category. It would be a shame if those things were consumed by the larger project in some way. It's really easy to overlook how stunning a simple, functional, useful thing can be, while on the road toward a grand destination.
I think your current path is all good. Reflect the world or not... Reflect any kind of fantasy. Enjoy the chance to be creative. You're clearly good with this medium, and I'd like to see what you do. That's why I requested config/module options as a feature rather than saying it's a bug. Heh.
Nice. :) This will let me setup a mastered config and distribute it to people who play on our server when the time comes, to keep our theme solid. I'm looking forward to it.
Thank you for implementing it so quickly. :) I will be checking curse for it regularly until it releases and I'll get back to you with feedback after some testing.
@mc-jt9 I used the config to turn off a number of your objects and when I was going through a load log today (I'm learning to mod right now and check it frequently), I noticed an entry like this for every item I turned off. Looks like the object is off but the recipes are still trying to load, but they're not failing very gracefully.
[09:42:00] [main/ERROR]: Parsing error loading recipe pvj:stone_chimney_top
com.google.gson.JsonSyntaxException: Unknown item 'pvj:stone_chimney'
at net.minecraftforge.common.crafting.CraftingHelper.getItemStackBasic(CraftingHelper.java:260) ~[CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper.lambda$init$16(CraftingHelper.java:537) ~[CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper$$Lambda$260/702428713.parse(Unknown Source) ~[?:?]
at net.minecraftforge.common.crafting.CraftingHelper.getIngredient(CraftingHelper.java:202) ~[CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper.lambda$init$14(CraftingHelper.java:474) ~[CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper$$Lambda$256/957462734.parse(Unknown Source) ~[?:?]
at net.minecraftforge.common.crafting.CraftingHelper.getRecipe(CraftingHelper.java:409) ~[CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper.lambda$loadRecipes$22(CraftingHelper.java:711) [CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper$$Lambda$825/1965412937.apply(Unknown Source) [CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper.findFiles(CraftingHelper.java:822) [CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper.loadRecipes(CraftingHelper.java:668) [CraftingHelper.class:?]
at net.minecraftforge.common.crafting.CraftingHelper$$Lambda$823/734903789.accept(Unknown Source) [CraftingHelper.class:?]
at java.util.ArrayList.forEach(ArrayList.java:1249) [?:1.8.0_51]
at net.minecraftforge.common.crafting.CraftingHelper.loadRecipes(CraftingHelper.java:620) [CraftingHelper.class:?]
at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:742) [Loader.class:?]
at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:336) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:534) [bib.class:?]
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:377) [bib.class:?]
at net.minecraft.client.main.Main.main(SourceFile:123) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
Ah yeah, I didn't realize you could add conditions to load recipes or not until today. It's only an "error" in the console, but it does make it look messy. I'll clean it up in the next update.
It's all good. :) I could tell it was just erroring out, but some folks get picky about the log (especially the ones who don't know how to read it), so I figured I would give you the head's up. Since you've had such a good release pace I thought you might want it out of the way early. Makes more time for adding more cool stuff.
Oh, and as a sidenote, your world features have returned my screenshots to a beautiful place. heh.
I swear, the bones make my day in a way that can't be healthy.