Skip to content

Commit c5f9857

Browse files
authored
Merge pull request #11 from GTModpackTeam/add-Biomes-O-Plenty
Add Biomes O' Plenty Integration
2 parents a3bbaf3 + 51d53d8 commit c5f9857

10 files changed

Lines changed: 244 additions & 1 deletion

File tree

.github/workflows/publish.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ jobs:
100100
rustic(recommended)
101101
mystical-world(recommended)
102102
roots(recommended)
103+
biomes-o-plenty(recommended)
103104
files: |
104105
build/libs/!(*-@(dev|sources|javadoc)).jar
105106
build/libs/*-@(sources).jar

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
- Rustic
77
- Mystical World
88
- Roots
9+
- Biomes O' Plenty
910

1011
* * *
1112

dependencies.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,4 +120,8 @@ dependencies {
120120
runtimeOnlyNonPublishable rfg.deobf("curse.maven:roots-246183:5193525") // Roots 3.1.9.2
121121
}
122122
}
123+
124+
if (project.debug_bop.toBoolean() || project.debug_all.toBoolean()) {
125+
runtimeOnlyNonPublishable rfg.deobf("curse.maven:biomes-o-plenty-220318:2842510") // Biomes O' Plenty 1.12.2-7.0.1.2444
126+
}
123127
}

gradle.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ debug_rthings = false
3535
debug_rustic = false
3636
debug_mworld = false
3737
debug_roots = false
38+
debug_bop = false
3839

3940
# Select a username for testing your mod with breakpoints. You may leave this empty for a random username each time you
4041
# restart Minecraft in development. Choose this dependent on your mod:

src/main/java/com/github/gtexpert/gtwp/GTWPMod.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@
3838
"after:" + Mods.Names.PROJECT_VIBRANT_JOURNEYS + ";" + "after:" + Mods.Names.PLANTS + ";" +
3939
"after:" + Mods.Names.EXTRA_UTILITIES + ";" + "after:" + Mods.Names.INTERGRATED_DYNAMICS + ";" +
4040
"after:" + Mods.Names.RANDOM_THINGS + ";" + "after:" + Mods.Names.RUSTIC + ";" +
41-
"after:" + Mods.Names.MYSTICAL_WORLD + ";" + "after:" + Mods.Names.ROOTS)
41+
"after:" + Mods.Names.MYSTICAL_WORLD + ";" + "after:" + Mods.Names.ROOTS + ";" +
42+
"after:" + Mods.Names.BIOMES_O_PLENTY)
4243
@Mod.EventBusSubscriber(modid = ModValues.MODID)
4344
public class GTWPMod {
4445

src/main/java/com/github/gtexpert/gtwp/api/util/Mods.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ public enum Mods {
3030
Avaritia(Names.AVARITIA),
3131
Avaritiaaddons(Names.AVARITIAADDONS),
3232
Baubles(Names.BAUBLES),
33+
BoP(Names.BIOMES_O_PLENTY),
3334
Botany(Names.BOTANY),
3435
Chisel(Names.CHISEL),
3536
CTM(Names.CONNECTED_TEXTURES_MOD),
@@ -135,6 +136,7 @@ public static class Names {
135136
public static final String AVARITIA = "avaritia";
136137
public static final String AVARITIAADDONS = "avaritiaddons";
137138
public static final String BAUBLES = "baubles";
139+
public static final String BIOMES_O_PLENTY = "biomesoplenty";
138140
public static final String BOTANY = "botany";
139141
public static final String CHISEL = "chisel";
140142
public static final String CONNECTED_TEXTURES_MOD = "ctm";
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package com.github.gtexpert.gtwp.integration.bop;
2+
3+
import net.minecraftforge.common.config.Config;
4+
5+
import com.github.gtexpert.gtwp.api.ModValues;
6+
import com.github.gtexpert.gtwp.module.Modules;
7+
8+
@Config.LangKey(ModValues.MODID + ".config.integration.biomesoplenty")
9+
@Config(modid = ModValues.MODID,
10+
name = ModValues.MODID + "/integration/" + Modules.MODULE_BOP,
11+
category = "BiomesOPlenty")
12+
public class BoPConfigHolder {}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.github.gtexpert.gtwp.integration.bop;
2+
3+
import net.minecraft.item.crafting.IRecipe;
4+
import net.minecraftforge.event.RegistryEvent;
5+
6+
import com.github.gtexpert.gtwp.api.ModValues;
7+
import com.github.gtexpert.gtwp.api.modules.TModule;
8+
import com.github.gtexpert.gtwp.api.util.Mods;
9+
import com.github.gtexpert.gtwp.integration.GTWPIntegrationSubmodule;
10+
import com.github.gtexpert.gtwp.integration.bop.recipes.BoPWoodRecipe;
11+
import com.github.gtexpert.gtwp.module.Modules;
12+
13+
@TModule(
14+
moduleID = Modules.MODULE_BOP,
15+
containerID = ModValues.MODID,
16+
modDependencies = Mods.Names.BIOMES_O_PLENTY,
17+
name = "GTWoodProcessing Biomes O' Plenty Integration",
18+
description = "Biomes O' Plenty Integration Module")
19+
public class BoPModule extends GTWPIntegrationSubmodule {
20+
21+
@Override
22+
public void registerRecipesLowest(RegistryEvent.Register<IRecipe> event) {
23+
BoPWoodRecipe.init();
24+
}
25+
}
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
package com.github.gtexpert.gtwp.integration.bop.recipes;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
import gregtech.loaders.WoodTypeEntry;
7+
8+
import com.github.gtexpert.gtwp.api.util.Mods;
9+
import com.github.gtexpert.gtwp.loaders.GTWPWoodRecipeLoader;
10+
11+
public class BoPWoodRecipe {
12+
13+
private static List<WoodTypeEntry> DEFAULT_ENTRIES;
14+
15+
private static List<WoodTypeEntry> getDefaultEntries() {
16+
if (DEFAULT_ENTRIES == null) {
17+
final String mcModId = Mods.Names.BIOMES_O_PLENTY;
18+
return DEFAULT_ENTRIES = Arrays.asList(
19+
new WoodTypeEntry.Builder(mcModId, "sacred_oak")
20+
.log(Mods.BoP.getItem("log_0", 1, 4)).removeCharcoalRecipe()
21+
.planks(Mods.BoP.getItem("planks_0", 1, 0), "sacred_oak_planks")
22+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 0), "sacred_oak_wooden_slab")
23+
.stairs(Mods.BoP.getItem("sacred_oak_stairs", 1), "sacred_oak_stairs")
24+
.fenceGate(Mods.BoP.getItem("sacred_oak_fence_gate", 1), "sacred_oak_fence_gate")
25+
.fence(Mods.BoP.getItem("sacred_oak_fence", 1), "sacred_oak_fence")
26+
.door(Mods.BoP.getItem("sacred_oak_door", 1), "sacred_oak_door")
27+
.boat(Mods.BoP.getItem("boat_sacred_oak", 1), "boat_sacred_oak")
28+
.build(),
29+
new WoodTypeEntry.Builder(mcModId, "cherry")
30+
.log(Mods.BoP.getItem("log_0", 1, 5)).removeCharcoalRecipe()
31+
.planks(Mods.BoP.getItem("planks_0", 1, 1), "cherry_planks")
32+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 1), "cherry_wooden_slab")
33+
.stairs(Mods.BoP.getItem("cherry_stairs", 1), "cherry_stairs")
34+
.fenceGate(Mods.BoP.getItem("cherry_fence_gate", 1), "cherry_fence_gate")
35+
.fence(Mods.BoP.getItem("cherry_fence", 1), "cherry_fence")
36+
.door(Mods.BoP.getItem("cherry_door", 1), "cherry_door")
37+
.boat(Mods.BoP.getItem("boat_cherry", 1), "boat_cherry")
38+
.build(),
39+
new WoodTypeEntry.Builder(mcModId, "umbran")
40+
.log(Mods.BoP.getItem("log_0", 1, 6)).removeCharcoalRecipe()
41+
.planks(Mods.BoP.getItem("planks_0", 1, 2), "umbran_planks")
42+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 2), "umbran_wooden_slab")
43+
.stairs(Mods.BoP.getItem("umbran_stairs", 1), "umbran_stairs")
44+
.fenceGate(Mods.BoP.getItem("umbran_fence_gate", 1), "umbran_fence_gate")
45+
.fence(Mods.BoP.getItem("umbran_fence", 1), "umbran_fence")
46+
.door(Mods.BoP.getItem("umbran_door", 1), "umbran_door")
47+
.boat(Mods.BoP.getItem("boat_umbran", 1), "boat_umbran")
48+
.build(),
49+
new WoodTypeEntry.Builder(mcModId, "fir")
50+
.log(Mods.BoP.getItem("log_0", 1, 7)).removeCharcoalRecipe()
51+
.planks(Mods.BoP.getItem("planks_0", 1, 3), "fir_planks")
52+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 3), "fir_wooden_slab")
53+
.stairs(Mods.BoP.getItem("fir_stairs", 1), "fir_stairs")
54+
.fenceGate(Mods.BoP.getItem("fir_fence_gate", 1), "fir_fence_gate")
55+
.fence(Mods.BoP.getItem("fir", 1), "fir")
56+
.door(Mods.BoP.getItem("fir_door", 1), "fir_door")
57+
.boat(Mods.BoP.getItem("boat_fir", 1), "boat_fir")
58+
.build(),
59+
new WoodTypeEntry.Builder(mcModId, "ethereal")
60+
.log(Mods.BoP.getItem("log_1", 1, 4)).removeCharcoalRecipe()
61+
.planks(Mods.BoP.getItem("planks_0", 1, 4), "ethereal_planks")
62+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 4), "ethereal_wooden_slab")
63+
.stairs(Mods.BoP.getItem("ethereal_stairs", 1), "ethereal_stairs")
64+
.fenceGate(Mods.BoP.getItem("ethereal_fence_gate", 1), "ethereal_fence_gate")
65+
.fence(Mods.BoP.getItem("ethereal_fence", 1), "ethereal_fence")
66+
.door(Mods.BoP.getItem("ethereal_door", 1), "ethereal_door")
67+
.boat(Mods.BoP.getItem("boat_ethereal", 1), "boat_ethereal")
68+
.build(),
69+
new WoodTypeEntry.Builder(mcModId, "magic")
70+
.log(Mods.BoP.getItem("log_1", 1, 5)).removeCharcoalRecipe()
71+
.planks(Mods.BoP.getItem("planks_0", 1, 5), "magic_planks")
72+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 5), "magic_wooden_slab")
73+
.stairs(Mods.BoP.getItem("magic_stairs", 1), "magic_stairs")
74+
.fenceGate(Mods.BoP.getItem("magic_fence_gate", 1), "magic_fence_gate")
75+
.fence(Mods.BoP.getItem("magic_fence", 1), "magic_fence")
76+
.door(Mods.BoP.getItem("magic_door", 1), "magic_door")
77+
.boat(Mods.BoP.getItem("boat_magic", 1), "boat_magic")
78+
.build(),
79+
new WoodTypeEntry.Builder(mcModId, "mangrove")
80+
.log(Mods.BoP.getItem("log_1", 1, 6)).removeCharcoalRecipe()
81+
.planks(Mods.BoP.getItem("planks_0", 1, 6), "mangrove_planks")
82+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 6), "mangrove_wooden_slab")
83+
.stairs(Mods.BoP.getItem("mangrove_stairs", 1), "mangrove_stairs")
84+
.fenceGate(Mods.BoP.getItem("mangrove_fence_gate", 1), "mangrove_fence_gate")
85+
.fence(Mods.BoP.getItem("mangrove_fence", 1), "mangrove_fence")
86+
.door(Mods.BoP.getItem("mangrove_door", 1), "mangrove_door")
87+
.boat(Mods.BoP.getItem("boat_mangrove", 1), "boat_mangrove")
88+
.build(),
89+
new WoodTypeEntry.Builder(mcModId, "palm")
90+
.log(Mods.BoP.getItem("log_1", 1, 7)).removeCharcoalRecipe()
91+
.planks(Mods.BoP.getItem("planks_0", 1, 7), "palm_planks")
92+
.slab(Mods.BoP.getItem("wood_slab_0", 1, 7), "palm_wooden_slab")
93+
.stairs(Mods.BoP.getItem("palm_stairs", 1), "palm_stairs")
94+
.fenceGate(Mods.BoP.getItem("palm_fence_gate", 1), "palm_fence_gate")
95+
.fence(Mods.BoP.getItem("palm_fence", 1), "palm_fence")
96+
.door(Mods.BoP.getItem("palm_door", 1), "palm_door")
97+
.boat(Mods.BoP.getItem("boat_palm", 1), "boat_palm")
98+
.build(),
99+
new WoodTypeEntry.Builder(mcModId, "redwood")
100+
.log(Mods.BoP.getItem("log_2", 1, 4)).removeCharcoalRecipe()
101+
.planks(Mods.BoP.getItem("planks_0", 1, 8), "redwood_planks")
102+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 0), "redwood_wooden_slab")
103+
.stairs(Mods.BoP.getItem("redwood_stairs", 1), "redwood_stairs")
104+
.fenceGate(Mods.BoP.getItem("redwood_fence_gate", 1), "redwood_fence_gate")
105+
.fence(Mods.BoP.getItem("redwood_fence", 1), "redwood_fence")
106+
.door(Mods.BoP.getItem("redwood_door", 1), "redwood_door")
107+
.boat(Mods.BoP.getItem("boat_redwood", 1), "boat_redwood")
108+
.build(),
109+
new WoodTypeEntry.Builder(mcModId, "willow")
110+
.log(Mods.BoP.getItem("log_2", 1, 5)).removeCharcoalRecipe()
111+
.planks(Mods.BoP.getItem("planks_0", 1, 9), "willow_planks")
112+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 1), "willow_wooden_slab")
113+
.stairs(Mods.BoP.getItem("willow_stairs", 1), "willow_stairs")
114+
.fenceGate(Mods.BoP.getItem("willow_fence_gate", 1), "willow_fence_gate")
115+
.fence(Mods.BoP.getItem("willow_fence", 1), "willow_fence")
116+
.door(Mods.BoP.getItem("willow_door", 1), "willow_door")
117+
.boat(Mods.BoP.getItem("boat_willow", 1), "boat_willow")
118+
.build(),
119+
new WoodTypeEntry.Builder(mcModId, "pine")
120+
.log(Mods.BoP.getItem("log_2", 1, 6)).removeCharcoalRecipe()
121+
.planks(Mods.BoP.getItem("planks_0", 1, 10), "pine_planks")
122+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 2), "pine_wooden_slab")
123+
.stairs(Mods.BoP.getItem("pine_stairs", 1), "pine_stairs")
124+
.fenceGate(Mods.BoP.getItem("pine_fence_gate", 1), "pine_fence_gate")
125+
.fence(Mods.BoP.getItem("pine_fence", 1), "pine_fence")
126+
.door(Mods.BoP.getItem("pine_door", 1), "pine_door")
127+
.boat(Mods.BoP.getItem("boat_pine", 1), "boat_pine")
128+
.build(),
129+
new WoodTypeEntry.Builder(mcModId, "hellbark")
130+
.log(Mods.BoP.getItem("log_2", 1, 7)).removeCharcoalRecipe()
131+
.planks(Mods.BoP.getItem("planks_0", 1, 11), "hellbark_planks")
132+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 3), "hellbark_wooden_slab")
133+
.stairs(Mods.BoP.getItem("hellbark_stairs", 1), "hellbark_stairs")
134+
.fenceGate(Mods.BoP.getItem("hellbark_fence_gate", 1), "hellbark_fence_gate")
135+
.fence(Mods.BoP.getItem("hellbark_fence", 1), "hellbark_fence")
136+
.door(Mods.BoP.getItem("hellbark_door", 1), "hellbark_door")
137+
.boat(Mods.BoP.getItem("boat_hellbark", 1), "boat_hellbark")
138+
.build(),
139+
new WoodTypeEntry.Builder(mcModId, "jacaranda")
140+
.log(Mods.BoP.getItem("log_3", 1, 4)).removeCharcoalRecipe()
141+
.planks(Mods.BoP.getItem("planks_0", 1, 12), "jacaranda_planks")
142+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 4), "jacaranda_wooden_slab")
143+
.stairs(Mods.BoP.getItem("jacaranda_stairs", 1), "jacaranda_stairs")
144+
.fenceGate(Mods.BoP.getItem("jacaranda_fence_gate", 1), "jacaranda_fence_gate")
145+
.fence(Mods.BoP.getItem("jacaranda_fence", 1), "jacaranda_fence")
146+
.door(Mods.BoP.getItem("jacaranda_door", 1), "jacaranda_door")
147+
.boat(Mods.BoP.getItem("boat_jacaranda", 1), "boat_jacaranda")
148+
.build(),
149+
new WoodTypeEntry.Builder(mcModId, "mahogany")
150+
.log(Mods.BoP.getItem("log_3", 1, 5)).removeCharcoalRecipe()
151+
.planks(Mods.BoP.getItem("planks_0", 1, 13), "mahogany_planks")
152+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 5), "mahogany_wooden_slab")
153+
.stairs(Mods.BoP.getItem("mahogany_stairs", 1), "mahogany_stairs")
154+
.fenceGate(Mods.BoP.getItem("mahogany_fence_gate", 1), "mahogany_fence_gate")
155+
.fence(Mods.BoP.getItem("mahogany_fence", 1), "mahogany_fence")
156+
.door(Mods.BoP.getItem("mahogany_door", 1), "mahogany_door")
157+
.boat(Mods.BoP.getItem("boat_mahogany", 1), "boat_mahogany")
158+
.build(),
159+
new WoodTypeEntry.Builder(mcModId, "ebony")
160+
.log(Mods.BoP.getItem("log_3", 1, 6)).removeCharcoalRecipe()
161+
.planks(Mods.BoP.getItem("planks_0", 1, 14), "ebony_planks")
162+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 6), "ebony_wooden_slab")
163+
.stairs(Mods.BoP.getItem("ebony_stairs", 1), "ebony_stairs")
164+
.fenceGate(Mods.BoP.getItem("ebony_fence_gate", 1), "ebony_fence_gate")
165+
.fence(Mods.BoP.getItem("ebony_fence", 1), "ebony_fence")
166+
.door(Mods.BoP.getItem("ebony_door", 1), "ebony_door")
167+
.boat(Mods.BoP.getItem("boat_ebony", 1), "boat_ebony")
168+
.build(),
169+
new WoodTypeEntry.Builder(mcModId, "eucalyptus")
170+
.log(Mods.BoP.getItem("log_3", 1, 7)).removeCharcoalRecipe()
171+
.planks(Mods.BoP.getItem("planks_0", 1, 15), "eucalyptus_planks")
172+
.slab(Mods.BoP.getItem("wood_slab_1", 1, 7), "eucalyptus_wooden_slab")
173+
.stairs(Mods.BoP.getItem("eucalyptus_stairs", 1), "eucalyptus_stairs")
174+
.fenceGate(Mods.BoP.getItem("eucalyptus_fence_gate", 1), "eucalyptus_fence_gate")
175+
.fence(Mods.BoP.getItem("eucalyptus_fence", 1), "eucalyptus_fence")
176+
.door(Mods.BoP.getItem("eucalyptus_door", 1), "eucalyptus_door")
177+
.boat(Mods.BoP.getItem("boat_eucalyptus", 1), "boat_eucalyptus")
178+
.build());
179+
}
180+
return DEFAULT_ENTRIES;
181+
}
182+
183+
public static void init() {
184+
for (WoodTypeEntry entry : getDefaultEntries()) {
185+
GTWPWoodRecipeLoader.removePlankRecipe(false, entry, Mods.Names.BIOMES_O_PLENTY);
186+
187+
GTWPWoodRecipeLoader.registerWoodTypeRecipe(false, entry);
188+
GTWPWoodRecipeLoader.addCuttingRecipe(entry);
189+
GTWPWoodRecipeLoader.addSawmillRecipe(entry);
190+
}
191+
192+
// Remove Dead Wood Smelting
193+
GTWPWoodRecipeLoader.removeCharcoalRecipe(Mods.BoP.getItem("log_4", 1, 5));
194+
}
195+
}

src/main/java/com/github/gtexpert/gtwp/module/Modules.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public class Modules implements IModuleContainer {
4040
public static final String MODULE_ROOTS = "roots";
4141
public static final String MODULE_IDS = "ids_integration";
4242
public static final String MODULE_MWORLD = "mworld_integration";
43+
public static final String MODULE_BOP = "bop_integration";
4344

4445
@Override
4546
public String getID() {

0 commit comments

Comments
 (0)