Skip to content

Commit 3d56d25

Browse files
authored
Merge pull request #15 from 1whohears/1.19-dev
1.19 back port
2 parents acca8fc + b3a13fa commit 3d56d25

File tree

188 files changed

+6028
-2353
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+6028
-2353
lines changed

.gitattributes

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,8 @@
33
# are changed when only line endings change.
44
src/generated/**/.cache/cache text eol=lf
55
src/generated/**/*.json text eol=lf
6+
7+
# ignore these files in merges
8+
build.gradle merge=ours
9+
src/main/resources/META-INF/mods.toml merge=ours
10+
$ git config --global merge.ours.driver true

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ build
2525
*.bak
2626
*.launch
2727
**/run/
28+
aoa_graphs/~$aoa_graphs.xlsx

README.md

Lines changed: 8 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,16 @@
1+
![2022-12-17_02 14 55](https://user-images.githubusercontent.com/79810154/208233270-e5a64a83-4427-475c-98bf-ee6c61a3649d.png)
2+
13
# Diamond Star Combat
24

3-
A Minecraft Aircraft Combat mod inspired by Mcheli. Planes, Radars, Missiles, Explosions! Customize your vehicle's weapon loadout. You can use a radar to shoot a missile at a target beyond your render distance. Shoot heat seeking missiles at nearby planes and use flares to defend yourself in dynamic dog fights. Use uhh...real life inspired flight physics to pull of baller maneuvers. Or shoot laser guided bombs at enemies on the ground.
5+
A Minecraft Aircraft Combat mod inspired by Mcheli. Planes, Radars, Missiles, Explosions! Customize your vehicle's weapon loadout. You can use a radar to shoot a missile at a target beyond your render distance.
6+
Shoot heat seeking missiles at nearby planes and use flares to defend yourself in dynamic dog fights. Use semi-realistic flight physics to perform epic maneuvers, or shoot laser guided bombs at enemies on the ground.
7+
8+
Please go to the __**[WIKI](https://github.com/1whohears/DiamondStarCombat/wiki)**__ for ***Controls*** and other information!
49

5-
Join the discord for development updates and let me know if you want to contribute to the project. Scroll down for a few words I have on contributing.
10+
Join the discord for development updates. Additionally, I appreciate any and all feedback and discord is the best way to send me some! Also definetly join if you'd like to contribute to the mod!
611

712
https://discord.gg/dWgQTRxCJm
813

9-
Check out my channel where I'll post guides and other videos showing of the mod!
14+
Check out my youtube where I'll post guides and other videos showing the mod!
1015

1116
https://youtu.be/P4Flz0XOtTk
12-
13-
![2022-12-17_02 14 55](https://user-images.githubusercontent.com/79810154/208233270-e5a64a83-4427-475c-98bf-ee6c61a3649d.png)
14-
15-
## Controls
16-
17-
Here are the flight control keys by default.
18-
19-
- Yaw Left/Right = A/D
20-
- Pitch Up/Down = W/S
21-
- Roll Left/Right = Left/Right Arrow Keys
22-
- Throttle Up/Down = Up/Down Arrow Keys
23-
24-
When you first get in a plane you are in free look mode. Which means when you move the mouse, the camera changes direction. You may notice that it's annoying to switch hands between the mouse and the arrow keys. That is why I added this next key.
25-
26-
- Flip Controls = Left Alt
27-
28-
If the controls are kept at default then pressing Left Alt swaps WASD with the arrow keys. So while holding Left Alt, W is Throttle Up, A is Roll left, and the Down Arrow is Pitch Down for example. This allows the pilot to quickly roll or change throttle without moving your hands.
29-
30-
There is one more condition where controls gets swapped and that is switching to mouse mode.
31-
32-
- Mouse Mode = Left Control
33-
34-
Now the movements of your mouse are mapped to Pitch and Yaw and WASD control Throttle and Roll.
35-
36-
Other Controls
37-
38-
- Switch Seat = ;
39-
- Switch Weapon = G
40-
- Flare = V
41-
- Landing Gear = L
42-
- Open Plane Inventory = U
43-
- Center Mouse = Right Alt
44-
- Special (Breaks/Hover) = Space
45-
46-
## Parts System
47-
48-
If the aircraft is on the ground you can press the Plane Menu Button which is U by default. This allows you to add/remove/customize the plane's internal parts. You theoretically give any aircraft any weapon load out. You can also customize the radars, fuel tanks, and engines. However every part has weight and if you make your aircraft too heavy it may not get of the ground or be prone to drop out of the sky during turns.
49-
50-
## Still Beta Contribute Please
51-
52-
This mod is far from finished. Most of the core for the mod is complete. However, there is still a lot of work to do, and I can't do everything. I believe this project could be so much more if others help develope it. So here is an incomplete list of stuff I want to add and would appreciate assistance. Please let me know in the discord server if you plan on contributing. I or someone else may already be working on your idea and we'd be happy to have an extra keyboard! Also note this list is not static or final, and if you think of something that's not here let me know!
53-
54-
- I will be adding comments around the mod in an attempt to explain how it works.
55-
- I want to add more planes, helicopters, cars, tanks, boats, anti air defenses and any other vehicle type you think would be cool. Someone better at modeling than me could make an f22, mig 29, the Ornithopter from Dune, or an X-Wing from Star Wars for example. Make what you think would be cool!
56-
- My item textures sorta suck. So similar to the previous point, if someone better than me at making textures wants to redo some of them please.
57-
- I want to add models for weapons that hang on aircraft wings, so there is another visual component for weapons.
58-
- I want to add turret seats so passengers can shoot.
59-
- The plane physics are definitely not final. Open to feedback.
60-
- Open to feedback on anything actually. Did you find a bug. Could certain functions be more efficient? Is my code bad?
61-
- Pvp balance is something I really want to get right. Let me know if something should be nerfed or buffed.
62-
- If you don't want to add your content to the base mod I want it to be easy for developers to make addons for this mod. But I haven't put much thought into it yet because I'm trying to build up the base content for this mod. Let me know if something is making addon development difficult.

aoa_graphs/aoa_graphs.xlsx

14.2 KB
Binary file not shown.

build.gradle

Lines changed: 19 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
buildscript {
22
repositories {
3-
// These repositories are only for Gradle plugins, put any other repositories in the repository block further below
43
maven { url = 'https://maven.minecraftforge.net' }
54
maven { url = 'https://maven.parchmentmc.org' }
65
mavenCentral()
@@ -13,58 +12,27 @@ buildscript {
1312

1413
apply plugin: 'net.minecraftforge.gradle'
1514
apply plugin: 'org.parchmentmc.librarian.forgegradle'
16-
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
15+
// DO NOT CHANGE ABOVE
1716
apply plugin: 'eclipse'
1817
apply plugin: 'maven-publish'
1918

20-
version = '0.3.0-1.19'
21-
group = 'com.onewhohears.dscombat' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
22-
archivesBaseName = 'dscombat'
19+
group = 'com.onewhohears.dscombat'
20+
archivesBaseName = 'dscombat-1.19'
21+
version = '0.5.6'
2322

24-
// Mojang ships Java 17 to end users in 1.18+, so your mod should target Java 17.
2523
java.toolchain.languageVersion = JavaLanguageVersion.of(17)
2624

2725
println "Java: ${System.getProperty 'java.version'}, JVM: ${System.getProperty 'java.vm.version'} (${System.getProperty 'java.vendor'}), Arch: ${System.getProperty 'os.arch'}"
2826
minecraft {
29-
// The mappings can be changed at any time and must be in the following format.
30-
// Channel: Version:
31-
// official MCVersion Official field/method names from Mojang mapping files
32-
// parchment YYYY.MM.DD-MCVersion Open community-sourced parameter names and javadocs layered on top of official
33-
//
34-
// You must be aware of the Mojang license when using the 'official' or 'parchment' mappings.
35-
// See more information here: https://github.com/MinecraftForge/MCPConfig/blob/master/Mojang.md
36-
//
37-
// Parchment is an unofficial project maintained by ParchmentMC, separate from MinecraftForge
38-
// Additional setup is needed to use their mappings: https://github.com/ParchmentMC/Parchment/wiki/Getting-Started
39-
//
40-
// Use non-default mappings at your own risk. They may not always work.
41-
// Simply re-run your setup task after changing the mappings to update your workspace.
42-
//mappings channel: 'official', version: '1.18.2'
43-
mappings channel: 'parchment', version: '1.18.2-2022.08.07-1.19'
44-
45-
// accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg') // Currently, this location cannot be changed from the default.
46-
47-
// Default run configurations.
48-
// These can be tweaked, removed, or duplicated as needed.
27+
//mappings channel: 'parchment', version: '2022.11.27-1.19.2'
28+
mappings channel: 'official', version: '1.19'
29+
4930
runs {
5031
client {
5132
workingDirectory project.file('run')
52-
53-
// Recommended logging data for a userdev environment
54-
// The markers can be added/remove as needed separated by commas.
55-
// "SCAN": For mods scan.
56-
// "REGISTRIES": For firing of registry events.
57-
// "REGISTRYDUMP": For getting the contents of all registries.
5833
property 'forge.logging.markers', 'REGISTRIES'
59-
60-
// Recommended logging level for the console
61-
// You can set various levels here.
62-
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
6334
property 'forge.logging.console.level', 'debug'
64-
65-
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
6635
property 'forge.enabledGameTestNamespaces', 'dscombat'
67-
6836
mods {
6937
dscombat {
7038
source sourceSets.main
@@ -74,42 +42,21 @@ minecraft {
7442

7543
server {
7644
workingDirectory project.file('run')
77-
7845
property 'forge.logging.markers', 'REGISTRIES'
79-
8046
property 'forge.logging.console.level', 'debug'
81-
82-
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
8347
property 'forge.enabledGameTestNamespaces', 'dscombat'
84-
8548
mods {
8649
dscombat {
8750
source sourceSets.main
8851
}
8952
}
9053
}
9154

92-
// This run config launches GameTestServer and runs all registered gametests, then exits.
93-
// By default, the server will crash when no gametests are provided.
94-
// The gametest system is also enabled by default for other run configs under the /test command.
9555
gameTestServer {
9656
workingDirectory project.file('run')
97-
98-
// Recommended logging data for a userdev environment
99-
// The markers can be added/remove as needed separated by commas.
100-
// "SCAN": For mods scan.
101-
// "REGISTRIES": For firing of registry events.
102-
// "REGISTRYDUMP": For getting the contents of all registries.
10357
property 'forge.logging.markers', 'REGISTRIES'
104-
105-
// Recommended logging level for the console
106-
// You can set various levels here.
107-
// Please read: https://stackoverflow.com/questions/2031163/when-to-use-the-different-log-levels
10858
property 'forge.logging.console.level', 'debug'
109-
110-
// Comma-separated list of namespaces to load gametests from. Empty = all namespaces.
11159
property 'forge.enabledGameTestNamespaces', 'dscombat'
112-
11360
mods {
11461
dscombat {
11562
source sourceSets.main
@@ -119,14 +66,9 @@ minecraft {
11966

12067
data {
12168
workingDirectory project.file('run')
122-
12369
property 'forge.logging.markers', 'REGISTRIES'
124-
12570
property 'forge.logging.console.level', 'debug'
126-
127-
// Specify the modid for data generation, where to output the resulting resource, and where to look for existing resources.
12871
args '--mod', 'dscombat', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/')
129-
13072
mods {
13173
dscombat {
13274
source sourceSets.main
@@ -136,58 +78,30 @@ minecraft {
13678
}
13779
}
13880

139-
// Include resources generated by data generators.
14081
sourceSets.main.resources { srcDir 'src/generated/resources' }
14182

14283
repositories {
143-
// Put repositories for dependencies here
144-
// ForgeGradle automatically adds the Forge maven and Maven Central for you
145-
146-
// If you have mod jar dependencies in ./libs, you can declare them as a repository like so:
147-
// flatDir {
148-
// dir 'libs'
149-
// }
15084
}
15185

15286
dependencies {
153-
// Specify the version of Minecraft to use. If this is any group other than 'net.minecraft', it is assumed
154-
// that the dep is a ForgeGradle 'patcher' dependency, and its patches will be applied.
155-
// The userdev artifact is a special name and will get all sorts of transformations applied to it.
15687
minecraft 'net.minecraftforge:forge:1.19-41.1.0'
157-
158-
// Real mod deobf dependency examples - these get remapped to your current mappings
159-
// compileOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}:api") // Adds JEI API as a compile dependency
160-
// runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}") // Adds the full JEI mod as a runtime dependency
161-
// implementation fg.deobf("com.tterrag.registrate:Registrate:MC${mc_version}-${registrate_version}") // Adds registrate as a dependency
162-
163-
// Examples using mod jars from ./libs
164-
// implementation fg.deobf("blank:coolmod-${mc_version}:${coolmod_version}")
165-
166-
// For more info...
167-
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
168-
// http://www.gradle.org/docs/current/userguide/dependency_management.html
16988
}
17089

171-
// Example for how to get properties into the manifest for reading at runtime.
17290
jar {
173-
manifest {
174-
attributes([
175-
"Specification-Title" : "dscombat",
176-
"Specification-Vendor" : "dscombatsareus",
177-
"Specification-Version" : "1", // We are version 1 of ourselves
178-
"Implementation-Title" : project.name,
179-
"Implementation-Version" : project.jar.archiveVersion,
180-
"Implementation-Vendor" : "dscombatsareus",
181-
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
182-
])
183-
}
91+
manifest {
92+
attributes([
93+
"Specification-Title" : "Diamond Star Combat",
94+
"Specification-Vendor" : "1whohears",
95+
"Specification-Version" : version,
96+
"Implementation-Title" : "Diamond Star Combat",
97+
"Implementation-Version" : version,
98+
"Implementation-Vendor" : "1whohears",
99+
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
100+
])
101+
}
184102
}
185103

186-
// Example configuration to allow publishing using the maven-publish plugin
187-
// This is the preferred method to reobfuscate your jar file
188104
jar.finalizedBy('reobfJar')
189-
// However if you are in a multi-project build, dev time needs unobfed jar files, so you can delay the obfuscation until publishing by doing
190-
// publish.dependsOn('reobfJar')
191105

192106
publishing {
193107
publications {
@@ -203,5 +117,5 @@ publishing {
203117
}
204118

205119
tasks.withType(JavaCompile).configureEach {
206-
options.encoding = 'UTF-8' // Use the UTF-8 charset for Java compilation
120+
options.encoding = 'UTF-8'
207121
}

models/alexis_plane/alexis_plane.bbmodel

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

models/andolf_sub/andolf_sub.bbmodel

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)