-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MWBlockSetTypes.java
117 lines (108 loc) · 5.3 KB
/
MWBlockSetTypes.java
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package org.mineworld.core;
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.properties.BlockSetType;
import org.mineworld.MineWorld;
import org.mineworld.helper.ResourceHelper;
/**
* {@link MineWorld MineWorld} {@link BlockSetType Block Set Types}
*/
public final class MWBlockSetTypes {
//#region Block Set Types
public static final Supplier<BlockSetType> NETHERITE = Suppliers.memoize(() -> registerBlockSetType("netherite", false,
false,
false,
BlockSetType.PressurePlateSensitivity.MOBS,
SoundType.NETHERITE_BLOCK,
SoundEvents.NETHERITE_BLOCK_FALL,
SoundEvents.NETHERITE_BLOCK_STEP,
SoundEvents.NETHERITE_BLOCK_FALL,
SoundEvents.NETHERITE_BLOCK_STEP,
SoundEvents.METAL_PRESSURE_PLATE_CLICK_OFF,
SoundEvents.METAL_PRESSURE_PLATE_CLICK_ON,
SoundEvents.STONE_BUTTON_CLICK_OFF,
SoundEvents.STONE_BUTTON_CLICK_ON)
);
public static final Supplier<BlockSetType> METAL = Suppliers.memoize(() -> registerBlockSetType("metal", false,
false,
false,
BlockSetType.PressurePlateSensitivity.EVERYTHING,
SoundType.METAL,
SoundEvents.METAL_FALL,
SoundEvents.METAL_STEP,
SoundEvents.METAL_FALL,
SoundEvents.METAL_STEP,
SoundEvents.METAL_PRESSURE_PLATE_CLICK_OFF,
SoundEvents.METAL_PRESSURE_PLATE_CLICK_ON,
SoundEvents.STONE_BUTTON_CLICK_OFF,
SoundEvents.STONE_BUTTON_CLICK_ON)
);
public static final Supplier<BlockSetType> ICE = Suppliers.memoize(() -> registerBlockSetType(MWWoodTypes.MWWoodTypeNames.ICE, true,
true,
true,
BlockSetType.PressurePlateSensitivity.EVERYTHING,
SoundType.GLASS,
SoundEvents.GLASS_FALL,
SoundEvents.GLASS_STEP,
SoundEvents.GLASS_FALL,
SoundEvents.GLASS_STEP,
SoundEvents.GLASS_HIT,
SoundEvents.GLASS_PLACE,
SoundEvents.GLASS_HIT,
SoundEvents.GLASS_PLACE)
);
public static final Supplier<BlockSetType> SCULK = Suppliers.memoize(() -> registerBlockSetType(MWWoodTypes.MWWoodTypeNames.SCULK, true,
true,
true,
BlockSetType.PressurePlateSensitivity.EVERYTHING,
MWSoundTypes.SCULK_WOOD,
MWSounds.SCULK_DOOR_CLOSE.get(),
MWSounds.SCULK_DOOR_OPEN.get(),
MWSounds.SCULK_TRAPDOOR_CLOSE.get(),
MWSounds.SCULK_TRAPDOOR_OPEN.get(),
MWSounds.SCULK_PRESSURE_PLATE_OFF.get(),
MWSounds.SCULK_PRESSURE_PLATE_ON.get(),
MWSounds.SCULK_BUTTON_ON.get(),
MWSounds.SCULK_BUTTON_OFF.get())
);
//#endregion
//#region Methods
/**
* Register a {@link BlockSetType Block Set Type}
*
* @param name {@link String The Block Set Type name}
* @param canOpenByHand {@link Boolean If the block set Doors/Trapdoors can be open using hands}
* @param defaultSound {@link SoundType The Block Set Type default sound}
* @param doorCloseSound {@link SoundEvent The sound to play when a Door is closed}
* @param doorOpenSound {@link SoundEvent The sound to play when a Door is opened}
* @param trapdoorCloseSound {@link SoundEvent The sound to play when a Trapdoor is closed}
* @param trapdoorOpenSound {@link SoundEvent The sound to play when a Trapdoor is closed}
* @param pressurePlateClickOffSound {@link SoundEvent The sound to play when a Pressure Plate looses pressure}
* @param pressurePlateClickOnSound {@link SoundEvent The sound to play when a Pressure Plate is pressed}
* @param buttonClickOffSound {@link SoundEvent The sound to play when a Button looses pressure}
* @param buttonClickOnSound {@link SoundEvent The sound to play when a Button is pressed}
* @return {@link BlockSetType The registered Block Set Type}
*/
public static BlockSetType registerBlockSetType(final String name, final boolean canOpenByHand, final boolean canOpenByWindCharge, final boolean canButtonBeActivatedByArrows, final BlockSetType.PressurePlateSensitivity pressurePlateSensitivity, final SoundType defaultSound, final SoundEvent doorCloseSound, final SoundEvent doorOpenSound, final SoundEvent trapdoorCloseSound, final SoundEvent trapdoorOpenSound, final SoundEvent pressurePlateClickOffSound, final SoundEvent pressurePlateClickOnSound, final SoundEvent buttonClickOffSound, final SoundEvent buttonClickOnSound) {
return BlockSetType.register(new BlockSetType(ResourceHelper.stringLocation(name),
canOpenByHand,
canOpenByWindCharge,
canButtonBeActivatedByArrows,
pressurePlateSensitivity,
defaultSound,
doorCloseSound,
doorOpenSound,
trapdoorCloseSound,
trapdoorOpenSound,
pressurePlateClickOffSound,
pressurePlateClickOnSound,
buttonClickOffSound,
buttonClickOnSound
)
);
}
//#endregion
}