Closed neinwhal closed 2 years ago
The nodes you are suggesting to remove will make it impossible to build true slope domes. I do actually use pretty much all of those slopes somewhat frequently. On the other hand I have never used any of the 12/16th microblocks or the other multi-dimensional slab things that were added to circular saw in a more recent version.
The circular saw will contain more variations but less of the same kind
Reasonable, we can always add in more microblocks if people need them. Can't very well remove unnecessary ones after the launch, though.
As such I'm proposing an idea that requires the workshop to be "upgraded", to gain access to complex shapes.
This sounds very fun. Support
However, I do realize that we are still in a survival server
Can we define survival, please? It is being used as an opposite to creative, but I don't think that's what survival is. Are there any other 'survival' servers with no hunger/mobs?
Ability to lock the circular saw
Support.
I think I pretty much fully support everything here other than I think there may need to be some more discussion around the exact slopes and micro blocks included, but I don't think that should be a blocker for implementing the overall concept as you have outlined it @neinwhal
Can we define survival, please? It is being used as an opposite to creative,
Minor issue, but I think we should avoid calling the game/server survival as it is misleading. It is a non-creative building game (imo). As previously discussed, I think most of us don't really care for PvP or damage so no real survival element if that is the direction we agree to go.
I agree with all of these. Also as far as I am concerned, you can remove all the slopes. The multi part workshop idea sounds really fun.
define survival
My definition here is more with regards to the crafting & resource gathering process. Which I consider to be still an essential component of "survival". And what I meant when (2) helps with survival, I mean it adds a certain stage of progression to the crafting, rather than opening up everything to the player at once.
regarding slopes
Personally, I am not a fan of slopes, because I find that they break the cubic style of minetest. BUT. I understand the appeal of it, and I understand that it opens up a new realm of building, that allows for some amazing creations if done properly. I am ok with keeping all the slopes for lumber, I am also ok with entirely removing them and forcing players to build in a cubic style. I think the question here is, should we support this other form of building.
For now, ill keep all the slopes, unless there's mass disagreement regarding the support of non-cubic buildings.
Another option, that may be too much to take on is replacing slopes with cubic approximations. I think this is probably more work than its worth and may have other issues (like too many nodeboxes to render) but I'll toss it out here as possibility anyway.
Just a reminder that while slopes will be supported for now; I will likely restrict them behind an expensive workstation, as mentioned in (2); as per the rationale; slopes shapes can be easily abused for players that don't know how to use them.
I think the course of discussion here is whether slopes will be sufficiently used/supported enough to justify the extra blocks and load time.
Added and removed some shapes Namely, i removed the pillar top, i realized it was the exact same node with the pillar bottom except rotated, so there was no point having a duplicate. In place of that, i added an extra "wall pillar".
Additionally as per SG requests, I readded 2/16 nodes, forked stairs, and "L" corners
I reshuffled the placement of everything accordingly to the complexity. Basic tab will be unlocked at the start, most of these are nodes that already exist and are less likely to be abused. Complex has the more complex shapes, which have a chance of being abused. And slopes at the last tab.
For future, ill likely change the tab to be image buttons or something like that, because currently it looks a bit ugly.
Merging the furnace with workbench From #47
Namely. the furnace will now function as a workstation. It will still require fuel to run, once its active/running, the cooking tab will be accessible accordingly, allowing instant crafting of cooking recipes. This can be expanded further in cost, having more different smelting stations, like blast furnaces, ovens etc. This appeals to both the animations + instant crafting, while still relying on a certain fuel cost.
With the fact that the furnace is now just a fuel consuming node, it cuts down a lot of the code as well, and should aid in the lag-reduction.
As the workbench idea starts to expand and cover more grounds. I'm considering the possibility to expand the workbench itself as an API for other mods to add their "tabs".
The issue is, at present, the workbench mainly uses node metadata for all its data; And while it's possible exposing that to allow other mods to make modifications, it is a mass complexification of things. But; if done correctly, this exposure will allow other mods to depend on it, and new code for new tabs can be localized in each mod itself.
Whereas, with the current implementation; The functionality is hardcoded, so if there's other mods requiring a new tab, workbench will have to depend on the new mod. Additionally, changes are made directly into the workbench itself.
While the API is an appealing option; presently, I still lean towards the hardcoded option, because the prior will complex things by a ton; And I'm not sure if the application of that will be utilized that much to justify an entire API for it. But I'm opening this possibility for discussion if there's enough demand for it to utilize the change.
IMO it's better to keep it all in the workbench mod, with other mods defining interfaces for it to get data about them - that way we have many standalone mods developed for later which we can plug and play elsewhere, without modifying dependencies.
Ran into an issue while crafting furnaces. I realized that the cooking craft supports multiple items. In the sense that you can cook 1 cobble into 2 stones.
Why is this an issue? Currently my furnace make uses of inventory slots, this mean you can freely pick up the output and rightclick to place in your inventory 1 by 1. But in the case of cooking recipes that have >1 output, this is an issue. Lets keep the example above; cooking 1 cobble > gives 2 stones I pickup the output, add 1 stone to my inventory, meaning that 0.5 cobble is removed, which isn't possible.
Possible solutions;
^ Found a better solution. Keep existing but for multiple output, each rightclick returns multiple output rather than 1. For e.g.; With the 1 cobble to 2 stones / each rightclick adds 2 stones to your inventory, there are checks running to prevent adding if you don't have enough space to add the 2.
^ each rightclick returns multiple output rather than 1. For e.g.; With the 1 cobble to 2 stones / each rightclick adds 2 stones to your inventory
This makes the most sense i think. If the recipe says 1 cobble converts to 2 stones, then that is what people should get. no need to complicate to perform half portions of recipes.
The main issue with is that i have to use a separate method to add the extra output, and that leads to some weird behaviour.
And the only option i can think of now is through add_item
.
Since there's no way of detecting where the eventual output ends up in where;
If I were dropping this on the ground, it will return 1 to my inventory while the other 1 drops the ground.
Likewise, if i have half a stack of stone in my inventory, but I want to move the new stone into another slot, it will add 1 to the existing half a stack of stone (because that's what add_item
priorities), while the other 1 goes into the new slot.
An alternative is making add_item
handle fully the extra output, which provides a constant placement for all the output (but one that uses what add_item
priorities)
But it comes with a duplicate bug, if the player chooses to drop this on the ground, that creates an extra count + the one added to the player's inventory.
And i don't think there's a way to prevent the player from dropping to the ground (solutions welcome), so this doesn't work either.
I tried returning multiple items through allow_metadata_inventory_take
but it seems that rightclick is hardcoded to only give 1 item, and I can't seem to modify it accordingly;
The count only matters when leftclick is applied.
With the features as stated here done, I'll close this issue and move discussion to the pull itself #58
Starting the issue up again because I think I didn't fully clear up some concepts, additionally, I have some new ideas.
1. The circular saw will contain more variations but less of the same kind;
The picture below shows all the variations available now (I welcome ideas of what to name the tabs as well)
shapes:register_shapes("blocks:dirt")
If you notice in the cubic section, I have removed a few variations available originally in moreblocks. For now, i have included all slopes and columnia blocks, but I intend to remove those slopes i have circled in red.
The rational of which is because; if I don't there is going to be A LOT of blocks. Even with my proposal removal of the slopes as mentioned above, each block itself will be separated into 45 different blocks, this doesn't even include the texture variations and furniture yet. And that really adds up, if we don't remove those variations that I consider to be of and under little use. This means at the end of the day, we are dealing with thousands of nodes, and those will cause an impact on initial server load times and such. EDIT: SG has requested 2/16 variations of the cubic variations to be added as well, so this will be included as well.
But however, if anyone of you really need a specific variation, do let me know, and I'm willing to add that back in. But for those that nobody mentions about, and ill cut them out, because no one uses them and they are waste of server load time.
2. A universal workbench that levels up
Back in the old issue, there were several mentions of incorporating ability to get other blocks through the circular_saw as well, such as the new variations @theraven262 is working on and the furniture @lisacvuk is.
I do welcome the idea, having a universal workbench of sort is extremely useful. However, I do realize that we are still in a survival server AND Certain variations available are complex in nature to use, for example, the slopes. While there are good builders that use them correctly, for most parts these shapes are abused. As such I'm proposing an idea that requires the workshop to be "upgraded", to gain access to complex shapes.
If anyone of you are familiar with valheim's workbenches, I'm proposing something very similar. For those that are not; the basic idea is as follows
Each stationblock will require more and more expensive resources to construct, so to access the more complex nodes, you need to gather more resources. These stationblocks could take a form of a circular saw, a CNC machine or anvil, having a unique appearance for each, so it will appear as though you are truly making your very own workshop. These additional workstations could also require some form of fuel to run. Namely the purpose of this is to limit access to certain nodes, coughslopescough to prevent inexperienced players from playing and abusing complex shapes. Additionally, it adds to the survival aspect.
Just to reiterate, these workstations are not further workbenches/circular_saw, they are mostly decorative nodes that allow the original workbench/circular_saw itself to grant them access to more tabs and hence more crafting options.
3. API-related
This is code-related feature. So I'm aiming this at the other devs; I mentioned a few times that shapes is going to be mega API that consolidates and merges all the various forms. It only takes a single line to convert a single node into the 45 different variations
shapes:register_shapes("blocks:dirt")
(No textures definition or such required, the API itself personally retrieves all the definitions associated with the node) I have also included possibilities of editing definitions for every single shape and/or disabling certain shapes if you want to, as well. Personally, I see this as a major plus, but I'm mentioning this again because I want to see if there will be any concerns and/or issues that I didn't foresee with this.4. Ability to lock the circular saw.
This adds simply a checkbox on the formspec itself, allowing players to lock the workbench, preventing other players from accessing its inventory. By default, the workbench will be locked, the checkbox makes the workbench public.