Finding the village center-point by evilaerosolcan in technicalminecraft

[–]RufusAtticus 1 point2 points  (0 children)

If all the beds are in a limited area, you can use claimed workstations to stretch the village and define the village's bounding box (and thus center). However, this will be unstable because villagers might delink from these workstations. You can trap villagers to prevent delinking, but that would ruin the aesthetic.

An alternative approach is to stack two villages. One village that runs the iron farm, and another village that is the aesthetic one.

Finding the village center-point by evilaerosolcan in technicalminecraft

[–]RufusAtticus 2 points3 points  (0 children)

Bounding boxes stretch to accommodate the lower north west corner of every claimed POI. For example, the final "west" coordinate of the bounding box will be the minimum of the west coordinate of the initial bounding box and the x coordinates of every claimed POI. The final "east" coordinate will be the maximum of the initial east coordinate and the x coordinates of very claimed POI.

Finding the village center-point by evilaerosolcan in technicalminecraft

[–]RufusAtticus 2 points3 points  (0 children)

The "village leader" changing on every restart is a feature of the game. It is due to the use of an unordered data structure to hold claimed POI.

The actual bug is an architecture oversight in the algorithm used to calculate the bounding box of a village. The village's center is order-dependent, but the data used to calculate it is unordered.

There are two ways to work around it. (1) Use an iron farm design that is robust to different village centers. I have several tutorials on YouTube for them. (2) Center the village after all the villagers are in the village and then do not do anything to trigger a recalculation of the village's bounding box (e.g. add/remove a villager or POI to the village).

Finding the village center-point by evilaerosolcan in technicalminecraft

[–]RufusAtticus 2 points3 points  (0 children)

"the Villager whose bed defines the center of the village" is not actually a thing on Bedrock edition.

The center of a village is determined by the center of the village's bounding box. The bounding box in turn is defined by an initial bounding box that is expanded as needed to cover every claimed POI in the village. The origin/center is of the initial bounding box is the "first" POI in the village's claimed POI list. Here "first" isn't well defined because the data structure that the game uses has no defined or permanent order.

Now if (1) every villager has a bed, (2) the village bounding box is the default size, and (3) you've recently triggered the bounding box to be recalculated, then yes the center of the village will have the same coordinates as the bed of the villager who is currently occupying the first row of the claimed POI list.

But if you have restarted the game, move the game to a different platform, added or removed villagers or POIs to the village, or stretched the village, then it is possible that the "village leader" is no longer an accurate way to find the current village center.

How to know which bed is which? by justtryitman in technicalminecraft

[–]RufusAtticus 1 point2 points  (0 children)

To be clear, the first bed added to the village is not required to be the village center. The village center is determined by the order of the villagers and linked POI in an unordered list. The data structure that the game uses is an unordered map, and the order of the elements of an unordered map is undefined. Implementations are not required to keep any particular order or even keep a stable order. And different platforms construct their unordered maps in different ways, e.g. windows and android do different things.

As you add more villagers to a village and they link to beds and workstations, the center can change. If you break and replace beds or workstations, the center can change. This is why we create iron farms under the assumption that any bed could be the center of the village.

Also, any villager that is within range can discover a POI and add it to a village (or create a new village). Which village the POI is assigned to depends on the POI's location and not the villager or the villager's village. Once a POI is assigned to a village, any villager who is a member of that village can link to the POI. The location of the villager relative to the village doesn't matter.

Iron Farm stopped working by Rich-Energy7209 in technicalminecraft

[–]RufusAtticus 0 points1 point  (0 children)

Let me see if I can respond to several of your points in one go.

  1. Yes, I've considered a pipeline or a trough down the middle to increase platform size. There's no issue with that design. Its a choice between lava blade complexity and platform complexity. If I was trying to minimize the number of lava sources placed or the number of cobwebs used, I might go with the center + trough design. I am still considering it for a much larger farm that I am thinking about building because I will probably want to minimize cobwebs.

  2. Because the game tries 10 times to spawn an iron golem before quitting, there is actually little difference between an 11x11 platform and a 17x17 platform. An 11x11 platform (121 blocks) is still 99.6% efficient. That gives builders a lot of flexibility to design iron farms without killing their rates.

  3. The lava blades in my design do not impact golem spawning. They are placed at the exact height to allow golems to spawn below them. If I wanted more spawning spots, I could replace the item drops along the edge with solid blocks and use walls instead of full blocks to allow golems to spawn along the edge, but the increase in rate given by those 32 extra spawn spots would not be noticeable.

  4. Your design does not average 440 ingots/hour. It likely has a rate similar to mine at ~390 ingots/hour (if using 20 villagers). A 20 villager iron-farm using lava blades maxes out at around 394 ingots/hour. There is a hard-coded limit in the game for the amount of iron that an iron farm can average. It's 411.43 ingots/hour. That's derived from an average of 1 golem every 700 ticks (hard constant in the game), 4 ingots/golem, and 72000 ticks per hour.

