Skip to content

Commit b1682ce

Browse files
committed
add thruster boots item and make it configurable
1 parent 3f30e16 commit b1682ce

File tree

9 files changed

+90
-19
lines changed

9 files changed

+90
-19
lines changed

build.gradle

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ version = project.mod_version
77
group = project.maven_group
88

99
repositories {
10+
mavenCentral()
1011
maven {
1112
url "https://cursemaven.com"
1213
content {
@@ -41,12 +42,16 @@ dependencies {
4142

4243
modImplementation('teamreborn:energy:2.3.0')
4344

44-
modImplementation(include("io.github.fabricators_of_create:Porting-Lib:1.2.783-beta+1.18.2"))
45+
//modImplementation(include("io.github.fabricators_of_create:Porting-Lib:1.2.783-beta+1.18.2"))
4546

4647
// Development QOL
4748
modLocalRuntime("com.terraformersmc:modmenu:${modmenu_version}")
4849
modLocalRuntime("me.shedaniel:RoughlyEnoughItems-fabric:${rei_version}")
4950

51+
implementation 'com.electronwill.night-config:core:3.6.5'
52+
implementation 'com.electronwill.night-config:toml:3.6.5'
53+
modImplementation "curse.maven:forge_config_api-547434:3943250"
54+
5055
}
5156

5257
processResources {

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ rei_version=8.3.588
2222
techreborn_energy_version=2.2.0
2323
patchouli_version=1.18.2-71.1-FABRIC
2424
port_lib_version = 1.2.783-beta
25+
forge_config_api_version=3.2.4
2526

2627
# Mappings
2728
# https://lambdaurora.dev/tools/import_quilt.html
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"version": 1,
3+
"overrides": {
4+
"forgeconfigapiport": {
5+
"-depends": {
6+
"com_electronwill_night-config_core": "",
7+
"com_electronwill_night-config_toml": ""
8+
}
9+
}
10+
}
11+
}

src/main/java/com/github/erdragh/per_aspera/PerAspera.java

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,54 @@
11
package com.github.erdragh.per_aspera;
22

3+
import com.github.erdragh.per_aspera.config.PerAsperaConfig;
34
import com.github.erdragh.per_aspera.items.JetSuitFlashCard;
5+
import com.github.erdragh.per_aspera.items.armour.ThrusterBoots;
6+
import com.github.erdragh.per_aspera.items.armour.ThrusterBootsMaterial;
47
import com.github.erdragh.per_aspera.networking.C2SPackets;
5-
import com.mojang.logging.LogUtils;
68
import net.fabricmc.api.ModInitializer;
79
import net.fabricmc.fabric.api.particle.v1.FabricParticleTypes;
810
import net.minecraft.core.Registry;
911
import net.minecraft.core.particles.SimpleParticleType;
1012
import net.minecraft.resources.ResourceLocation;
13+
import net.minecraft.world.item.ArmorItem;
14+
import net.minecraft.world.item.ArmorMaterial;
1115
import net.minecraft.world.item.Item;
16+
import net.minecraftforge.api.ModLoadingContext;
17+
import net.minecraftforge.api.fml.event.config.ModConfigEvent;
18+
import net.minecraftforge.fml.config.ModConfig;
1219
import org.slf4j.Logger;
20+
import org.slf4j.LoggerFactory;
1321

1422
public class PerAspera implements ModInitializer {
1523

1624
public static final String MODID = "per_aspera";
1725

18-
public static final Logger LOGGER = LogUtils.getLogger();
26+
public static final Logger LOGGER = LoggerFactory.getLogger(MODID);
1927

2028
public static final SimpleParticleType COLORED_JET_EXHAUST = FabricParticleTypes.simple();
2129
public static final SimpleParticleType END_ROD_JET_EXHAUST = FabricParticleTypes.simple();
2230
public static final SimpleParticleType BUBBLES_JET_EXHAUST = FabricParticleTypes.simple();
2331

2432
public static final Item JET_SUIT_FLASH_CARD = new JetSuitFlashCard();
2533

34+
public static final ArmorMaterial THRUSTER_BOOTS_MATERIAL = new ThrusterBootsMaterial();
35+
public static final ArmorItem THRUSTER_BOOTS = new ThrusterBoots();
36+
2637

2738
@Override
2839
public void onInitialize() {
40+
ModLoadingContext.registerConfig(MODID, ModConfig.Type.COMMON, PerAsperaConfig.SPEC);
41+
2942
C2SPackets.register();
3043
Registry.register(Registry.PARTICLE_TYPE, new ResourceLocation(MODID, "colored_jet_exhaust"), COLORED_JET_EXHAUST);
3144
Registry.register(Registry.PARTICLE_TYPE, new ResourceLocation(MODID, "end_rod_jet_exhaust"), END_ROD_JET_EXHAUST);
3245
Registry.register(Registry.PARTICLE_TYPE, new ResourceLocation(MODID, "bubbles_jet_exhaust"), BUBBLES_JET_EXHAUST);
3346

3447
Registry.register(Registry.ITEM, new ResourceLocation(MODID, "jet_suit_flash_card"), JET_SUIT_FLASH_CARD);
48+
// only load thruster boots if they're enabled
49+
if (PerAsperaConfig.THRUSTER_BOOTS_ENABLED.get()) {
50+
Registry.register(Registry.ITEM, new ResourceLocation(MODID, "thruster_boots"), THRUSTER_BOOTS);
51+
}
3552
LOGGER.info("Per Aspera initialized.");
3653
}
3754

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package com.github.erdragh.per_aspera.config;
2+
3+
import net.minecraftforge.common.ForgeConfigSpec;
4+
5+
public class PerAsperaConfig {
6+
public static final ForgeConfigSpec SPEC;
7+
8+
static {
9+
ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder();
10+
11+
builder.comment("Config of Per Aspera");
12+
13+
THRUSTER_BOOTS_ENABLED = builder.comment("Whether the thruster boots should be enabled")
14+
.define("thrusterBootsEnabled", true);
15+
16+
THRUSTER_BOOTS_JUMP_HEIGHT = builder.comment("How high thruster boots can boost you")
17+
.defineInRange("thrusterBootsJumpHeight", 3, 2, 10);
18+
19+
SPEC = builder.build();
20+
}
21+
22+
public static final ForgeConfigSpec.BooleanValue THRUSTER_BOOTS_ENABLED;
23+
public static final ForgeConfigSpec.IntValue THRUSTER_BOOTS_JUMP_HEIGHT;
24+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.github.erdragh.per_aspera.items.armour;
2+
3+
import com.github.erdragh.per_aspera.PerAspera;
4+
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
5+
import net.minecraft.world.entity.EquipmentSlot;
6+
import net.minecraft.world.item.ArmorItem;
7+
import net.minecraft.world.item.CreativeModeTab;
8+
9+
public class ThrusterBoots extends ArmorItem {
10+
public ThrusterBoots() {
11+
super(PerAspera.THRUSTER_BOOTS_MATERIAL, EquipmentSlot.FEET, new FabricItemSettings().group(CreativeModeTab.TAB_TRANSPORTATION));
12+
}
13+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.github.erdragh.per_aspera.items.armour;
2+
3+
import com.github.alexnijjar.ad_astra.items.armour.SpaceSuitMaterial;
4+
5+
public class ThrusterBootsMaterial extends SpaceSuitMaterial {
6+
@Override
7+
public String getName() {
8+
return "thruster_boots";
9+
}
10+
}

src/main/resources/assets/ad_astra/blockstates/blue_iron_pillar.json

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"parent": "item/generated",
3+
"textures": {
4+
"layer0": "per_aspera:item/thruster_boots"
5+
}
6+
}

0 commit comments

Comments
 (0)