Create

Create

86M Downloads

Suggestions: drills and holes for block rotation, shaft tension/compression limit, chain drives, thin cogs, added collision

eMorph opened this issue ยท 2 comments

commented

I know, I am bothered by weird things. One of them is that there's no way to make blocks attached to shafts rotate with them without an additional block. To help with this, a new tool, the Drill, could be added. The Drill would make holes in blocks for shafts to go. If the hole is the same size as the shaft, the block will rotate with the shaft. If you don't want this to happen, you can use another new item: the Bearing. It goes in a Drill hole and prevents a shaft from making a block rotate. There could also be certain blocks which will not catch, like obsidian.

This has the potential to become incredibly overpowered, which I assume this mod tries to avoid. To counteract this exploitability, a weight system could be implemented. Too many blocks attached to a shaft could cause a shaft to flex, tilt, or break, depending on the severity and location of the blocks. Maximum load could be determined by a combination of the shaft's material and the distance between the ends of an unsupported length of shaft, i.e. you need to hold up your shafts instead of extending them infinitely. In addition, blocks in the system could have a stress cost, which might or might not depend on the block.

To improve the versatility of rotating contraptions, why not give them collision? Revolving doors could push entities in the direction of the current momentum; blocks could stop rotation or be pushed out of the way, depending on the torque of the system, the (optional) block weight, and amount of adjacent blocks; items could even be picked up and moved! This addition could not only add a layer of challenge, but also exponentially increase the creation potential.

On a completely unrelated note, another suggestion: chain drives. Chains are already in the game; why not make them actually useful? You could be able to link cogs with chains, just like you can link shafts with belts. Maybe some other item could be used to let you move contraptions using chains. Chains can also be at any angle.

To make these chain belts more useful, and solve a size problem, a new capability could be added to cogs (and eventually, gears): slab-like size. Instead of being a shaft, cogs would now slide along or attach to them, and you could fit multiple cogs in one block space. Maybe as a compromise between the proposed system and the current one, a new type of shaft could have four slots where you could place cogs. This could let chains be a way of transferring power between many contraptions which are near each other without taking up much external space.

Required values for suggestions to work:

Rotation from shaft to block directly:

-Block: holes (x, y, and/or z)
-Block: is smooth (boolean; if true, won't rotate with encased shaft)
-Block: has shaft (can only have one; axis or nil if none)

Shaft loads:

-Block: weight (optional, determines stress toll and amount of load born by the shaft; integer or float)
-Shaft: is supported (boolean; if it is attached to a block or in a block with a bearing)
-Adjacent (list; I think this already exists)

Rotation collision:

-amount of connected blocks rotated (more = higher speed, fewer = higher torque when applied to blocks/entities)
-Block: weight (optional, contributes to calculation of rotation movement and collision effects)
-Block relations (blocks of these types in each list are counted as connected, for example [log, leaves], [stone_bricks, mossy_stone_bricks, cracked_stone_bricks, chiselled_stone_bricks, stone_bricks_slab, stone_bricks_stairs]
-Block: adjacent (list; again, I think this already exists)

Chains and slim cogs:

-Cog: location (1, 2, 3, 4, or nil; only a number if on a slotted shaft), or Slotted-shaft: cogs (list)
-Shaft: amount of cogs (up to four or five, cogs on normal shafts would be evenly spaced)

Thank you for reading this, I love this mod and wish to see it take its place up with JourneyMap and Biomes o' Plenty as one of the most popular in Minecraft. All of these ideas are suggested with the idea of reducing the need for specialty blocks in favor of versatile network items.

commented

image
heres a image of casings being able to cover shafts witch isn't as good as all blocks being covers but it plays into the idea of adapting around the mods blocks (unreleased 0.3 feature)

having the cog mechanics you mention would be cool and honestly great but there is stuff to lose by doing that

  1. simplistic design: easy to use, less fuss, less bug reports
  2. a ton to rewrite for the mod: it would be a major rewrite to add that

chains could be cool if they had their own unique mechanic but currently belts act like chains

there will be entity collisions if 0.3! its great you can make awsome trains too

commented

My idea for the tradeoff with chains would be that

1: they are smaller than belts and fit only around cogs, making it so that you can fit more on a single block space, but can't just use shafts like belts do.
2: They can be at any angle, resulting in more compact machines
3: they can't carry items, only contraptions with a certain anchor on them.

Besides which, adding the drill would mean a few things to do:
1: adding the holes list property
2: adding new block meshes for blocks with holes of any combination
3: adding a shaft indicator mesh which fits next to any affected block if the shaft doesn't extend in that direction
4: an additional mesh or overlay texture for the bearing item
To save work, only solid/cubic blocks could have holes. This only works if Minecraft doesn't have every block use its own mesh.

The cog updates would also might need these to work:

1: Cog location code to render cogs in sub-block spaces, or a lot of models
2: A slotted shaft that uses the location coding to render multiple cogs and cog-hitboxes in one block, or at least 3^4 new models for a single block. Plus new identifiers to work with the new cog positioning.

So mostly a lot of new variables which in turn would have to be applied to most of the rest of the mod, with a few extra meshes which would be par for the course with most additions. And optionally a few extra functions to make cog interactions more realistic with this system implemented.