Jshader
jshader는 마인크래프트 서버에서 커스텀 셰이더 효과를 적용할 수 있게 해주는 플러그인이다. 클라이언트 측 모드 없이도 서버에서 다양한 시각적 효과를 제공할 수 있다.
주요 기능
셰이더 효과
서버 측에서 제어 가능한 다양한 셰이더 효과:
- 화면 효과: 블러, 왜곡, 색상 필터
- 환경 효과: 안개, 빛 번짐, 그림자
- 상태 효과: 현기증, 환각, 충격 효과
- 날씨 효과: 비, 눈, 폭풍 강화
리소스팩 연동
커스텀 리소스팩과 함께 사용하여 더욱 풍부한 시각 효과를 구현할 수 있다. 서버 리소스팩 자동 다운로드 기능을 지원한다.
명령어
명령어 | 설명 | 권한 |
---|---|---|
/shader apply <플레이어> <셰이더> | 셰이더 적용 | jshader.apply |
/shader remove <플레이어> | 셰이더 제거 | jshader.remove |
/shader list | 사용 가능한 셰이더 목록 | jshader.list |
/shader reload | 셰이더 리로드 | jshader.reload |
/shader create <이름> | 셰이더 생성 | jshader.create |
/shader test <셰이더> | 자신에게 테스트 | jshader.test |
설정
# config.yml 주요 설정 shaders: blur: type: GAUSSIAN_BLUR intensity: 0.5 duration: -1 # -1은 무한 nightvision: type: COLOR_FILTER color: "#00FF00" brightness: 1.2 underwater: type: DISTORTION wave-speed: 0.05 wave-amplitude: 0.02 color-overlay: "#000080" resource-pack: enabled: true url: "https://example.com/shaders.zip" hash: "SHA-1 해시값" force: false
셰이더 종류
기본 셰이더
# 사용 가능한 기본 셰이더 - BLUR: 흐림 효과 - GRAYSCALE: 흑백 효과 - SEPIA: 세피아 톤 - NEGATIVE: 색상 반전 - RAINBOW: 무지개 효과 - GLITCH: 글리치 효과 - PIXELATE: 픽셀화 - VIGNETTE: 비네팅 효과
커스텀 셰이더 생성
# shaders/custom.yml custom_shader: name: "커스텀 효과" description: "특별한 시각 효과" layers: - type: COLOR_FILTER color: "#FF0000" opacity: 0.3 - type: DISTORTION strength: 0.1 - type: VIGNETTE intensity: 0.5 animation: enabled: true duration: 2000 # 밀리초 loop: true
이벤트 연동
자동 적용
# 특정 상황에서 자동으로 셰이더 적용 triggers: on-damage: shader: "damage_effect" duration: 500 on-potion-effect: CONFUSION: shader: "dizzy" BLINDNESS: shader: "darkness" in-biome: DESERT: shader: "heat_wave" SNOWY: shader: "frost"
API 사용법
// 플러그인에서 jshader API 사용 ShaderAPI api = jshader.getAPI(); // 셰이더 적용 api.applyShader(player, "blur", 5000); // 5초간 // 커스텀 셰이더 생성 Shader custom = api.createShader("custom") .addLayer(ShaderType.BLUR, 0.5f) .addLayer(ShaderType.COLOR_FILTER, Color.RED) .build(); api.applyShader(player, custom);
성능 최적화
performance: max-active-shaders: 50 # 동시 활성 셰이더 수 update-interval: 1 # 업데이트 주기 (틱) client-side-caching: true # 클라이언트 캐싱 quality-settings: low: skip-frames: 2 reduce-quality: true medium: skip-frames: 1 reduce-quality: false high: skip-frames: 0 reduce-quality: false
활용 예시
- 공포 맵: 어두운 화면 효과와 갑작스런 화면 왜곡
- 약물 효과: 포션 효과에 따른 시각적 변화
- 환경 연출: 지역별 특수 효과 (사막의 열기, 눈보라 등)
- 컷신: 영화적 효과를 위한 화면 전환
- 상태 이상: 피격, 중독, 질병 등의 시각화
호환성 및 제한사항
- 클라이언트가 OptiFine 또는 Iris Shaders를 사용 중일 경우 충돌 가능
- 일부 효과는 특정 그래픽 설정에서만 작동
- 리소스팩 필수 요구 효과가 있을 수 있음
문제 해결
- 셰이더가 적용되지 않음: 클라이언트 그래픽 설정 확인
- 성능 저하: 동시 활성 셰이더 수 제한
- 깜빡임 현상: 업데이트 주기 조정