⚡ 즉시 수집 모드 (MC 26.1.2)
📌 저장소 소스 코드 고지 사항: 이 Wiki의 문서는 CurseForge 및 Modrinth의 공개 릴리스 빌드에 앞서 최근에 커밋된 미출시 커밋이나 개발 중인 기능이 포함될 수 있는 저장소의 현재 소스 코드 상태를 반영합니다.
| 기능 정보 상자 | 기술적 세부 파라미터 |
|---|---|
| 시스템 클래스 | net.instantgratification.magnet.mixin.PlayerMixin |
| 활성화 GameRule | ig:magnet_instant (기본값: false) |
| 반경 GameRule | ig:magnet_range (기본값: 12, 범위: 1..64) |
| 주입 지점 | @ModifyVariable(method = "aiStep", at = @At("STORE"), ordinal = 0) |
| 대상 변수 | 플레이어 수집 바운딩 박스 (AABB pickupArea) |
📖 즉시 수집(Instant Pickup) 개요
마인크래프트 26.1.2에서 즉시 수집 모드는 Player.aiStep() 에서 플레이어의 수집 바운딩 박스를 확장하여, 드롭된 아이템을 바닐라 수집 핸들러를 통해 플레이어 인벤토리로 즉각 유입시킴으로써 비행 시간을 완전히 제거합니다.
+-----------------------------------------------------------------------------------+
| 바닐라 플레이어 aiStep() 틱 처리 |
+-----------------------------------------------------------------------------------+
|
v
+---------------------------------------------------+
| PlayerMixin.ig_magnet$expandPickupArea() |
| pickupArea = pickupArea.inflate(range); |
+---------------------------------------------------+
|
v
+-----------------------------------------------------------------------------------+
| 바닐라 ItemEntity.playerTouch(Player) 파이프라인 실행 |
| - 네이티브 인벤토리 스태킹 및 부분 수집 완벽 지원 |
| - 바닐라 아이템 획득 애니메이션 및 사운드 (item.pickup / entity.experience_orb)|
| - 네이티브 통계 및 발전 과제 자동 달성 |
| - 인벤토리 가득 참 방지 및 남은 아이템 안전 보존 |
+-----------------------------------------------------------------------------------+🧩 아키텍처 구현 세부사항 (PlayerMixin.java)
java
@ModifyVariable(
method = "aiStep",
at = @At(value = "STORE"),
ordinal = 0
)
private AABB ig_magnet$expandPickupArea(AABB pickupArea) {
Player player = (Player) (Object) this;
Level level = player.level();
if (!level.isClientSide()) {
if (ModGameRules.getBoolean(level, ModGameRules.MAGNET_INSTANT)) {
int range = ModGameRules.getInt(level, ModGameRules.MAGNET_RANGE);
if (range > 0) {
return pickupArea.inflate(range);
}
}
}
return pickupArea;
}⚙️ 관련 설정 및 GameRules
| GameRule | 타입 | 기본값 | 설명 |
|---|---|---|---|
ig:magnet_instant | Boolean | false | true 설정 시 아이템이 비행하지 않고 플레이어에게 즉시 순간이동됩니다. |
ig:magnet_range | Integer | 12 | 확장할 수집 영역의 블록 반경입니다. |
ig:magnet_enabled | Boolean | true | 모드 전체를 켜거나 끄는 마스터 스위치입니다. |
