Skip to content

Commit

Permalink
Merge branch 'english'
Browse files Browse the repository at this point in the history
# Conflicts:
#	docs/advanced/accesstransformers.mdx
  • Loading branch information
tmvkrpxl0 committed Mar 9, 2024
2 parents 3b82aeb + 9c2de59 commit 33e745c
Showing 1 changed file with 11 additions and 23 deletions.
34 changes: 11 additions & 23 deletions docs/advanced/accesstransformers.mdx
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

접근 제어자 변형하기
===================
# 접근 제어자 변형하기

접근 변환자 (AccessTransformer, AT라고 짧게 부르기도 합니다.)는 클래스, 메서드, 필드의 가시성을 확대시키거나, 불변 여부를 변경하는 데 사용됩니다. 모드가 접근 불가능한 멤버를 사용할 수 있도록 해 줍니다.

접근 변환자 설정 파일 규격은 [이곳][specs]에 나와있습니다.

AT 추가하기
----------
## AT 추가하기

<Tabs defaultValue="latest">
<TabItem value="latest" label="최신 버전">
Expand Down Expand Up @@ -73,13 +71,11 @@ minecraft {
</TabItem>
</Tabs>

주석
--------
## 주석

`#`로 시작하는 줄은 주석으로 처리되며 무시됩니다.

접근 수정자
----------------
## 접근 수정자

접근 수정자는 설정 파일에서 대상이 가지게 될 새로운 가시성을 정의합니다. Java의 가시성은 다음과 같습니다:

Expand All @@ -96,12 +92,7 @@ minecraft {
`private` 메서드나 `final` 메서드(또는 `final` 클래스에 정의된 메서드), 그리고 `static` (정적) 메서드들은 재정의가 불가능합니다, 그렇기에 위와 같은 문제가 발생하지 않습니다.
:::

변환 타깃 지정하기
----------------------

:::caution
접근 변환자를 마인크래프트 클래스에 사용할 때, 필드나 메서드 이름으로 SRG 이름을 사용하셔야 합니다.
:::
## 변환 타깃 지정하기

### 클래스

Expand Down Expand Up @@ -150,23 +141,20 @@ minecraft {
* `V` - 메서드 반환 타입이 `void`일 때 사용
* 예: `<method>()V`는 인자 및 반환 값이 없는 메서드

예시
--------
## 예시

```
# Crypt 클래스의 ByteArrayToKeyFunction 인터페이스의 가시성을 public으로 변경합니다.
public net.minecraft.util.Crypt$ByteArrayToKeyFunction
# MinecraftServer의 'random' 필드를 protected로 만들고 final 키워드를 제거합니다
protected-f net.minecraft.server.MinecraftServer f_129758_ #random
protected-f net.minecraft.server.MinecraftServer random
# Util에 있는 String을 인자로 받고 ExecutorService를 반환하는,
# 'makeExecutor' 메서드를 public으로 만듭니다
public net.minecraft.Util m_137477_(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService; #makeExecutor
# String을 인자로 받고 ExecutorService를 반환하는 'Util#makeExecutor' 메서드를 public으로 만듭니다
public net.minecraft.Util makeExecutor(Ljava/lang/String;)Ljava/util/concurrent/ExecutorService;
# UUIDUtil에 있는 2개의 long을 인자로 받고 int[]를 반환하는,
# 'leastMostToIntArray' 메서드를 public으로 만듭니다
public net.minecraft.core.UUIDUtil m_235872_(JJ)[I #leastMostToIntArray
# 2개의 long을 인자로 받고 int[]를 반환하는 'UUIDUtil#leastMostToIntArray' 메서드를 public으로 만듭니다
public net.minecraft.core.UUIDUtil leastMostToIntArray(JJ)[I
```

[specs]: https://github.com/neoforged/AccessTransformers/blob/main/FMLAT.md
Expand Down

0 comments on commit 33e745c

Please sign in to comment.