This module adds primitive tool making from first steps of humanity to begining of bronze age.
terasology-archived / woodandstone Goto Github PK
View Code? Open in Web Editor NEWPrimitive tool making
Primitive tool making
Upgrading the stone workstation I get the following error:
16:31:29.836 [main] ERROR o.terasology.engine.TerasologyEngine - Uncaught exception
java.lang.NullPointerException: null
at org.terasology.crafting.system.recipe.behaviour.ReduceDurabilityCraftBehaviour.getMaxMultiplier(ReduceDurabilityCraftBehaviour.java:82) ~[na:na]
at org.terasology.crafting.system.recipe.workstation.DefaultWorkstationRecipe$Result.getMaxMultiplier(DefaultWorkstationRecipe.java:190) ~[na:na]
at org.terasology.crafting.ui.CraftRecipeWidget.update(CraftRecipeWidget.java:119) ~[na:na]
at org.terasology.rendering.nui.layouts.ColumnLayout.update(ColumnLayout.java:284) ~[classes/:na]
at org.terasology.crafting.ui.workstation.StationAvailableRecipesWidget.update(StationAvailableRecipesWidget.java:96) ~[na:na]
at org.terasology.rendering.nui.AbstractWidget.update(AbstractWidget.java:167) ~[classes/:na]
at org.terasology.rendering.nui.AbstractWidget.update(AbstractWidget.java:167) ~[classes/:na]
at org.terasology.rendering.nui.AbstractWidget.update(AbstractWidget.java:167) ~[classes/:na]
at org.terasology.rendering.nui.CoreScreenLayer.update(CoreScreenLayer.java:109) ~[classes/:na]
at org.terasology.crafting.ui.workstation.CraftingStationWindow.update(CraftingStationWindow.java:125) ~[na:na]
at org.terasology.rendering.nui.internal.NUIManagerInternal.update(NUIManagerInternal.java:337) ~[classes/:na]
at org.terasology.engine.modes.StateIngame.updateUserInterface(StateIngame.java:197) ~[classes/:na]
at org.terasology.engine.modes.StateIngame.update(StateIngame.java:153) ~[classes/:na]
at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:498) ~[classes/:na]
at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:243) ~[classes/:na]
at org.terasology.engine.Terasology.main(Terasology.java:82) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_51]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_51]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120) [idea_rt.jar:na]
org.terasology.namegenerator.generators.MarkovNameGenerator#getName(int, int, long) in NameGenerator was changed to use a long instead of a String, but org.terasology.herbalism.HerbNameProvider#getName in WoodAndStone was still using the String version mixing together genera and family in the seed.
@MarcinSc - do you need the extra complexity in determining the seed value to use?
@msteiger - can you look at this and maybe do a simple conversion to long so it'll work again? I figure it is easy but wanted to double check since you made the change :-)
@Josharias this one might be for you, or maybe @MarcinSc has an idea how to sort it out
After the recent module reorganization / extraction the leaf overrides in WoodAndStone are targeting PlantPack, but so are new overrides in AnotherWorldPlants. And the original prefab being overridden is now blank where it seems it could retain the PartOfTree piece - although I'm unsure.
In any case it would appear the override in AnotherWorldPlants is winning, which only sets the PartOfTree, not the BlockDropGrammar - the override in WoodAndStone does that. As a result no twigs are dropping, so progress in TTA is blocked pretty quick
Specific example:
I don't remember what the objective was, but I figure it was to keep things better organized. But it puzzles me that only part of the assets from PlantPack moved, leaving an empty shell behind.
Incidentally I tried redirecting the override in WoodAndStone to instead override AnotherWorldPlants, but it doesn't look like it worked.
If at all either of you find a few minutes tonight to look at this please do, as it is overwise a block for the release I'm trying to do tomorrow :-) If not I'll just try best effort to fix it for the release then we can re-break to refactor further.
In the tree, part of the tree - wonder if animated gifs work!
Turning the Quern into a single block replaced the fun part of building a multiblock structure by using a recipe.
A possible alternative would be some kind of construction process of a single block. In terms of the quern, the following block shapes are needed:
Noticed this while using the Quern interface - while processing the last item from the input slot, on the first click the icon is removed and you see only the progress bar.
If the last item to process is the only item overall, you completely loose the information of what is processed.
Possible solutions:
I'm not sure if I've missed it, but a journal entry about clay would be nice at the time the player picks up clay for the first time.
I think you get used to the journal entries that it might take a while until you noticed the additional recipe for hand crafting.
https://gist.github.com/Josharias/1e537b2a6c2355960482
Duplication with org.terasology.milling
in StoneCrafting
module
I think this one is quite important for a full gameplay experience - sound effects.
I'll just list what I have in mind so far:
Ran into this while testing MovingBlocks/Terasology#1133 - while I could get to the plank menu fine I discovered by chance I could cause a crash bug with two tools in the tool spots for an upgraded wood workstation.
I would make two of the crude axe-hammers, using one a bit, get the workstation, upgrade with one tool in it, then place the second tool in it. First time the crash was immediate (already had materials in input slots) second time I had to trigger the recipe menu to update first (open/close some category with input materials available)
01:58:58.029 [main] ERROR o.terasology.engine.TerasologyEngine - Uncaught exception
java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
at java.util.ArrayList.rangeCheck(ArrayList.java:635) ~[na:1.7.0_55]
at java.util.ArrayList.get(ArrayList.java:411) ~[na:1.7.0_55]
at org.terasology.crafting.system.recipe.workstation.AbstractWorkstationRecipe$Result.getMaxMultiplier(AbstractWorkstationRecipe.java:180) ~[na:na]
at org.terasology.crafting.ui.CraftRecipeWidget.update(CraftRecipeWidget.java:119) ~[na:na]
at org.terasology.rendering.nui.layouts.ColumnLayout.update(ColumnLayout.java:284) ~[classes/:na]
at org.terasology.crafting.ui.workstation.StationAvailableRecipesWidget.update(StationAvailableRecipesWidget.java:97) ~[na:na]
at org.terasology.rendering.nui.AbstractWidget.update(AbstractWidget.java:170) ~[classes/:na]
at org.terasology.rendering.nui.AbstractWidget.update(AbstractWidget.java:170) ~[classes/:na]
at org.terasology.rendering.nui.AbstractWidget.update(AbstractWidget.java:170) ~[classes/:na]
at org.terasology.rendering.nui.CoreScreenLayer.update(CoreScreenLayer.java:109) ~[classes/:na]
at org.terasology.crafting.ui.workstation.CraftingStationWindow.update(CraftingStationWindow.java:108) ~[na:na]
at org.terasology.rendering.nui.internal.NUIManagerInternal.update(NUIManagerInternal.java:340) ~[classes/:na]
at org.terasology.engine.modes.StateIngame.updateUserInterface(StateIngame.java:199) ~[classes/:na]
at org.terasology.engine.modes.StateIngame.update(StateIngame.java:155) ~[classes/:na]
at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:507) ~[classes/:na]
at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:253) ~[classes/:na]
at org.terasology.engine.Terasology.main(Terasology.java:87) [classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_55]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_55]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) [idea_rt.jar:na]
With only the default Wood and Stone/Throughout the Ages modules I can only create a type of item one time per table. This seems to happen when making planks out of logs. I can make one set of two planks and after that can no longer make anything from the table without destroying it first. This is a real problem when I've gone to advanced workbench.
This Package Duplicated in Alchemy module.
It need extraction.
Duplication with module WorkstationCrafting
Cervator edit: I suggest we add a journal entry event the first time the player breaks a dirt or stone block, and no actual block drops. Something funny like "Huh, that was weird. I thought something bigger would drop when I broke that block. Maybe I need better tools first. I guess it is a different world after all!"
I consider it very strange that I'm not able to do anything with, for example. sand, when I have this module enabled. Is this a bug or a feature?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.