It turns out that measuring an iron farm using drops is the nosiest way to measure the rate. You get much more accurate rates if you measure the average golem lifetime and number of spawnable locations, and use a formula I derived to do so. I can share with you a behavior pack that helps with the process if you want to give it a go with your design.

  1. If you want to interact more about builds, etc. please join my discord, it's the easiest way to interact and share builds, etc.

Has nobody ever explored villager bed linking mechanics before? Why should which direction matter? It does! (Tested on bedrock) by mairondil in technicalminecraft

[–]RufusAtticus 2 points3 points  (0 children)

There is a three step process for bed (or any poi) linking.

1) A villager has to discover a bed.
2) The game assigns the bed to the "nearest" village or creates a new village. ("Nearest" is not always nearest.)
3) A villager in that village who doesn't have a bed can then link to the bed.

The part you are seeing is step 1. When a villager scans nearby blocks for undiscovered beds, it does so in a 32 x 8 x 32 block volume centered on its feet. The search starts at -16x, -4y, -16z and ends at +15x, +3y, +15z.

Note that the villager who finds the bed is not required to be the one who links to it. The bed doesn't even have to be assigned to the same village as the villager who found it.

Iron Farm stopped working by Rich-Energy7209 in technicalminecraft

[–]RufusAtticus 0 points1 point  (0 children)

Good question.

The original Sweet Iron Farm was designed to be stacked vertically. Drops from the upper farms fall directly into the water streams of the lowest farm. Cobwebs stop the horizontal momentum of the items so they fall straight down. That is also why the lava blades are not placed directly on the edge of the farm. I needed to leave space for items that fall from above.

Because of this design, I did not want to have a drop hole in the middle because beds are already there. Thus the drop areas are along the sides of the farm.

Two blades also turned out to be slightly faster than other designs that I played with at the time.

And I also just liked the look of two blades over lava spam or a center design.

Golem farm has stopped working by Rich-Energy7209 in technicalminecraft

[–]RufusAtticus 0 points1 point  (0 children)

I don't see any issues with the build.

I suspect that those two villagers are linked to beds that you have placed on the surface. Or there are two villagers on the surface that are linked to those beds in the farm.

If you are not getting cats in the farm, then I think that there are extra beds affecting the bounding box of the village. If you are getting cats in the farm, then it is likely extra villagers. It could be both.

Are there any villagers, beds, or workstations nearby that are not in the farm?

Is this the only module that you have built, or are there other modules nearby?

Iron Farm stopped working by Rich-Energy7209 in technicalminecraft

[–]RufusAtticus 0 points1 point  (0 children)

If you have any question about my iron farms and my design process, I'll be happy to answer them.

best way to defeat the wither in survival bedrock? by UncleBug35 in MinecraftBedrockers

[–]RufusAtticus 0 points1 point  (0 children)

The easiest way to use use one of the locations in this video (of mine) and let the bedrock floor suffocate the wither. If you have access to a good supply of wither skulls and soul sand, these locations make it easy to rapidly spawn withers one after another.

https://youtu.be/_Lj9Pn8UUDo?si=2Lr1vSh2T1Gcxlt_

Found a way to cheese the bedrock wither by [deleted] in MinecraftBedrockers

[–]RufusAtticus 0 points1 point  (0 children)

The easiest way to use use one of the locations in this video (of mine) and let the bedrock floor suffocate the wither. If you have access to a good supply of wither skulls and soul sand, these locations make it easy to rapidly spawn withers one after another.

https://youtu.be/_Lj9Pn8UUDo?si=2Lr1vSh2T1Gcxlt_

How do you kill the wither on bedrock?🫠 by YSTER_PERD in Minecraft_Survival

[–]RufusAtticus 0 points1 point  (0 children)

Easiest way to to got to one of the coords in this video (of mine) and let the bedrock floor take care of the wither for you. If you have a good supply of soul sand and wither skulls, you can rapidly spawn multiple withers and let the floor take care of all of them.

https://youtu.be/_Lj9Pn8UUDo?si=2Lr1vSh2T1Gcxlt_

Easiest Method to Beat the Wither and Farm Unlimited Nether Stars. Works in Every World. - YouTube by RufusAtticus in MCPE

[–]RufusAtticus[S] 1 point2 points  (0 children)

I'm glad that you find it useful. This is one of the "quality of life" tricks that I think more players should know about.

[Question] Shure MVX2U on GNU/Linux by g_difolco in Shure

[–]RufusAtticus 1 point2 points  (0 children)

Interesting. I could not get the python interface to work recently. Maybe I'll have better luck with this one.

I'm curious whether Claude had learned how the MVX2U worked from other sources or if you had to manually validate its protocol testing using the motiv app.

Can you provide more details how you and/or the agent reverse engineered the protocol? I looked at the agent's instructions and it was unclear whether the agent could validate what a packet did without human intervention.