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

Ideas / Feature requests #14

Open
Katorone opened this issue Jul 19, 2020 · 0 comments
Open

Ideas / Feature requests #14

Katorone opened this issue Jul 19, 2020 · 0 comments

Comments

@Katorone
Copy link

Katorone commented Jul 19, 2020

My general idea for these suggestions are to offload as much as possible to the server itself. Ideally a vanilla client would be able to join a server running this mod. They might miss out on some minor features, but wouldn't need an entire modpack just do do some immersive automation.

Day / night cycle

  • Have a configurable total day cycle, or even a configurable length for day time and night time. (I'm thinking day cycles of 3 to 5 hours instead of 20 minutes)
  • Allow people to use their bed at any time.
    • Players would stay in bed until they cancel, or time is skipped. This so players are able to reset their sleep debt (phantoms) without skipping time on multiplayer servers. It's still a small time investment due to the sleep mechanic of getting in & out of bed.
  • If all (or a configurable %) of players on a server are using the bed at the same time, time is skipped
  • Day can turn into night, night can turn into day, as long as enough players are sleeping.
  • (configurable) sleeping would only count the players who are in the overworld at that time.

Practically the day cycle can be manipulated with the doDaylightCycle game rule and setting the server time on a timer, where the configured day cycle length would determine how many ticks are needed to progress a minecraft minute. This should avoid the bukkit issue where the sun and moon rubberband, while not interfering with server ticks at all.
I don't know enough about how beds and sleep work to offer any insights there.

Boats

  • Allow blocks to be put in the boat's passenger seat.
    Making boats equivalent to minecarts by being able to extend them with a chest, furnace or even TNT would increase their usefulness. Or being able to place a banner on a boat would allow for roleplay and team-based mini game options.
  • Allow the player to attach a lead to a boat

Flora

  • Bad weather (thunderstorms) can break tall bamboo, sugar cane or destroy leaves and other brittle blocks, or uproot saplings or newly planted crops (eg <= growth stage 2). The damaging wind would come from a certain direction (I don't think minecraft has wind, but this could be randomly decided when the bad weather starts). Blocks that are exposed to this wind would be vulnerable.
  • The higher something is compared to the sea level, the more vulnerable it is to bad weather.
  • Tall grass next to water or flowing water can turn into wheat.

Villagers

  • "Crafting" villagers will look in a chest next to their workstation, take two of the same damaged item and combine (repair) them. They'd ignore enchantments (they'd get removed with the repair), and would leave alone fully repaired items.
    • If complexity isn't an issue, each specific villager job could only be able to repair items that fit their profession:
      • Armorer : metal armors
      • Fletcher : bows
      • Leatherworker : leather armors
      • Toolsmith : any tool
      • Weaponsmith : any melee weapon
  • The cleric would look in a chest next to the brewing stand for bottles, netherwart and other potion ingredients.
    • If creating a crafting tree is too complex or cpu intensive, somehow assigning the cleric to a certain potion might be feasible. In the old bukkit days this would be done by having an item frame with the desired item placed on the inventory or station.
  • The butcher would breed nearby animals if the required food is in their chest. They could throw the food towards the animals.
  • The shepherd would shear or milk nearby animals
  • The fisherman could catch fish if their workstation is close to water
  • Librarions could slowly fill out a map of the area. A visit from the wandering trader would give a small boost.
  • The librarian puts a few bottle of enchanting in their chest after each night. This simulates the village surviving and some of the XP they've collected. The night after a raid would see a huge boost.
    • To prevent cheesing, the librarian would not give xp if their chunks weren't loaded for the majority of the night. (sleeping could forfeit the xp)
    • Another factor could be the amount of iron golems in the village, and how many died during the night. Depending if a nerf for iron farms is wanted or not.
  • The stone mason could create requested blocks (eg with an item frame) from the blocks in their chest. If the requested block is a wall, they'd try to convert the delivered blocks into their wall variant.

The amount of villager trades each villager has reached could be used as an expertise level. A maxed out villager would be a lot better at their job.

The wandering AI of the villagers might make a lot of these features impossible. They should stay in range of their workstation, so some actions could be simulated.

Pillagers

"FOR THE LOVE OF GOD GO AWAY", is something I hear a lot when it comes to pillagers. Is there a way to restrict their spawn mechanic based on the amount of pillagers a player has killed? More kills meaning it's less likely that pillagers are spawned near this player.

Config options for existing features / small extensions

  • A configurable delay before crops / saplings plant themselves
  • Other items which may plant themselves. I'm thinking of:
    • all seed-items, potatoes, carrots, sugarcane, cacti, sheared grass, flowers, ...
    • torches thrown down a ravine (or maybe an alternative variant crafted with a slime ball)
  • Farmland that was trampled has a configurable chance to revert back to farmland if:
    • It's still hydrated
    • There are 2 blocks with crops next to it at >= stage 2
    • Not more than 10 seconds have passed (to avoid permanently having to check dirt blocks for these requirements when a farm gets destroyed on purpose)
    • And the block hasn't turned into grass before the chance is True.

Filtered hopper

Huge storage networks can already be made with hoppers and redstone. However, a filtered hopper would be a server-friendly vanilla+ way to do the same thing. The filter could work by adding one or more item frames to the hopper. The hopper would only pull the items with matching itemId from the inventory above.

Modded pipes usually have a way to also match enchantments or damage values, but I can't think of a neat way to include these options. A sign with parameters could work, but feels iffy.

The filtered hopper could be crafting by combining the hopper with an iron trap door.

Adding a diamond to the filtered hopper would allow it to push entire stacks at once. (great for filtering inventory dumps from water streams, requiring less ticks to process everything)

Vanilla-style item magnet

  • An iron block with iron fences on top of it makes a nice lightning rod. When this block is hit by lightning, it becomes "magnetic", being able to pull all nearby item entities towards its sides (not the top because we'd want to put hoppers next to it).
  • The amount of iron fences on top of this block, when lightning strikes, determines the range of the magnet (1 + # fences), with a max of (configurable?) 8 blocks radius.
  • The iron block is given an enchanted glimmer, it should be able to mine this block and place it somewhere else
  • While in the player's inventory, item entities are attracted to the player.
  • A magnet block with iron fences will more easily attract lightning, it would supercharge nearby creepers when hit with lightning.
  • crafting the iron block into iron ingots destroys the magnet.

An alternative way to add tasks to blocks

While an item frame with a "task" would work, I fear it could slow down the server easily. An alternative way could be to combine the villager workstation or hoppers with a target block in the anvil.

  • This would cost 1 level, allows the player to rename the block, and would add NBT data to the workstation/hopper. This mod can then use that NBT data to determine which action is requested, instead of having to look up blocks in the world each time.
  • Crafting the same block again with a different block would add that block to the existing NBT data.
  • Crafting the item in an empty grid would clear the NBT data.
  • The overlay of this mod for named chests could be extended to use this system to provide information to players about each block's configuration.

Another alternative is caching, which would require detecting block placement and removal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant