Come evitare la rottura di blocchi di sabbia / ghiaia durante l'utilizzo nei meccanismi di Minecraft?

Quando si creano meccanismi come ascensori basati su blocchi di sabbia / ghiaia (e la loro properties; di essere influenzati dalla gravità) come si possono evitare questi blocchi dalla rottura?

Capisco che se i blocchi rimbalzano c'è una maggiore possibilità che si rompano. Quindi forse un altro punto alla domanda sarebbe: quali sono le condizioni per i blocchi di sabbia / ghiaia per entrare in un object?

Credo di aver determinato l'algorithm per la caduta di sabbia e ghiaia; L'ho scritto in precedenza su Minecraft Wiki . Userò "sabbia" per indicare sabbia o ghiaia.

Quando la sabbia cade, è un'entity framework; , proprio come tutti gli altri oggetti che si muovono liberamente. Questa entity framework; cade sotto l'influenza della gravità finché non colpisce qualcosa di solido sul suo fondo. Ciò causa un tentativo di posizionare un block solido nella posizione della griglia del cubo contenente il punto inferiore centrale della sabbia che cade . Quindi, se quel cubo è occupato da un block (come una lastra o una torcia), la sabbia diventa invece un'entity framework; risorsa (il cubo rotante che si può raccogliere).

Quindi, proprio come le conclusioni della descrizione di cui sopra, in altri modi la sabbia può rompersi oltre a cadere sulle torce:

  • Una testa di pistone si muoveva verso l'alto attraverso il cubo quando la sabbia atterrava.
  • Un altro block di sabbia è atterrato in quel cubo mentre la sabbia stava entrando.
  • Un pistone spingeva un block nel cubo, la sabbia già parzialmente occupata. (Questo è ciò che accade nel tuo esempio di torre di sabbia.)

Al fine di evitare la rottura della sabbia con i meccanismi del pistone, non spingere i blocchi nella sabbia spaziale che sta attualmente cadendo.

Un block sabbia / ghiaia si spezzerà quando cadrà se il block sottostante non è solido. Durante lo spostamento, i blocchi non sono considerati esattamente "solidi", quindi se il block in caduta tenta di entrare in un block where c'è un pistone in movimento (o un block spostato dal pistone), probabilmente si romperà.

Se atterra su una torcia o su un altro block non solido, si romperà.

Semplicemente non usare blocchi non solidi, o in altre parole; non lasciarli atterrare su torce, gradini, mezzi passi o simili.