Newer
Older
void-pack-super-server / work / decompile-ee3ecae0 / net / minecraft / server / SensorInteractableDoors.java
package net.minecraft.server;

import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.Set;

public class SensorInteractableDoors extends Sensor<EntityLiving> {

    public SensorInteractableDoors() {}

    @Override
    protected void a(WorldServer worldserver, EntityLiving entityliving) {
        DimensionManager dimensionmanager = worldserver.getWorldProvider().getDimensionManager();
        BlockPosition blockposition = new BlockPosition(entityliving);
        List<GlobalPos> list = Lists.newArrayList();

        for (int i = -1; i <= 1; ++i) {
            for (int j = -1; j <= 1; ++j) {
                for (int k = -1; k <= 1; ++k) {
                    BlockPosition blockposition1 = blockposition.b(i, j, k);

                    if (worldserver.getType(blockposition1).a(TagsBlock.WOODEN_DOORS)) {
                        list.add(GlobalPos.create(dimensionmanager, blockposition1));
                    }
                }
            }
        }

        BehaviorController<?> behaviorcontroller = entityliving.getBehaviorController();

        if (!list.isEmpty()) {
            behaviorcontroller.setMemory(MemoryModuleType.INTERACTABLE_DOORS, (Object) list);
        } else {
            behaviorcontroller.removeMemory(MemoryModuleType.INTERACTABLE_DOORS);
        }

    }

    @Override
    public Set<MemoryModuleType<?>> a() {
        return ImmutableSet.of(MemoryModuleType.INTERACTABLE_DOORS);
    }
}