-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathUHCModules.java
More file actions
70 lines (60 loc) · 3.05 KB
/
Copy pathUHCModules.java
File metadata and controls
70 lines (60 loc) · 3.05 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package fr.hugman.uhc.api.module;
import fr.hugman.uhc.api.modifier.Modifier;
import fr.hugman.uhc.api.registry.UHCRegistryKeys;
import fr.hugman.uhc.impl.UHC;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceKey;
import net.minecraft.util.Util;
import net.minecraft.world.level.ItemLike;
import java.util.Arrays;
import java.util.function.Function;
import java.util.stream.Collectors;
public class UHCModules {
// UHCRun
public static final ResourceKey<UHCModule> ANIMAL_COOKED_FOOD = of("animal_cooked_food");
public static final ResourceKey<UHCModule> BETTER_TOOLS = of("better_tools");
public static final ResourceKey<UHCModule> BLASTED_ORES = of("blasted_ores");
public static final ResourceKey<UHCModule> DASHER = of("dasher");
public static final ResourceKey<UHCModule> FASTER_RESOURCES = of("faster_resources");
public static final ResourceKey<UHCModule> GUARANTEED_APPLES = of("guaranteed_apples");
public static final ResourceKey<UHCModule> MOB_COOKED_FOOD = of("mob_cooked_food");
public static final ResourceKey<UHCModule> ORE_BOOST = of("ore_boost");
public static final ResourceKey<UHCModule> TIMBERMAN = of("timberman");
// DoubleRunner
public static final ResourceKey<UHCModule> GUARANTEED_GOLDEN_APPLES = of("guaranteed_golden_apples");
public static final ResourceKey<UHCModule> DASHER_PLUS = of("dasher_plus");
public static final ResourceKey<UHCModule> ORE_BOOST_PLUS = of("ore_boost_plus");
public static final ResourceKey<UHCModule> BLASTED_ORES_PLUS = of("blasted_ores_plus");
public static final ResourceKey<UHCModule> POTION_DROPS = of("potion_drops");
public static final ResourceKey<UHCModule> FASTER_RESOURCES_PLUS = of("faster_resources_plus");
public static final ResourceKey<UHCModule> BETTER_TOOLS_PLUS = of("better_tools_plus");
// [COMPAT] Ultimate Lucky Block
public static final ResourceKey<UHCModule> LUCKY_BLOCKS = of("lucky_blocks");
public static ResourceKey<UHCModule> of(String path) {
return ResourceKey.create(UHCRegistryKeys.UHC_MODULE, UHC.id(path));
}
public static UHCModule create(
ResourceKey<UHCModule> key,
ItemLike icon,
Modifier... modifiers
) {
return create(key, b -> b.icon(icon).modifiers(modifiers));
}
public static UHCModule create(
ResourceKey<UHCModule> key,
Function<UHCModule.Builder, UHCModule.Builder> builderFunction,
String... longDescriptionStrings
) {
var translationKey = Util.makeDescriptionId("module", key.identifier());
var builder = UHCModule.builder()
.nameFrom(key)
.descriptionFrom(key);
if (longDescriptionStrings.length > 0) {
builder.longDescription(Arrays.stream(longDescriptionStrings)
.map(s -> Component.translatable(translationKey + ".description." + s))
.collect(Collectors.toUnmodifiableList())
);
}
return builderFunction.apply(builder).build();
}
}