mirror of https://github.com/FabricMC/yarn.git
Barebone javadoc for brain, explains why (#2475)
closes #2210, feel free to ask for more Co-authored-by: liach <liach@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
parent
979e16e976
commit
3320a21d3c
|
@ -1,4 +1,17 @@
|
||||||
CLASS net/minecraft/class_4095 net/minecraft/entity/ai/brain/Brain
|
CLASS net/minecraft/class_4095 net/minecraft/entity/ai/brain/Brain
|
||||||
|
COMMENT A brain is associated with each living entity.
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>A brain has {@linkplain #memories memories}, {@linkplain #sensors sensors},
|
||||||
|
COMMENT and {@linkplain #tasks tasks}. In general, the brain can use sensors to refresh
|
||||||
|
COMMENT the memories over time, and the memories can be shared by different tasks,
|
||||||
|
COMMENT which can reduce duplicate calculation. For instance, instead of having each
|
||||||
|
COMMENT task scan for the player, the memories can hold information about nearby player,
|
||||||
|
COMMENT and the task can choose to run or not accordingly.
|
||||||
|
COMMENT
|
||||||
|
COMMENT <p>To construct a brain, you need to specify the memory (module) types and
|
||||||
|
COMMENT sensors present in a brain, and then you can add individual tasks.
|
||||||
|
COMMENT
|
||||||
|
COMMENT @see LivingEntity#brain
|
||||||
FIELD field_18322 memories Ljava/util/Map;
|
FIELD field_18322 memories Ljava/util/Map;
|
||||||
FIELD field_18323 sensors Ljava/util/Map;
|
FIELD field_18323 sensors Ljava/util/Map;
|
||||||
FIELD field_18324 tasks Ljava/util/Map;
|
FIELD field_18324 tasks Ljava/util/Map;
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
CLASS net/minecraft/class_4140 net/minecraft/entity/ai/brain/MemoryModuleType
|
CLASS net/minecraft/class_4140 net/minecraft/entity/ai/brain/MemoryModuleType
|
||||||
|
COMMENT A memory module type represents a type of data stored in a brain. The memory
|
||||||
|
COMMENT data can be shared by different tasks once they are updated by a sensor or
|
||||||
|
COMMENT created by some task. This can avoid some redundant calculations.
|
||||||
|
COMMENT
|
||||||
|
COMMENT @see Brain#memories
|
||||||
|
COMMENT @see Memory
|
||||||
FIELD field_24668 codec Ljava/util/Optional;
|
FIELD field_24668 codec Ljava/util/Optional;
|
||||||
METHOD <init> (Ljava/util/Optional;)V
|
METHOD <init> (Ljava/util/Optional;)V
|
||||||
ARG 1 codec
|
ARG 1 codec
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
CLASS net/minecraft/class_4148 net/minecraft/entity/ai/brain/sensor/Sensor
|
CLASS net/minecraft/class_4148 net/minecraft/entity/ai/brain/sensor/Sensor
|
||||||
|
COMMENT A sensor can update memories over time in a brain. The sensor's computation
|
||||||
|
COMMENT replaces that of individual tasks, so that it is more efficient than the goal
|
||||||
|
COMMENT system.
|
||||||
|
COMMENT
|
||||||
|
COMMENT @see Brain#sensors
|
||||||
FIELD field_18463 lastSenseTime J
|
FIELD field_18463 lastSenseTime J
|
||||||
FIELD field_18464 senseInterval I
|
FIELD field_18464 senseInterval I
|
||||||
FIELD field_19294 RANDOM Ljava/util/Random;
|
FIELD field_19294 RANDOM Ljava/util/Random;
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
/*
|
||||||
|
* This file is free for everyone to use under the Creative Commons Zero license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This and its subpackages make up the brain system used by some modern Minecraft entities,
|
||||||
|
* such as villagers, piglins, and axolotls.
|
||||||
|
*
|
||||||
|
* <p>Compared to {@linkplain net.minecraft.entity.ai.goal the goal system}, the brain system's
|
||||||
|
* main advantage is that it allows sharing of certain expensive calculation results in the
|
||||||
|
* form of memory by the individual tasks.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package net.minecraft.entity.ai.brain;
|
|
@ -0,0 +1,13 @@
|
||||||
|
/*
|
||||||
|
* This file is free for everyone to use under the Creative Commons Zero license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The basic AI system for Minecraft living entities.
|
||||||
|
*
|
||||||
|
* <p>This has been the dominant AI system in Minecraft since 1.8. In 1.14, with the update
|
||||||
|
* on villagers, a new {@linkplain net.minecraft.entity.ai.brain brain system} has been
|
||||||
|
* introduced.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package net.minecraft.entity.ai.goal;
|
Loading…
Reference in New Issue