Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Minecraft JavaのMODをSwiftで作る
Search
1mash0
September 13, 2026
Technology
21
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Minecraft JavaのMODをSwiftで作る
iOSDC Japan 2026
1mash0
September 13, 2026
More Decks by 1mash0
See All by 1mash0
What's new in SwiftData + SwiftData Group Lab Recap
1mash0
0
46
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
280
SwiftData: Dive into inheritance and schema migration - Swift愛好会スピンオフ WWDC25セッション要約会
1mash0
0
490
SwiftDataのカスタムデータストアを試してみた
1mash0
0
360
Other Decks in Technology
See All in Technology
2026-09-10 【Snowflake World Tour Tokyo 2026】dbt Core と Snowflake で実現する多層的なデータガバナンス / Multi-Layered Data Governance Powered by dbt Core and Snowflake
civitaspo
0
280
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
140
『止めない』を設計する — 制約の中で、事業の根幹を支える判断
hiroyaterui
0
240
2026/09/10 Spring_Bootから_Jakarta_EE_MicroProfileへの移行
megascus
0
280
振り返りこそエンジニアの本領
negima
0
350
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
3
720
20260912_スクフェス三河
kgnkhkr
0
170
Screen Lens - 今見てる画面を翻訳する
komagata
0
200
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
470
KPIだけでは評価できないプロダクトが考えるべき Evalsという第二の評価系 / Beyond KPIs: Evals as a Second Evaluation Framework for Products #PdEConf
aki_iinuma
4
3.8k
Deploying a Full-Stack Bun-Native Framework on Cloudflare Workers
7nohe
0
120
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
3
300
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
380
Code Review Best Practice
trishagee
74
20k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
440
Utilizing Notion as your number one productivity tool
mfonobong
4
580
Crafting Experiences
bethany
1
310
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Rails Girls Zürich Keynote
gr2m
96
14k
My Coaching Mixtape
mlcsv
0
310
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.9k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
930
Transcript
Minecraft JavaのMODを Swiftで作る @1mash0̲ iOSDC Japan 2026 1
自己紹介 いますえ / 今末翔太 @1mash0̲ • 某SES企業所属 • iOS /
Flutterエンジニア • Minecraftを一番遊んでたのは Beta 1.8〜正式版1.8 2
宣伝 3
Saitama.swift #1 やります! • Saitama.swiftのcompass • 日時 • 場所 •
池袋、新宿などから何分とかの説明 4
本編 5
注意点 • 本発表および紹介するMODは、Minecraftの公式コンテンツではありませ ん。 Mojang および Microsoft から承認を受けておらず、関連性もありません。 https://www.minecraft.net/ja-jp/usage-guidelines https://www.minecraft.net/ja-jp/eula
• 今回作成したMODは、配布を目的としていません。 • 本発表で紹介する実装方法は、標準的なMOD開発方法ではありません。 6
きっかけ 7
WWDC25: Explore Swift and Java interoperability WWDC26: What's new in
Swift 8
swift-javaを使えばSwiftで MinecraftのMOD(の大部分)を作れるのでは WWDC25: Explore Swift and Java interoperability WWDC26: What's
new in Swift 9
本題 10
実際に作ってみた 環境 • Swift 6.3 • JDK 25 • Minecraft
Java Edition 26.1.2 • Fabric Loader 0.19.3 / Fabric API 0.155.2 • swift-java • Java → Swift:jextract • Swift → Java:wrap-java/SwiftJavaマクロ 11
実際に作ってみた 実装の構成 JavaからSwift SwiftからJava fabric.mod.json FabricHudWrappers.swift “entrypoints”: { “main”: [
"com.example.swift. SwiftJavaModFabric::initializeMod” ], … } @JavaInterface(“net.fabricmc.fabric.api.client.rendering.v1.hu d.HudElementRegistry”) struct FabricHudElementRegistry {} ↓ jextract生成コードを経由 extension JavaClass<FabricHudElementRegistry> { @JavaStaticMethod func addLast( _ id: Identifier?, _ element: FabricHudElement? ) } ↓ SwiftJavaModFabric.swift public func initializeMod() { ModItem.initialize() registerItemUseCallback() registerCreativeTabCallback() } SwiftJavaマクロでJava APIを宣言 SwiftJavaModFabric.swift let registryClass = try! JavaClass<FabricHudElementRegistry>() registryClass.addLast(hudId, element) 12
実際に作ってみた 13
実際に作ってみた ClockHud.swift import Foundation let time = Date.now.formatted( Date.FormatStyle() .hour(.defaultDigits(amPM:
.omitted)) .minute(.twoDigits) .second(.twoDigits) ) let padding: Int32 = 8 let x = graphics.guiWidth() - font.width(time) padding let y: Int32 = 8 graphics.text( font, time, x, y, -1, true ) 14
まとめ • MODの初期化、アイテム、HUDをSwiftで実装 • MOD固有の手書きJavaコードはゼロ • ほぼ全編でAIに相談(チャッピーいつもありがとう) 15
参考資料 • https://github.com/swiftlang/swift-java • https://developer.apple.com/videos/play/wwdc2025/307/ • https://developer.apple.com/videos/play/wwdc2026/262/ • https://docs.fabricmc.net/ •
https://github.com/FabricMC/fabric-loader/blob/0.19.3/src/main/java/net/fabricmc/loader/ impl/util/DefaultLanguageAdapter.java • https://github.com/FabricMC/fabric-example-mod • https://www.minecraft.net/ja-jp/usage-guidelines • https://www.minecraft.net/ja-jp/eula 16
進捗達成の動画 17