Comportamento do BetterFood
BetterFood usa seleção de alimentos consciente da fome em vez de simplesmente comer o item mais nutritivo primeiro.
Quando É Acionado
BetterFood reage ao FoodLevelChangeEvent vanilla na prioridade HIGHEST e ignora eventos cancelados, portanto outro plugin que cancele ou reescreva a mudança de fome tem a última palavra antes de o BetterFood analisá-la. Ele só age quando a fome do jogador está diminuindo. O jogador deve ter a permissão betterfood.user e não pode ter desativado a alimentação automática através de /betterfood toggleEating.
Regras de Seleção
- Os alimentos são ordenados por fome restaurada decrescente, depois por saturação decrescente e nome do material crescente. Uma tabela pré-calculada indica onde começa a procura para cada nível de fome.
- A procura segue para alimentos menos nutritivos. É consumido o primeiro alimento transportado sem personalizações; entre pilhas iguais, é usada a posição de menor índice no inventário.
Pode haver desperdício: com fome 11, ensopado de coelho (10) pode ser escolhido antes de carne assada (8), embora só faltem 9 pontos. Não existe uma segunda passagem para minimizar o excesso. A fome fica limitada a 20 e a saturação à fome resultante.
Alimentos em Tigela
Sopa de beterraba, ensopado de cogumelos e ensopado de coelho retornam uma tigela vazia quando consumidos automaticamente, correspondendo ao vanilla:
- se o stack consumido acabar, a tigela o substitui no mesmo slot
- caso contrário, a tigela é adicionada ao inventário, e largada aos pés do jogador se não houver espaço para ela
Itens Protegidos
O BetterFood só consome automaticamente um item que seja byte a byte idêntico a um stack vanilla intacto do mesmo material. Qualquer coisa que carregue dados de item extras é ignorada, incluindo:
- um nome de exibição personalizado
- lore
- encantamentos, dados de modelo personalizado e outros componentes de item
- dados persistentes escritos por outros plugins
A verificação compara o item inteiro com um stack vanilla recém-criado, em vez de uma lista de campos mantida à mão, então dados de item adicionados por versões futuras do Minecraft são ignorados automaticamente. Isso visa reduzir a chance de consumir itens de plugins ou itens decorativos por engano.
Alimentos Suportados
BetterFood consumirá automaticamente os seguintes alimentos:
| Alimento | Fome Restaurada | Saturação Restaurada |
|---|---|---|
| Maçã | 4 | 2.4 |
| Batata Assada | 5 | 6.0 |
| Beterraba | 1 | 1.2 |
| Sopa de Beterraba | 6 | 7.2 |
| Pão | 5 | 6.0 |
| Cenoura | 3 | 3.6 |
| Carne Assada | 8 | 12.8 |
| Frango Assado | 6 | 7.2 |
| Bacalhau Assado | 5 | 6.0 |
| Carneiro Assado | 6 | 9.6 |
| Costeleta de Porco Assada | 8 | 12.8 |
| Coelho Assado | 5 | 6.0 |
| Salmão Assado | 6 | 9.6 |
| Biscoito | 2 | 0.4 |
| Alga Seca | 1 | 0.6 |
| Frutinhas Brilhantes | 2 | 0.4 |
| Cenoura Dourada | 6 | 14.4 |
| Fatia de Melancia | 2 | 1.2 |
| Ensopado de Cogumelos | 6 | 7.2 |
| Batata | 1 | 0.6 |
| Torta de Abóbora | 8 | 4.8 |
| Ensopado de Coelho | 10 | 12.0 |
| Frutas Silvestres | 2 | 0.4 |
Alimentos Excluídos
Os seguintes itens comestíveis são intencionalmente excluídos da alimentação automática. São carnes cruas, itens especiais ou alimentos com efeitos negativos ou imprevisíveis:
- Carne (crua)
- Frango (cru)
- Fruta-do-coro
- Bacalhau (cru)
- Maçã Dourada Encantada
- Maçã Dourada
- Garrafa de Mel
- Carneiro (cru)
- Batata Venenosa
- Costeleta de Porco (crua)
- Baiacu
- Coelho (cru)
- Carne Podre
- Salmão (cru)
- Olho de Aranha
- Ensopado Suspeito
- Peixe Tropical
Qualquer outro material comestível adicionado por versões mais recentes do Minecraft que não esteja na lista de suportados acima também será ignorado até que seja explicitamente adicionado a essa lista.
Na inicialização, o BetterFood executa uma auditoria de cobertura sobre todos os itens comestíveis que a versão do seu servidor conhece e registra uma única linha no console listando aqueles que ele intencionalmente não consome automaticamente (BetterFood is intentionally not auto-eating these food items: ...), para que você possa ver rapidamente quais itens são ignorados na versão do seu servidor. A linha só é impressa quando existe pelo menos um item ignorado, então a ausência de qualquer linha significa que a lista de suportados já cobre todos os itens comestíveis daquela versão.