Ancient Warfare 2

Ancient Warfare 2

6M Downloads

Suggestion: minetweaker support?

mvdhoning opened this issue ยท 8 comments

commented

First of all congratulations on making this nice mod :-) Love the progression system and npc running farms. But it could use a bit more configuration options for modpack integration. E.g. in my custom modpack i disabled the buildcraft quarry in favor of an ender quarry. I know i can disable it in the config.
But it is tempting to allow a small npc driven only (aka slow) quarry. But there does not seem to be a way to make it npc driven only. Of course i could disable the windmill etc, but they are so fancy with moving parts.

Will there be minetweaker(3) support? So i can make the recipie for e.g. the quarry/windmill more expensive?
Or give an option to move e.g. the quarry to another place in the research tree. So the quarry can become more late game.
To go beyond, it would be nice to allow adding new items in the research tree (with requirements) to add other mods into the research tree :-)

I know how to program java and am tempted to dive into it. But if you have planned something for it or can do it soon i stay away from diving into it. The research tree seems to be dynamic already in a csv file? Only recipies are not. Recipies seem all to be in code using AWCraftingManager that could be used for minetweaker for adding new recipies but not for deleting them.

Now that i think about it a quick fix to balance the quarry would be to disable the tool upgrades for it.

commented

The entire research tree and most recipes can be changed through the resource files.

commented

I totally missed opening the research_crafts.csv file. I have a go at trying to alter it.

commented

Worked, altered the quarry recipe to need a diamond pick :-)
So now i can go bonkers on finetuning/balancing it and maybe even balance other mods with it.
Awesome :-) Who needs minetweaker ;-)

PS can the mod read those csv files from another places like config or do i need to continue to patch the jar file?

commented

There are a few options in the config files related to research, but for the most part, to patch the jar file is the recommmended way.

commented

How exactly would one patch a jar file?

commented

Well you appended "ore:" before the item name, making it search for a mod named "ore". Which didn't exist. Forge dictionnary names are not appended with anything to avoid conflict in item registry.
I'll close the issue now.

commented

By editing it like a zip file. Any archive manager should do. My preference would be on 7zip, but that is my choice.

commented

Yes i use 7zip for altering the csv files inside the jar file.

I added a new entry to research data, added research resources for it and made it a dependency of inventions and added a craft to it.

The name in gui prepends research. in front of the name i added to research data. Have not yet discovered where to alter the display name. Figured it out: the display name can be editited in the lang files e.g. en_US.lang in the lang folder.

I can research it but once research and clicking on the craft the game crashes but i might have done something wrong there:
noeska,ImmersiveEngineering:coil,0,1,sc_,cc_,___,s,ore:stickWood,c,ore:ingotCoppper

arranged the recipe for the craft like this now and it works:
noeska,ImmersiveEngineering:coil,0,1,_m_,msm,_m_,m,ingotCopper,s,stickWood
still not sure what is wrong with the first one


[19:45:03] [Client thread/FATAL]: Reported exception thrown!
net.minecraft.util.ReportedException: Ticking screen
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1675) ~[bao.class:?]
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973) ~[bao.class:?]
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898) [bao.class:?]
    at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_31]
    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:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_31]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_31]
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:310) [NewLaunch.jar:?]
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:395) [NewLaunch.jar:?]
    at org.multimc.EntryPoint.listen(EntryPoint.java:170) [NewLaunch.jar:?]
    at org.multimc.EntryPoint.main(EntryPoint.java:54) [NewLaunch.jar:?]
Caused by: java.util.NoSuchElementException
    at java.util.ArrayList$Itr.next(Unknown Source) ~[?:1.8.0_31]
    at net.minecraftforge.oredict.OreDictionary$UnmodifiableArrayList$2.next(OreDictionary.java:682) ~[OreDictionary$UnmodifiableArrayList$2.class:?]
    at net.shadowmage.ancientwarfare.core.gui.GuiResearchBook.addRecipeModeControls(GuiResearchBook.java:90) ~[GuiResearchBook.class:?]
    at net.shadowmage.ancientwarfare.core.gui.GuiResearchBook.setupElements(GuiResearchBook.java:57) ~[GuiResearchBook.class:?]
    at net.shadowmage.ancientwarfare.core.gui.GuiContainerBase.func_73866_w_(GuiContainerBase.java:177) ~[GuiContainerBase.class:?]
    at net.shadowmage.ancientwarfare.core.gui.GuiContainerBase.func_73876_c(GuiContainerBase.java:187) ~[GuiContainerBase.class:?]
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1661) ~[bao.class:?]
    ... 17 more
[19:45:03] [Client thread/INFO]: [net.minecraft.client.Minecraft:func_71377_b:349]: ---- Minecraft Crash Report ----
// I blame Dinnerbone.

Time: 5/11/16 7:45 PM
Description: Ticking screen

java.util.NoSuchElementException
    at java.util.ArrayList$Itr.next(Unknown Source)
    at net.minecraftforge.oredict.OreDictionary$UnmodifiableArrayList$2.next(OreDictionary.java:682)
    at net.shadowmage.ancientwarfare.core.gui.GuiResearchBook.addRecipeModeControls(GuiResearchBook.java:90)
    at net.shadowmage.ancientwarfare.core.gui.GuiResearchBook.setupElements(GuiResearchBook.java:57)
    at net.shadowmage.ancientwarfare.core.gui.GuiContainerBase.func_73866_w_(GuiContainerBase.java:177)
    at net.shadowmage.ancientwarfare.core.gui.GuiContainerBase.func_73876_c(GuiContainerBase.java:187)
    at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1661)
    at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:973)
    at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:898)
    at net.minecraft.client.main.Main.main(SourceFile:148)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.multimc.onesix.OneSixLauncher.launchWithMainClass(OneSixLauncher.java:310)
    at org.multimc.onesix.OneSixLauncher.launch(OneSixLauncher.java:395)
    at org.multimc.EntryPoint.listen(EntryPoint.java:170)
    at org.multimc.EntryPoint.main(EntryPoint.java:54)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at java.util.ArrayList$Itr.next(Unknown Source)
    at net.minecraftforge.oredict.OreDictionary$UnmodifiableArrayList$2.next(OreDictionary.java:682)
    at net.shadowmage.ancientwarfare.core.gui.GuiResearchBook.addRecipeModeControls(GuiResearchBook.java:90)
    at net.shadowmage.ancientwarfare.core.gui.GuiResearchBook.setupElements(GuiResearchBook.java:57)
    at net.shadowmage.ancientwarfare.core.gui.GuiContainerBase.func_73866_w_(GuiContainerBase.java:177)
    at net.shadowmage.ancientwarfare.core.gui.GuiContainerBase.func_73876_c(GuiContainerBase.java:187)

-- Affected screen --
Details:
    Screen name: net.shadowmage.ancientwarfare.core.gui.GuiResearchBook