Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 53 additions & 56 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,61 @@
# Durability HUD - Minecraft Forge 1.20.1 Modu
# Durability HUD - Minecraft Fabric 1.20.1 Modu

Bu mod, Minecraft 1.20.1 için hazırlanmış bir Forge modudur. Elinizde ve üzerinizde bulunan itemlerin dayanıklılığını (durability) HUD olarak gösterir.
Bu mod, Minecraft 1.20.1 için hazırlanmış bir Fabric modudur. Elinizde ve üzerinizde bulunan itemlerin dayanıklılığını (durability) HUD olarak gösterir.

## Özellikler

- ✅ **Item Icon ve Durability Gösterme**: Tüm dayanıklılığı olan itemlerin icon ve durability değerini gösterir
- ✅ **Özelleştirilebilir Konum**: HUD'ın X ve Y pozisyonunu ayarlayabilirsiniz
- ✅ **Boyut Ayarlama**: HUD boyutunu 0.1x ile 5.0x arasında ayarlayabilirsiniz
- ✅ **Item Bazlı Açma/Kapama**: Her item türünü (kılıç, kazma, zırh parçaları vb.) ayrı ayrı gösterebilir veya gizleyebilirsiniz
- ✅ **Y Tuşu ile Ayar Menüsü**: Oyun içinde Y tuşuna basarak ayarları değiştirebilirsiniz
- ✅ **Renk Kodlaması**: Durability değerine göre yeşil, sarı, kırmızı renk gösterir
- **Item Icon ve Durability Gösterme**: Tüm dayanıklılığı olan itemlerin icon ve durability değerini gösterir
- **Özelleştirilebilir Konum**: HUD'ın X ve Y pozisyonunu ayarlayabilirsiniz
- **Boyut Ayarlama**: HUD boyutunu 0.1x ile 5.0x arasında ayarlayabilirsiniz
- **Item Bazlı Açma/Kapama**: Her item türünü (kılıç, kazma, zırh parçaları vb.) ayrı ayrı gösterebilir veya gizleyebilirsiniz
- **Y Tuşu ile Ayar Menüsü**: Oyun içinde Y tuşuna basarak ayarları değiştirebilirsiniz
- **Renk Kodlaması**: Durability değerine göre yeşil, sarı, kırmızı renk gösterir
- **Sabitlenmiş Bloklar**: Belirli blokların envanterinizdeki sayısını takip edin

## Desteklenen İtemler
## Desteklenen Itemler

- Kılıç, Kazma, Balta, Kürek, Çapa
- Miğfer, Göğüslük, Pantolon, Çizme
- Kalkan, Elytra
- Yay, Tatar Yayı, Üç Dişli Mızrak
- Olta, Makas

- Elde Tutulan büttün itemler.
-
## Kurulum (Minecraft İçin)

### Gereksinimler
- Minecraft Java Edition 1.20.1
- Minecraft Forge 47.3.0 veya daha yenisi
- Fabric Loader 0.15.3 veya daha yenisi
- Fabric API 0.91.0+
- Java 17 veya üzeri

### Adımlar

