Skip to content

Commit acdbd66

Browse files
authored
Merge branch 'dev' into dev
Signed-off-by: TomPlop <[email protected]>
2 parents 6731f3d + b942a39 commit acdbd66

50 files changed

Lines changed: 3501 additions & 852 deletions

Some content is hidden

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

src/main/java/su/terrafirmagreg/core/TFGCore.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.gregtechceu.gtceu.api.data.chemical.material.registry.MaterialRegistry;
88
import com.gregtechceu.gtceu.api.machine.MachineDefinition;
99
import com.gregtechceu.gtceu.api.recipe.GTRecipeType;
10+
import com.gregtechceu.gtceu.api.recipe.condition.RecipeConditionType;
1011
import com.gregtechceu.gtceu.api.registry.registrate.GTRegistrate;
1112
import com.gregtechceu.gtceu.common.data.GTItems;
1213

@@ -28,6 +29,8 @@
2829
import su.terrafirmagreg.core.common.data.entities.ai.TFGBrain;
2930
import su.terrafirmagreg.core.common.data.tfgt.TFGRecipeTypes;
3031
import su.terrafirmagreg.core.common.data.tfgt.TFGTItems;
32+
import su.terrafirmagreg.core.common.data.tfgt.TFGTRecipeConditions;
33+
import su.terrafirmagreg.core.common.data.tfgt.TFGTSetupHooks;
3134
import su.terrafirmagreg.core.common.data.tfgt.machine.TFGMachines;
3235
import su.terrafirmagreg.core.common.data.tfgt.machine.TFGMultiMachines;
3336
import su.terrafirmagreg.core.compat.ad_astra.AdAstraCompat;
@@ -59,6 +62,8 @@ public TFGCore() {
5962

6063
final IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
6164

65+
REGISTRATE.registerEventListeners(bus);
66+
6267
TFGNetworkHandler.init();
6368
TFGBlocks.BLOCKS.register(bus);
6469
TFGBlockEntities.BLOCK_ENTITIES.register(bus);
@@ -84,12 +89,15 @@ public TFGCore() {
8489
bus.addGenericListener(MachineDefinition.class, this::registerMachines);
8590
bus.addGenericListener(GTRecipeType.class, this::registerRecipeTypes);
8691
bus.addGenericListener(GTItems.class, this::registerGTItems);
92+
bus.addGenericListener(RecipeConditionType.class, this::registerRecipeConditions);
8793
bus.addListener(TFGEntities::onAttributes);
8894
bus.addListener(TFGEntities::onSpawnPlacement);
8995
bus.addListener(TFGEntities::onEntityRenderers);
9096
bus.addListener(TFGEntities::onEntityLayerRegister);
9197
bus.addListener(CustomArmInteractionPointTypes::onRegister);
9298

99+
TFGTSetupHooks.register(bus);
100+
93101
AdAstraCompat.RegisterEvents();
94102
}
95103

@@ -119,4 +127,9 @@ public void registerRecipeTypes(GTCEuAPI.RegisterEvent<ResourceLocation, GTRecip
119127
public void registerGTItems(GTCEuAPI.RegisterEvent<ResourceLocation, GTItems> event) {
120128
TFGTItems.init();
121129
}
130+
131+
@SubscribeEvent
132+
public void registerRecipeConditions(GTCEuAPI.RegisterEvent<ResourceLocation, RecipeConditionType<?>> event) {
133+
TFGTRecipeConditions.init();
134+
}
122135
}

src/main/java/su/terrafirmagreg/core/client/MobColorItemClientHandler.java

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -13,64 +13,56 @@
1313
import su.terrafirmagreg.core.TFGCore;
1414
import su.terrafirmagreg.core.common.data.TFGItems;
1515

16+
@SuppressWarnings("deprecation")
1617
@Mod.EventBusSubscriber(modid = TFGCore.MOD_ID, value = Dist.CLIENT, bus = Mod.EventBusSubscriber.Bus.MOD)
1718
public class MobColorItemClientHandler {
1819

1920
@SubscribeEvent
2021
public static void registerItemColors(RegisterColorHandlersEvent.Item event) {
2122
ItemColor colorProvider = (stack, tintIndex) -> {
22-
// Only tint layer 1 and 2. Layer 0 is the base texture.
23-
if (tintIndex == 0)
23+
// Only tint layer 1 and 2. Layers 0 and 3+ are not tinted.
24+
if (tintIndex != 1 && tintIndex != 2)
2425
return 0xFFFFFF;
2526

26-
// Applies color tints.
27+
// Applies color tints for layers 1 (base) and 2 (overlay).
2728
if (stack.hasTag()) {
2829
assert stack.getTag() != null;
2930
if (stack.getTag().contains("mob_type")) {
3031
String mobId = stack.getTag().getString("mob_type");
3132
if (mobId.isEmpty())
32-
return 0xFFFFFF; // Fallback for if a player gets a blank item through cheats.
33+
return 0xFFFFFF;
3334

3435
EntityType<?> type = ForgeRegistries.ENTITY_TYPES.getValue(ResourceLocation.parse(mobId));
35-
if (type == null) {
36-
// unknown entity fallback to white.
36+
if (type == null)
3737
return 0xFFFFFF;
38-
}
3938

40-
// Get spawn egg via the static mapping.
4139
SpawnEggItem egg = SpawnEggItem.byId(type);
4240
if (egg != null) {
43-
// egg.getColor(0) = base.
44-
// egg.getColor(1) = overlay.
4541
int eggColor = (tintIndex == 1) ? egg.getColor(0) : egg.getColor(1);
46-
return eggColor & 0xFFFFFF; // strip alpha if present.
42+
return eggColor & 0xFFFFFF;
4743
}
4844

49-
// If SpawnEggItem.byId returned null, fallback: try to find any spawn egg item that targets this
50-
// type.
45+
// Fallback: Search all spawn eggs for a matching type.
5146
for (var item : ForgeRegistries.ITEMS.getValues()) {
5247
if (item instanceof SpawnEggItem se) {
5348
try {
54-
// Use the egg's default type (NBT = null).
5549
EntityType<?> eggType = se.getType(null);
5650
if (eggType == type) {
5751
int eggColor = (tintIndex == 1) ? se.getColor(0) : se.getColor(1);
5852
return eggColor & 0xFFFFFF;
5953
}
6054
} catch (Throwable ignored) {
61-
// If a modded spawn egg behaves oddly, just skip it :x
6255
}
6356
}
6457
}
6558
}
6659
}
67-
68-
// Final fallback: White.
6960
return 0xFFFFFF;
7061
};
7162

7263
// Register the color provider for the filled syringe item.
7364
event.register(colorProvider, TFGItems.FILLED_DNA_SYRINGE.get());
7465
event.register(colorProvider, TFGItems.PROGENITOR_CELLS.get());
66+
event.register(colorProvider, TFGItems.FISH_ROE.get());
7567
}
7668
}

src/main/java/su/terrafirmagreg/core/client/TFGClientEventHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,8 @@ public void registerParticles(@NotNull RegisterParticleProvidersEvent event) {
128128
event.registerSpriteSet(TFGParticles.DARK_MARS_WIND.get(), (set) -> (new ColoredWindParticleProvider(set, 0xbe6621))); // avg color of red sand
129129
event.registerSpriteSet(TFGParticles.MEDIUM_MARS_WIND.get(), (set) -> (new ColoredWindParticleProvider(set, 0xc48456))); // avg color of ad astra mars sand
130130
event.registerSpriteSet(TFGParticles.LIGHT_MARS_WIND.get(), (set) -> (new ColoredWindParticleProvider(set, 0xcf9f59))); // avg color of ad astra venus sand
131+
// Other
132+
event.registerSpriteSet(TFGParticles.FISH_SCHOOL.get(), FishSchoolProvider::new);
131133
}
132134

133135
@SuppressWarnings("removal")

src/main/java/su/terrafirmagreg/core/common/data/TFGCreativeTab.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import net.minecraftforge.registries.RegistryObject;
1818

1919
import su.terrafirmagreg.core.TFGCore;
20+
import su.terrafirmagreg.core.common.data.tfgt.TFGTItems;
2021

2122
@SuppressWarnings("unused")
2223
public class TFGCreativeTab {
@@ -70,6 +71,7 @@ private static void fillTab(CreativeModeTab.ItemDisplayParameters parameters, Cr
7071
accept(out, TFGItems.EMPTY_DNA_SYRINGE);
7172
accept(out, TFGItems.DIRTY_DNA_SYRINGE);
7273
accept(out, TFGItems.PROGENITOR_CELLS);
74+
accept(out, TFGItems.FISH_ROE);
7375

7476
accept(out, TFGItems.MARS_WATER_BUCKET);
7577
accept(out, TFGItems.SULFUR_FUMES_BUCKET);
@@ -88,6 +90,8 @@ private static void fillTab(CreativeModeTab.ItemDisplayParameters parameters, Cr
8890
accept(out, TFGItems.WIRELESS_CARD);
8991

9092
accept(out, TFGItems.RNR_PLOW);
93+
94+
accept(out, TFGTItems.COVER_ROTTEN_VOIDING);
9195
}
9296

9397
private static <T extends ItemLike, R extends Supplier<T>, K1, K2> void accept(CreativeModeTab.Output out,

src/main/java/su/terrafirmagreg/core/common/data/TFGItems.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ public class TFGItems {
4444
() -> new FilledDnaSyringeItem(new Item.Properties()));
4545
public static final RegistryObject<Item> PROGENITOR_CELLS = ITEMS.register("progenitor_cells",
4646
() -> new ProgenitorCellsItem(new Item.Properties()));
47+
public static final RegistryObject<Item> FISH_ROE = ITEMS.register("fish_roe",
48+
() -> new FishRoeItem(new Item.Properties()));
4749

4850
public static final RegistryObject<Item> MOON_RABBIT_EGG = registerSpawnEgg(TFGEntities.MOON_RABBIT, 15767516, 9756658);
4951
public static final RegistryObject<Item> GLACIAN_RAM_EGG = registerSpawnEgg(TFGEntities.GLACIAN_RAM, 16772607, 3997758);

src/main/java/su/terrafirmagreg/core/common/data/TFGParticles.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ public class TFGParticles {
2929
public static final RegistryObject<SimpleParticleType> COOLING_STEAM = PARTICLES.register("cooling_steam",
3030
() -> new SimpleParticleType(true));
3131

32+
public static final RegistryObject<SimpleParticleType> FISH_SCHOOL = PARTICLES.register("fish_school",
33+
() -> new SimpleParticleType(true));
34+
3235
// Martian wind dust
3336
public static final RegistryObject<SimpleParticleType> DARK_MARS_WIND = PARTICLES.register("dark_mars_wind", () -> new SimpleParticleType(false));
3437
public static final RegistryObject<SimpleParticleType> MEDIUM_MARS_WIND = PARTICLES.register("medium_mars_wind", () -> new SimpleParticleType(false));

0 commit comments

Comments
 (0)