aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/postload/GT_BW_VoidminerLoader.java
blob: 3576d70ef57034e829466929753b6988cc00054c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package gregtech.loaders.postload;


import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.ISubTagContainer;

import java.util.Arrays;

import static gregtech.api.enums.Materials.values;
import static gregtech.api.util.GT_BartWorks_Compat.addVoidMinerDropsToDimension;

public class GT_BW_VoidminerLoader {

    private GT_BW_VoidminerLoader() {
    }

    private static final int DEEPDARK_ID = 100;

    private static boolean hasOres(Materials materials){
        return (materials.mTypes & 8) != 0;
    }

    private static boolean hasOres(Werkstoff materials){
        return materials.hasItemType(OrePrefixes.ore);
    }

    private static void addVoidDimerDrops(ISubTagContainer materials){
        addVoidMinerDropsToDimension(DEEPDARK_ID, materials, 1f);
    }

    public static void initDeepDark() {
        Arrays.stream(values()).filter(GT_BW_VoidminerLoader::hasOres).forEach(GT_BW_VoidminerLoader::addVoidDimerDrops);
        Werkstoff.werkstoffHashSet.stream().filter(GT_BW_VoidminerLoader::hasOres).forEach(GT_BW_VoidminerLoader::addVoidDimerDrops);
    }

}