purpleSheepPredicate
์ค์ ๋ก ์์ด ํ๋์์ธ์ง ํ์ธํฉ๋๋ค.
์๋ก์ด ์์๊ณผ ๊ฒฐํฉ ๋ ์๋ ์์์ด ๋ณด๋ผ์์ด๋๋์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค.
@ MAX1234567890 ๊ทธ๋ด ์ ์์ต๋๋ค. ๋ ๊ฐ์ง ์์ด ์๋ ์ ์ ์ ์ด์ ๋๋ค.
๋ ๋ฒ์งธ ์์์ ํญ์ ๋นจ๊ฐ์์ ๋๋ค. ๋ฐ๋ผ์ ์-> ์์ + ๋นจ๊ฐ์ == ๋ณด๋ผ์ (์ : ์-> ์์ == ํ๋์)์ ํ์ธํฉ๋๋ค.
๊ทธ๊ฒ์ด ์ฌ์ค์ด๊ธฐ๋ํ์ง๋ง ๊ทธ๊ฒ์ ์คํด์ ์์ง๊ฐ์๋ ๋ฐฉ๋ฒ์
๋๋ค.
```์๋ฐ
private final TargetPredicate purpleSheepPredicate = (new TargetPredicate ()). setBaseMaxDistance (16.0D) .includeInvulnerable (). setPredicate ((livingEntity)-> {
return ((SheepEntity) livingEntity) .getColor () == DyeColor.BLUE;
});
๋ ๋ฒ์งธ ์์์ ํญ์ ๋นจ๊ฐ์์ ๋๋ค. ๋ฐ๋ผ์ ์-> ์์ + ๋นจ๊ฐ์ == ๋ณด๋ผ์ (์ : ์-> ์์ == ํ๋์)์ ํ์ธํฉ๋๋ค.
๊ทธ๊ฒ์ ๊ฒ์์ ๋ ผ๋ฆฌ์ ๋ํ ์์ ํ ์คํด์ ๋๋ค.
ํด๋น TargetPredicate๋ evoker๊ฐ ์์ ์ธ๋ก ์ฒ๋ฆฌํด์ผํ๋์ง ํ ์คํธํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ฆ, Sheep์ ๋ฐ๋์ ํ๋์์ด์ด์ผํฉ๋๋ค.
List<SheepEntity> list = EvokerEntity.this.world.getTargets(SheepEntity.class, this.purpleSheepPredicate, EvokerEntity.this, EvokerEntity.this.getBoundingBox().expand(16.0D, 4.0D, 16.0D));
if (list.isEmpty()) {
return false;
๋ํ ๋ชฉํ๋ฅผ ์์ธํ ์ดํด๋ณด๋ฉด castSpell
์์ ๋ณผ ์ ์๋ฏ์ด ์์ด ์ ๋ ๋ณด๋ผ์์ผ๋ก ๋ณํ์ง ์๊ณ ๋นจ๊ฐ์์ผ๋ก ๋ณํ์ง ์๋๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ด ๋ณด๋ผ์์ผ๋ก ๋ณํ์ง ์๋๋ค๋ ๊ฒ์ ์๊ณ ์์ง๋ง, ์ด๋ฏธ ์์ด ๋ถ๊ฒ ๋ณํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ด๋ฏธ ์๊ณ ์๋ ์ ์ด๋ ์์ ์๋ก์ด ์๊ณผ ๊ฒฐํฉ ๋ ์์ ์๋ ์์ด ๋ณด๋ผ์์ธ์ง ํ์ธํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก evoker๋ {return purple-x; ๊ทธ๋์ ๊ทธ๋ ๋นจ๊ฐ์ = ๋ณด๋ผ์-์๋ ์์, ์ฆ ์์์ด ํ๋์์ธ์ง ํ์ธํด์ผํฉ๋๋ค.
ํ , ํน์ ๋ฐฐ๊ฒฝ ์ด์ผ๊ธฐ๋ฅผ ๋ฌธ์ํ ํ ๊ฒ์ด ์์ต๋๊น? ์๋ฅผ ๋ค์ด ์ํค?
์ด ๊ฒฝ์ฐ ๋ ผ๋ฆฌ๊ฐ ์ด๋ฆ์ ์ง์ํด์ผํ๋ค๊ณ ์๊ฐํ์ง๋ง ๊ทธ๊ฒ์ ๋ํ ์ ๋จธ๋ฌ์ค ํ javadoc์ด ์ฌ๋ฏธ์์ ์ ์์ต๋๋ค.
์ง์ ์ ์ผ๋ก๋ ์๋์ง๋ง a) Evokers๊ฐ ๋ ๋ ์คํค์ ๋ง๋ค์๋ค ๊ณ ๊ณต์์ ์ผ๋ก ๋ช ์๋์ด ์๊ณ b) ๋ฒก์ค๋ ๋นจ๊ฐ์์ด๋ผ๋ ์ฌ์ค์ด ๊ทธ ๊ฒฐ๋ก ์ ์ด๋ฅด๊ฒํฉ๋๋ค. ๋ณด๋ผ์์ ์์ง์ ํน์ฑ์ ์ผ๋์ ๋๋ ๊ฒ๋ ์ค์ํฉ๋๋ค. Evoker๋ ๋ณด๋ผ์์ด์๋ ์ ์ผํ Illager (Vexes ๋ฐ Witches ํฌํจ)์ด๋ฏ๋ก Illager๊ฐ ๋ณด๋ผ์์ "๊ณ์ฐ"ํ๋ค๋ ์๊ฐ์ผ๋ก ์ด์ด์ง๋๋ค-์์ ์ ๋นจ๊ฐ์์ผ๋ก ๋ฐ๊ฟ๋๋ค.
Max, ์ค์ ์ด๋ฆ์ด ์๋ ๋ฌธ์์ ๋ฃ์ด์ผํฉ๋๋ค. ์ด๋ฆ์ ์งง๊ณ ๊ฐ๊ฒฐํด์ผํ๋ฉฐ ๊ทธ ์ญํ ์ ๋ฐ์ํด์ผํฉ๋๋ค.
๊ตฌํ ์ธ๋ถ ์ฌํญ์ด ํผ๋์ค๋ฝ๊ณ ์ ์ฉํ์ง ์์ ๊ฒฝ์ฐ ๊ตฌํ ์ธ๋ถ ์ฌํญ์ ๋ํด ๋๋์ฒด ์ ์ผ๋ ค ํ๋๊ฐ. ๊ทธ๋ฅ convertibleSheepPredicate
๋ผ๊ณ ๋ถ๋ฅด์ธ์, ์ ๋์ผ์ค ์ปฌ๋ฌ์ ๋ํด ์๊ฐ ๋๊ฒ ํ์๋์?
์ด ์ผ์ ๋ํด์๋ ๋ฉ์ฆ๋ฅผ ๋น๋ํ์ญ์์ค. Yarn์ ์ด ์ข๊ฒ๋ ํจ์ฌ ๋ ๋๋ํด์ก์ผ๋ฉฐ ๋ ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ์ด๋ฆ์ ์ง์ ํ์ต๋๋ค.
https://github.com/FabricMC/yarn/commit/5c6c0c71d1480a36e1d3c2a8f2adf859e307cbc6#diff -b6376ebd10e80e5e322fb28f766d47c4R44
์ธ๋ถ ์ฌํญ์ ํผ๋์ค๋ฝ์ง ์์ผ๋ฉฐ ์ํ๋๋ ์์ ์ด ๋งค์ฐ ๋ช ํํฉ๋๋ค. ์์ด ํ๋์์ธ์ง ํ์ธํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Max, ์ค์ ์ด๋ฆ์ด ์๋ ๋ฌธ์์ ๋ฃ์ด์ผํฉ๋๋ค. ์ด๋ฆ์ ์งง๊ณ ๊ฐ๊ฒฐํด์ผํ๋ฉฐ ๊ทธ ์ญํ ์ ๋ฐ์ํด์ผํฉ๋๋ค.