GithubHelp home page GithubHelp logo

terasology / workstationcrafting Goto Github PK

View Code? Open in Web Editor NEW
2.0 22.0 4.0 874 KB

Crafting at a station you do work at .. hmm :-)

Java 100.00%
voxel game gamedev terasology java game-development terasology-module

workstationcrafting's Introduction

Workstation Crafting

This module adds a more detailed set of classes (compared to the Crafting module) that allow for more complicated and detailed crafting. This is intended to be extended by other modules.

Currently under reorganization.


Naming convention:

  • Append Station to the end of every workstation.
    • Here, I follow the convention of [SkillLevel][StationName]Station.
  • Append Process to the end of every process name.
  • Prepend Recipe to any crafting recipe name.

In order to add a new process to this module, do the following:

  • Add the process definition under assets/prefabs/processDefinitions. Use the preexisting ones as templates.
  • Add a static variable containing the name of the process in src/main/java/org/terasology/processing/WorkstationCrafting.java
  • Add this process to the process factory in src/main/java/org/terasology/processing/system/RegisterWorkstationCraftingRecipes.java (via registerProcessFactory).

Now, you should be able to use this process in a workstation or recipe.

workstationcrafting's People

Contributors

4denthusiast avatar cervator avatar darkweird avatar e-aakash avatar jdrueckert avatar keturn avatar mjuvekar7 avatar pamtdoh avatar pollend avatar qwertygiy avatar skaldarnar avatar xrtariq2594 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

workstationcrafting's Issues

Migrate the generator items to NeoTTA

Currently, under items/generator, there are a bunch of spawn definitions, item generators, and a world generator. Not to mention all of the deltas and overrides in this module.

All of the first group, and some of the second group should probably be moved into their own world-based module (like TTA was) so that this doesn't conflict with other modules. In the future, I'm intending this module to be a baseline Workstation Crafting module that other modules expand upon. That is, a content-focused module rather than a game or adventure-focused one. But having these generator files can mess with other modules that intend to provide a specific experience.

So moving these plus some of the things left behind in WoodAndStone (like the Journal system and ModifyBlockSystemDestruction) will help this module become easier to extend and have less side-effects.

This will be a long-term project, as the NeoTTA module will have to be slowly built up bythe pieces from old and new modules.

NPE on startup when creating input descriptions

Tested from the latest engine develop branch and fetched the module today:
Used core gameplay, disabled all modules and activated WorkstationCrafting.
Startup produces this exception:

11:38:24.493 [main] ERROR o.t.e.event.internal.EventSystemImpl - Failed to invoke event
java.lang.NullPointerException: null
	at org.terasology.workstation.process.inventory.InventoryProcessPartUtils.createItems(InventoryProcessPartUtils.java:62)
	at org.terasology.workstation.process.inventory.InventoryInputProcessPartCommonSystem.getInputDescriptions(InventoryInputProcessPartCommonSystem.java:171)
	at org.terasology.workstation.process.inventory.InventoryInputProcessPartCommonSystemMethodAccess.invoke(Unknown Source)
	at org.terasology.entitySystem.event.internal.EventSystemImpl$ByteCodeEventHandlerInfo.invoke(EventSystemImpl.java:506)
	at org.terasology.entitySystem.event.internal.EventSystemImpl.sendStandardEvent(EventSystemImpl.java:269)
	at org.terasology.entitySystem.event.internal.EventSystemImpl.send(EventSystemImpl.java:260)
	at org.terasology.entitySystem.entity.internal.BaseEntityRef.send(BaseEntityRef.java:145)
	at org.terasology.workstationCrafting.system.CraftingWorkstationProcess.getInputDescriptions(CraftingWorkstationProcess.java:183)
	at org.terasology.workstationInGameHelp.systems.WorkstationItemsInGameHelpCommonSystem.postBegin(WorkstationItemsInGameHelpCommonSystem.java:83)
	at org.terasology.engine.modes.loadProcesses.PostBeginSystems.step(PostBeginSystems.java:44)
	at org.terasology.engine.modes.StateLoading.update(StateLoading.java:242)
	at org.terasology.engine.TerasologyEngine.mainLoop(TerasologyEngine.java:413)
	at org.terasology.engine.TerasologyEngine.run(TerasologyEngine.java:368)
	at org.terasology.engine.Terasology.main(Terasology.java:152)

The recipe that is processed in InventoryInputProcessPartCommonSystem.getInputDescriptions is WorkstationCrafting:RecipeStick.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.