1. **Forge Kurulumu**:
- [Forge İndirme Sayfası](https://files.minecraftforge.net/net/minecraftforge/forge/index_1.20.1.html) adresinden Forge 1.20.1'i indirin
- Installer'ı çalıştırın ve "Install client" seçeneğini seçin
1. **Fabric Kurulumu**:
- [Fabric İndirme Sayfası](https://fabricmc.net/use/installer/) adresinden Fabric Installer'ı indirin
- Installer'ı çalıştırın ve Minecraft 1.20.1'i seçin

2. **Fabric API'yi İndirin**:
- [Fabric API](https://modrinth.com/mod/fabric-api) sayfasından 1.20.1 versiyonunu indirin
- JAR dosyasını `.minecraft/mods/` klasörüne kopyalayın

2. **Modu Derleyin**:
3. **Modu Derleyin**:
```bash
./gradlew build
```

3. **JAR Dosyasını Alın**:
- Build işlemi tamamlandığında `build/libs/` klasöründe `DurabilityHud-1.0.0.jar` dosyasını bulacaksınız
4. **JAR Dosyasını Alın**:
- Build işlemi tamamlandığında `build/libs/` klasöründe `durabilityhud-1.0.0.jar` dosyasını bulacaksınız

4. **Modu Yükleyin**:
5. **Modu Yükleyin**:
- JAR dosyasını `.minecraft/mods/` klasörüne kopyalayın
- Windows: `%APPDATA%\.minecraft\mods\`
- macOS: `~/Library/Application Support/minecraft/mods/`
- Linux: `~/.minecraft/mods/`

5. **Minecraft'ı Başlatın**:
6. **Minecraft'ı Başlatın**:
- Minecraft Launcher'ı açın
- Forge 1.20.1 profilini seçin
- Fabric 1.20.1 profilini seçin
- Oyunu başlatın

## Kullanım
Expand All @@ -64,55 +71,44 @@ Oyun içindeyken **Y** tuşuna basın.
- **Y Pozisyon**: HUD'ın ekranın üstünden uzaklığı (piksel)
- **Boyut**: HUD'ın ölçeği (0.1 - 5.0)

**İtem Ayarları**:
**Sabit Bloklar**:
- Belirli blokları sabitleyerek envanterinizdeki sayılarını takip edin
- Elde tutulan bir bloğu sabitleyebilirsiniz

**Item Ayarları**:
Her item türü için ayrı ayrı göster/gizle seçeneği bulunur.

### Config Dosyası

Mod ayarları `config/durabilityhud-client.toml` dosyasında saklanır. Bu dosyayı manuel olarak da düzenleyebilirsiniz.
Mod ayarları `config/durabilityhud.json` dosyasında saklanır. Bu dosyayı manuel olarak da düzenleyebilirsiniz.

## Geliştirme

### Gereksinimler
- Java Development Kit (JDK) 17 veya üzeri
- IntelliJ IDEA (önerilen) veya Eclipse

### Projeyi Açma

1. **Gradle Build**:
```bash
./gradlew build
```

2. **IntelliJ IDEA için**:
```bash
./gradlew genIntellijRuns
```
Sonra IntelliJ IDEA'da "Open" ile projeyi açın.

3. **Eclipse için**:
```bash
./gradlew genEclipseRuns
```
Sonra Eclipse'de "Import Existing Gradle Project" yapın.
### Projeyi Derleme

### Oyunu Çalıştırma

IntelliJ IDEA veya Eclipse'de:
- **runClient**: Minecraft client'ı mod ile başlatır
- **runServer**: Minecraft server'ı mod ile başlatır
```bash
./gradlew build
```

### Proje Yapısı

```
src/main/java/com/durabilityhud/
├── DurabilityHudMod.java # Ana mod sınıfı
├── config/
│ └── ModConfig.java # Konfigürasyon yönetimi
└── client/
├── HudRenderer.java # HUD render mantığı
├── KeyBindings.java # Tuş tanımlamaları
└── ConfigScreen.java # Ayar ekranı GUI
src/
├── client/java/com/durabilityhud/
│ ├── client/
│ │ ├── DurabilityHudClient.java # Ana mod giriş noktası
│ │ ├── HudRenderer.java # HUD çizim işlemleri
│ │ ├── KeyBindings.java # Tuş atamaları
│ │ └── ConfigScreen.java # Ayar ekranı
│ └── config/
│ └── ModConfig.java # Yapılandırma sistemi
└── main/resources/
├── fabric.mod.json # Mod metadata
└── assets/durabilityhud/lang/ # Dil dosyaları
```

## Lisans
Expand All @@ -122,15 +118,16 @@ MIT License - Projeyi serbestçe kullanabilir, değiştirebilir ve dağıtabilir
## Destek

Herhangi bir sorun veya öneri için:
1. Önce `config/durabilityhud-client.toml` dosyasını kontrol edin
1. Önce `config/durabilityhud.json` dosyasını kontrol edin
2. Minecraft loglarını kontrol edin (`logs/latest.log`)
3. Forge versiyonunuzun 47.3.0 veya üzeri olduğundan emin olun
3. Fabric Loader ve Fabric API versiyonlarınızın güncel olduğundan emin olun

## Changelog

### v1.0.0
- İlk sürüm
- Fabric 1.20.1'e dönüştürüldü
- Item icon ve durability HUD
- Özelleştirilebilir konum ve boyut
- Item bazlı göster/gizle
- Sabitlenmiş blok takibi
- Y tuşu ile ayar menüsü
156 changes: 46 additions & 110 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,143 +1,79 @@
plugins {
id 'eclipse'
id 'idea'
id 'fabric-loom' version '1.6-SNAPSHOT'
id 'maven-publish'
id 'net.minecraftforge.gradle' version '[6.0,6.2)'
}

version = mod_version
group = mod_group_id
version = project.mod_version
group = project.maven_group

base {
archivesName = mod_id
archivesName = project.archives_base_name
}

java.toolchain.languageVersion = JavaLanguageVersion.of(17)

println "Java: ${System.getProperty('java.version')}, JVM: ${System.getProperty('java.vm.version')} (${System.getProperty('java.vendor')}), Arch: ${System.getProperty('os.arch')}"

minecraft {
mappings channel: 'official', version: minecraft_version

runs {
client {
workingDirectory project.file('run')

property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'info'

property 'forge.enabledGameTestNamespaces', mod_id

mods {
"${mod_id}" {
source sourceSets.main
}
}
}

server {
workingDirectory project.file('run')

property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'info'

property 'forge.enabledGameTestNamespaces', mod_id

mods {
"${mod_id}" {
source sourceSets.main
}
}
}
repositories {
mavenCentral()
}

data {
workingDirectory project.file('run')

property 'forge.logging.markers', 'REGISTRIES'
property 'forge.logging.console.level', 'info'

args '--mod', mod_id, '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
loom {
splitEnvironmentSourceSets()

mods {
"${mod_id}" {
source sourceSets.main
}
}
mods {
"durabilityhud" {
sourceSet sourceSets.main
sourceSet sourceSets.client
}
}
}

sourceSets.main.resources { srcDir 'src/generated/resources' }

repositories {
mavenCentral()
maven {
name = 'Forge'
url = 'https://maven.minecraftforge.net/'
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
}

dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"
processResources {
inputs.property "version", project.version
inputs.property "minecraft_version", project.minecraft_version
inputs.property "loader_version", project.loader_version
filteringCharset "UTF-8"

filesMatching("fabric.mod.json") {
expand "version": project.version,
"minecraft_version": project.minecraft_version,
"loader_version": project.loader_version
}
}

def targetJavaVersion = 17
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
it.options.encoding = "UTF-8"
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
it.options.release.set(targetJavaVersion)
}
}

def resourceTargets = ['META-INF/mods.toml', 'pack.mcmeta']
def replaceProperties = [
minecraft_version: minecraft_version,
minecraft_version_range: minecraft_version_range,
forge_version: forge_version,
forge_version_range: forge_version_range,
loader_version_range: loader_version_range,
mod_id: mod_id,
mod_name: mod_name,
mod_license: mod_license,
mod_version: mod_version,
mod_authors: mod_authors,
mod_description: mod_description
]

processResources {
inputs.properties replaceProperties
replaceProperties.put 'project', project

filesMatching(resourceTargets) {
expand replaceProperties
java {
def javaVersion = JavaVersion.toVersion(targetJavaVersion)
if (JavaVersion.current() < javaVersion) {
toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
}
withSourcesJar()
}

tasks.named('jar', Jar).configure {
manifest {
attributes([
'Specification-Title': mod_id,
'Specification-Vendor': mod_authors,
'Specification-Version': '1',
'Implementation-Title': project.name,
'Implementation-Version': mod_version,
'Implementation-Vendor': mod_authors,
'Implementation-Timestamp': new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
jar {
from("LICENSE") {
rename { "${it}_${project.archivesBaseName}" }
}

finalizedBy 'reobfJar'
}

publishing {
publications {
register('mavenJava', MavenPublication) {
artifact jar
mavenJava(MavenPublication) {
from components.java
}
}

repositories {
maven {
url "file://${project.projectDir}/mcmodsrepo"
}
}
}

tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}
}
Loading