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

Wrench - Version 2 #367

Open
Klaranth opened this issue Feb 11, 2024 · 20 comments
Open

Wrench - Version 2 #367

Klaranth opened this issue Feb 11, 2024 · 20 comments
Labels
Enhancement Improvements or changes to an existing feature Non-trivial Hard to implement Possible close Issue should probably be closed. Too specific Only needed for very specific use cases

Comments

@Klaranth
Copy link
Collaborator

Huhhila
make barter table support viewing wrenched container contents, similar to how backpacks work in the inventory

@Klaranth Klaranth added Enhancement Improvements or changes to an existing feature Addition Idea for a new feature or item labels Feb 11, 2024
@OgelGames
Copy link
Contributor

Too specialized IMO, and not easy to implement either.

@OgelGames OgelGames changed the title Barter Table mk2 Viewing wrenched container contents in barter table Feb 12, 2024
@OgelGames OgelGames added Non-trivial Hard to implement Possible close Issue should probably be closed. and removed Addition Idea for a new feature or item labels Feb 12, 2024
@OgelGames OgelGames added the Too specific Only needed for very specific use cases label Feb 21, 2024
@Klaranth Klaranth changed the title Viewing wrenched container contents in barter table Wrench - Version 2 Mar 2, 2024
@Klaranth
Copy link
Collaborator Author

Klaranth commented Mar 2, 2024

Huhhila
Consider adding wrench support for recent nodes like mooncontroller and digibuilder

@Klaranth
Copy link
Collaborator Author

Klaranth commented Mar 16, 2024

MCLV
Cable plates are annoying. for the simple reason they have different node names for all rotations and when you dig them, they all turn back to cabletechnic:mv_cable_plate_1. But,... what if you could just pick up cable plates with the wrench and have yourself technic:mv_cable_plate_2 and alike? Then you could just pick up and put into the digibuilder all the right rotations and have them placed correctly rotated

But yeah, being able to pick up nodes that have this special _on /_off /_active and other additions to their node names would be really handy

@SwissalpS
Copy link
Contributor

you can place cable plates in any direction with digibuilder, no need to be able to pick them up.

  1. Place/build a node that digibuilder can then build against.
  2. when telling builder to place cable plate, add the pointed_thing-helper to the command-table i.e: up = true (or down, north, south, east, west)
  3. the cable plates on_place handler will then place the correct node.

On a survival server I don't think it is good for players to have special-state nodes in their inventory. (on/active/extended)

@MCLV-pandorabox
Copy link

Okay, I don't understand game design. so I don't know why you have those objections.
But now I have to program the luac to convert those node names to have their respective pointed_thing-helper equivalent and I'm now getting a semblance of an idea of how much trouble that is going to be. It just seems rediculously complex.

@SwissalpS
Copy link
Contributor

Yes, you need to do some work on your luac-code if you want to build special nodes or make automated copies. But you probably have a limited subset to work on :)

Look at replacer compat folder to get an idea of how complex implementing this kind of thing in digibuilder would be.

Why I don't think survival games should have 'not_in_creative_inventory' nodes:

  1. it's a survival game, not a creative one
  2. players are supposed to create systems to make the nodes change into a non-standard state

If you play on a creative server, then digibuilder also is creative and will place more or less any node, especially if player has 'give' privs :D

@MCLV-pandorabox
Copy link

MCLV-pandorabox commented Mar 17, 2024

I do understand that, but what I don't understand is that mv_cabel_plate_2 would need to be in the category of 'not_in_creative_inventory' because it adds a level of unnecessary complexity which makes me just want to abandon it all, and I suspect I'm not the only one. Especially since the solution to this 'problem' is such a simple one.
I think if you shoot down a idea that makes thinks more simple, it should be countered with a good enough reason.

Making nodes like cable plates "special" just so you would need more work on your lua code if you want to use the digibuilder doesn't really seem like good game design.
It being a unintended side effect of the way that cable plates were designed in the first place is a much more likely reason.
Let's "fix" that

@SwissalpS
Copy link
Contributor

Let's "fix" that

And how do you propose changing how tubes, pipes, wires, cables and cable plates work?
(gravel-spread and some glass types also come to mind, not to mention flowing stuff)

Again, I don't consider it a solution to just enable players to have e.g. 'water_flowing_sw' in their inventory.

@MCLV-pandorabox
Copy link

it as not so much a fix, but more a work around. if you can pick up certain nodes like mv_cable_plate_3 etc with a wrench, they can then be simply put in the inventory(they even stack) of a digibuilder so it can use it to place them in world at the location of where it was scanned without any shinanigans.
Ofcourse the wrench would not pick up water_flowing, just a small subset of the nodes that are relatively harmless and appear as in the digibuilder's scan.
This is a very simple workaround and complete control of which nodes can be picked up resides completely within the wrench mod, so I don't really see any of your objections as real objections. But If I have missed something, please enlighten me.

@SwissalpS
Copy link
Contributor

SwissalpS commented Mar 18, 2024

without any shinanigans.

picking up nodes a survival player normally can't pick up is a shinanigan IMO :D

Wrench is a tool to pick up inventories. Cable plates, tubes, pipes etc don't fall into that category at all.

