Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Module Overhaul - Crafting #728

Closed
Cervator opened this issue Oct 29, 2013 · 9 comments
Closed

Module Overhaul - Crafting #728

Cervator opened this issue Oct 29, 2013 · 9 comments
Assignees
Labels
Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Multiplayer Affects aspects not visible in Singleplayer mode only Topic: UI/UX Requests, Issues and Changes related to screens, artwork, sound and overall user experience

Comments

@Cervator
Copy link
Member

Cervator commented Oct 29, 2013

This module is another big one to convert for the new multiplayer/structure changes. It involves involves a fair amount of GUI stuff that could involve #720 and is a novel yet complex beast :-)

There are other related pending issues like #481 and #509 and lots of discussion in the forum

Original author is @small-jeeper - hoping he can take a look at bringing the base functional version up to speed. Ideally that would include related functional changes but I think it would be nice just to have working as-is too

New home: https://github.com/Terasology/Crafting
Jenkins: http://jenkins.movingblocks.net/job/Crafting

Command to fetch:

gradlew fetchModuleCrafting

@ghost ghost assigned small-jeeper Oct 29, 2013
@ghost
Copy link

ghost commented Oct 30, 2013

What about including this directly? Because Crafting is something users
want to have there and not as module which have to be activated.
Am 29.10.2013 21:41 schrieb "Rasmus Praestholm" notifications@github.com:

This module is another big one to convert for the new
multiplayer/structure changes. It involves involves a fair amount of GUI
stuff that could involve #720https://github.com/MovingBlocks/Terasology/issues/720and is a novel yet complex beast :-)

There are other related pending issues like #481https://github.com/MovingBlocks/Terasology/issues/481and
#509 #509 and lots of
discussion in the forum

Original author is @small-jeeper https://github.com/small-jeeper -
hoping he can take a look at bringing the base functional version up to
speed. Ideally that would include related functional changes but I think it
would be nice just to have working as-is too

New home: https://github.com/Terasology/Crafting
Jenkins: http://jenkins.movingblocks.net/job/Crafting

Command to fetch:

gradlew fetchModuleCrafting


Reply to this email directly or view it on GitHubhttps://github.com//issues/728
.

@Cervator
Copy link
Member Author

No, but that's a misunderstanding of what our modules are - they're not the same as traditional "mods". The base version of the game will ship with some sort of crafting module - it just won't be in the engine :-)

@mkienenb
Copy link
Contributor

I've got this module compiling (with only a couple of potentially-important pieces of code commented out) and running without warnings. Still not sure how to make it do something yet.

@mkienenb
Copy link
Contributor

These are the pieces that seem important.

                BlockItemComponent blockItemComponent = craftEntity.getComponent(BlockItemComponent.class);

                // TODO: IMPORTANT: not sure what to do with placedEntity
//                if (!blockItemComponent.placedEntity.hasComponent(CraftingActionComponent.class)) {
//                    blockItemComponent.placedEntity.addComponent(new CraftingActionComponent());
//                }

                // TODO: IMPORTANT: not sure what to do with placedEntity
                // EntityRef placedEntity = blockItemComponent.placedEntity;

                if (craftEntity.exists()) {
                    craftEntity.send(new ActivateEvent(target, selectedItemEntity, new Vector3f(worldRenderer.getActiveCamera().getPosition()), new Vector3f(worldRenderer.getActiveCamera().getPosition()), event.getHitPosition(), event.getHitNormal()));
                    // TODO: IMPORTANT: not sure what to do with placedEntity
                    // placedEntity.send(new ActivateEvent(target, selectedItemEntity, new Vector3f(worldRenderer.getActiveCamera().getPosition()), new Vector3f(worldRenderer.getActiveCamera().getPosition()), event.getHitPosition(), event.getHitNormal()));

@Cervator
Copy link
Member Author

Just to reference this somewhere I tried it from source using the legacy build and crafting didn't actually appear to function. Binary build 420 does seem to work.

@mkienenb
Copy link
Contributor

I've created /mkienenb/Terasology/tree/Minion-module-support for my engine changes to get Minions and Crafting ported to build 752-ish. Possibly has some extra garbage in there, but it's really just adding a method to Icon, and adding some relaxed security.

mkienenb/Miniion/tree/develop-752-upgrade and mkienenb/Crafting/tree/develop-752-upgrade have the module changes.

@mkienenb
Copy link
Contributor

I've fixed all of the obvious issues with this module, but since I'm not entirely certain how it worked in the first place, it's rather difficult for me to pursue it much further. It compiles, it runs, but I can't say much beyond that.
I'm not currently that interested in crafting (other than what was needed to get Minions to work) so I'm kinda going to let this one sit. I think it'd still be worth picking up from where I left off rather than starting over, but I leave that up to whoever continues the work.

@Cervator
Copy link
Member Author

Cervator commented Jan 15, 2014

Thanks @mkienenb :-)

I think there's good potential to build on, even if it still takes some refactoring here and there. I'm very eager to see where we can get with a blueprint approach and/or custom blocks rather than straight crafting (as discussed previously - although I forget if it was in the forum with threads like https://forum.terasology.org/threads/assembly-table-a-take-on-crafting.838/#post-8445 or on IRC)

I still like the idea of using this style of crafting but can recall I was pretty decently defeated somewhere in favor of a more automatic recipe picking approach rather than rely on placement - although tools could interact with that as well :-)

@Cervator Cervator modified the milestone: Module Overhaul Jan 19, 2016
@jdrueckert
Copy link
Member

Closing this as the module has been archived by now (https://github.com/Terasology-Archived/Crafting) and is subject to a rewrite - if at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Gameplay Content Requests, Issues and Changes targeting gameplay mechanics and content Multiplayer Affects aspects not visible in Singleplayer mode only Topic: UI/UX Requests, Issues and Changes related to screens, artwork, sound and overall user experience
Projects
None yet
Development

No branches or pull requests

4 participants