Other than that, I feel like I'd repeat myself.

If anything, I support the idea of improving [digibuilder] in a similar way as [replacer] 'knows' which item to use for whichever node. It's just rather intensive to maintain.

Edit: or extend [craft_db] to know these conections is also an interesting idea.

@S-S-X
Copy link
Member

S-S-X commented Mar 18, 2024

This is a very simple workaround and complete control of which nodes can be picked up resides completely within the wrench mod, so I don't really see any of your objections as real objections. But If I have missed something, please enlighten me.

This is very complicated way to allow crafting nodes that aren't meant to be craftable.
If those should be craftable then better to add recipe than complicated method to place and pick up.
If those should just be available on pandorabox then add admin vendor, or recipe through pandorabox_custom.

@S-S-X
Copy link
Member

S-S-X commented Mar 18, 2024

If anything, I support the idea of improving [digibuilder] in a similar way as [replacer] 'knows' which item to use for whichever node. It's just rather intensive to maintain.

Alternatively you could just place items like a player does, for most stuff all it takes is pointed_thing and running through core+custom callbacks. This would of course have some performance impact but wouldn't need that much maintenance, for performance it could be selectable for each placed node.

@SwissalpS
Copy link
Contributor

If anything, I support the idea of improving [digibuilder] in a similar way as [replacer] 'knows' which item to use for whichever node. It's just rather intensive to maintain.

Alternatively you could just place items like a player does, for most stuff all it takes is pointed_thing and running through core+custom callbacks. This would of course have some performance impact but wouldn't need that much maintenance, for performance it could be selectable for each placed node.

That is basically what digibuilder currently does. You can pass pointed_thing hints in the command table. Then the regular callbacks are called.

@SwissalpS
Copy link
Contributor

For auto-farming I've written a function to detect when plants are ripe and have provided it at Lua Library.
I don't see why it isn't possible to write a similar function to convert between scanned node and inventory item.
Also you could write a library for mooncontroller :D

@MCLV-pandorabox
Copy link

it's not that it isn't possible to do, it just turns a really simple idea of scan and build using digibuilder into a pain in the ass because of exceptions like this.

Besides I tried using the top=true directive. on position 1,0,0.. guess where it ended up?
yep the cable plate node was placed on 1,1,0

Beside it being extra work which is probably not even intended, or propper game design, we also have to be extremely careful whow much work we are going to be assigning to a luac because they burn more easily then my morning toast

@SwissalpS
Copy link
Contributor

top=true directive. on position 1,0,0

did you have a support node at 1,-1,0 ?

To your other complaints. This is a survival server, things are supposed to be challenging. If you want easy scan and copy, play on a creative game with give privs :D

@MCLV-pandorabox
Copy link

hm. so you are saying this is all part of game design? Well, since I don't understand game design, I'll just drop it then. But I still haven't really heard any good arguments for it, so I will remain obilivious.
I kindly thank you for your time.

@Klaranth
Copy link
Collaborator Author

Klaranth commented Apr 7, 2024

Huhhila
#367 add mooncontroller:mooncontroller_burnt support for those players who want to make museum/library of their failed code (obviously other complicated methods like jumpdrive-splicing builds already exist for that)

@Klaranth
Copy link
Collaborator Author

Klaranth commented Sep 9, 2024

frogTheSecond
make wrench be able to pickup an active nuclear reactor core
FeXoR
I was about to say "Sounds reasonable" ... but at second thought - that's a dream come true for players that like to terrorize others x)
frog
wait oh right thats basically corium
what about priv locking it (probably too complex to bother)
(also that was a joke but would be really funny if we could actually wrench live nuclear reactors)
Marsufoman
nuclear war?
FeXoR
Marsufoman, We could propose shutting down the server - the result is pretty much the same ;)
Marsufoman
pandorabox great server, would be a shame to see it being shut down
FeXoR
Yea - so probably no nuclear war then ;)
frog
ok but it would be funny to have post apocalyptic pandorabox for a bit
Marsufoman
yeah
FeXoR> "Fun for a bit" is IMO the same as "not as much fun as the current state" :p
Marsufoman
yeah natural catastrophes would be nice
lil bit of changeup for once
MCLV
yeah, make a backup. allow total anarchy for a bit. then reset. We could call it anarchy week :D
Marsufoman
give everybody rockets n stuff
plot twist; theres no backup (joke)
MCLV
evil!
Marsufoman
i already built my mansion so it can withstand bombs, its so large lol
anyway tsunamis would be a cool addon
FeXoR
If you like that idea so much and think others like that, too, create a server like that - and see how many players will join ;)
Marsufoman
fine with staying on pandorabox tbh
FeXoR
There is e.g. a server called something like "real liquds" (I don't quite remember). It has actual rain that changes water level - so floods occur. Sand and dirt get wet and "slide" down cliffs. I like the idea! ... but the server is mostly empty ;)
(There at least building a house finally makes sense x)

@SwissalpS
Copy link
Contributor

have "fun for a bit" on test-server, bring that down :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Improvements or changes to an existing feature Non-trivial Hard to implement Possible close Issue should probably be closed. Too specific Only needed for very specific use cases
Projects
None yet
Development

No branches or pull requests

5 participants