Skip to content

Commit f5d2133

Browse files
committed
Update to 1.20.1
1 parent b866ac9 commit f5d2133

60 files changed

Lines changed: 392 additions & 318 deletions

File tree

Some content is hidden

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

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,9 @@ Version 2.1.0
22

33
- Update Netherite Plus to 1.19.4
44
- Use oro-gradle-plugin
5-
- Update multi-item-lib to 1.6.2
5+
- Update multi-item-lib to 1.6.2
6+
----
7+
Version 2.2.0
8+
9+
- Update to Minecraft 1.20.1
10+
- Disabled Shields while waiting for Fabric-Shield-Lib

build.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,8 @@ dependencies {
7070
modImplementation "org.quiltmc.quilted-fabric-api:quilted-fabric-api:${project.qfapi_version}"
7171

7272
modImplementation "com.oroarmor:multi-item-lib:1.6.2"
73-
// include(modImplementation('com.github.CrimsonDawn45:Fabric-Shield-Lib:1.7-1.19.3'))
74-
include(modImplementation('com.github.OroArmor:Fabric-Shield-Lib:1.19.4-SNAPSHOT'))
75-
modRuntimeOnly("com.terraformersmc:modmenu:6.1.0-rc.2")
73+
modCompileOnly('com.github.CrimsonDawn45:Fabric-Shield-Lib:main-SNAPSHOT')
74+
modRuntimeOnly("com.terraformersmc:modmenu:7.2.1")
7675
}
7776

7877
processResources {

gradle.properties

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
org.gradle.jvmargs=-Xmx2G
33

44
# Quilt Properties
5-
minecraft_version=1.19.4
6-
quilt_loader_version=0.18.5
5+
minecraft_version=1.20.1
6+
quilt_loader_version=0.20.2
77

88
# Mod Properties
9-
mod_version=2.1.0
9+
mod_version=2.2.0
1010
maven_group=com.oroarmor
1111
archives_base_name=netherite-plus-mod
1212
project_name=Netherite Plus Mod
1313

1414
# Dependencies
15-
qsl_version=5.0.0-beta.1+1.19.4
16-
qfapi_version=6.0.0-beta.2+0.76.0-1.19.4
17-
mappings=1.19.4+build.5
15+
qsl_version=6.1.1+1.20.1
16+
qfapi_version=7.2.1+0.88.0-1.20.1
17+
mappings=1.20.1+build.23

src/main/java/com/oroarmor/netherite_plus/NetheritePlusMod.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
import org.apache.logging.log4j.LogManager;
4343
import org.apache.logging.log4j.Logger;
4444
import org.quiltmc.loader.api.ModContainer;
45-
import org.quiltmc.loader.api.config.QuiltConfig;
45+
import org.quiltmc.loader.api.config.v2.QuiltConfig;
4646
import org.quiltmc.qsl.base.api.entrypoint.ModInitializer;
4747
import org.quiltmc.qsl.networking.api.PacketByteBufs;
4848
import org.quiltmc.qsl.networking.api.ServerPlayNetworking;
@@ -83,7 +83,7 @@ public void onInitialize(ModContainer mod) {
8383

8484
CONFIG.registerCallback(config -> {
8585
PacketByteBuf buf = PacketByteBufs.create();
86-
buf.writeDouble(CONFIG.graphics.lava_vision_distance);
86+
buf.writeDouble(CONFIG.graphics.lava_vision_distance.value());
8787
ServerPlayNetworking.send(CONNECTED_CLIENTS, LavaVisionUpdatePacket.ID, buf);
8888
});
8989
NetheritePlusMod.registerItemsWithMultiItemLib();
@@ -94,16 +94,16 @@ public static Identifier id(String id) {
9494
}
9595

9696
public static void registerItemsWithMultiItemLib() {
97-
if (CONFIG.enabled.shields) {
98-
UniqueItemRegistry.SHIELD.addItemToRegistry(NETHERITE_SHIELD);
97+
if (CONFIG.enabled.shields.value()) {
98+
// UniqueItemRegistry.SHIELD.addItemToRegistry(NETHERITE_SHIELD);
9999
}
100-
if (CONFIG.enabled.fishing_rod) {
100+
if (CONFIG.enabled.fishing_rod.value()) {
101101
UniqueItemRegistry.FISHING_ROD.addItemToRegistry(NETHERITE_FISHING_ROD);
102102
}
103-
if (CONFIG.enabled.trident) {
103+
if (CONFIG.enabled.trident.value()) {
104104
UniqueItemRegistry.TRIDENT.addItemToRegistry(NETHERITE_TRIDENT);
105105
}
106-
if (CONFIG.enabled.shears) {
106+
if (CONFIG.enabled.shears.value()) {
107107
UniqueItemRegistry.SHEARS.addItemToRegistry(NETHERITE_SHEARS);
108108
}
109109
}

src/main/java/com/oroarmor/netherite_plus/advancement/criterion/ConstructNetheriteBeaconCriterion.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@
3333
import net.minecraft.predicate.entity.AdvancementEntityPredicateDeserializer;
3434
import net.minecraft.predicate.entity.AdvancementEntityPredicateSerializer;
3535
import net.minecraft.predicate.entity.EntityPredicate;
36+
import net.minecraft.predicate.entity.EntityPredicates;
3637
import net.minecraft.server.network.ServerPlayerEntity;
38+
import net.minecraft.unmapped.C_ctsfmifk;
3739
import net.minecraft.util.Identifier;
3840

3941
import static com.oroarmor.netherite_plus.NetheritePlusMod.id;
@@ -47,7 +49,7 @@ public Identifier getId() {
4749
}
4850

4951
@Override
50-
public Conditions conditionsFromJson(JsonObject jsonObject, EntityPredicate.Extended extended, AdvancementEntityPredicateDeserializer advancementEntityPredicateDeserializer) {
52+
public Conditions conditionsFromJson(JsonObject jsonObject, C_ctsfmifk extended, AdvancementEntityPredicateDeserializer advancementEntityPredicateDeserializer) {
5153
NumberRange.IntRange intRange = NumberRange.IntRange.fromJson(jsonObject.get("level"));
5254
return new Conditions(extended, intRange);
5355
}
@@ -59,13 +61,13 @@ public void trigger(ServerPlayerEntity player, NetheriteBeaconBlockEntity beacon
5961
public static class Conditions extends AbstractCriterionConditions {
6062
private final NumberRange.IntRange level;
6163

62-
public Conditions(EntityPredicate.Extended player, NumberRange.IntRange level) {
64+
public Conditions(C_ctsfmifk player, NumberRange.IntRange level) {
6365
super(ConstructNetheriteBeaconCriterion.ID, player);
6466
this.level = level;
6567
}
6668

6769
public static Conditions level(NumberRange.IntRange level) {
68-
return new Conditions(EntityPredicate.Extended.EMPTY, level);
70+
return new Conditions(C_ctsfmifk.field_24388, level);
6971
}
7072

7173
public boolean matches(NetheriteBeaconBlockEntity beacon) {

src/main/java/com/oroarmor/netherite_plus/advancement/criterion/FullNetheriteNetheriteBeaconCriterion.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import net.minecraft.predicate.entity.AdvancementEntityPredicateSerializer;
3535
import net.minecraft.predicate.entity.EntityPredicate;
3636
import net.minecraft.server.network.ServerPlayerEntity;
37+
import net.minecraft.unmapped.C_ctsfmifk;
3738
import net.minecraft.util.Identifier;
3839

3940
import static com.oroarmor.netherite_plus.NetheritePlusMod.id;
@@ -47,7 +48,7 @@ public Identifier getId() {
4748
}
4849

4950
@Override
50-
public Conditions conditionsFromJson(JsonObject jsonObject, EntityPredicate.Extended extended, AdvancementEntityPredicateDeserializer advancementEntityPredicateDeserializer) {
51+
public Conditions conditionsFromJson(JsonObject jsonObject, C_ctsfmifk extended, AdvancementEntityPredicateDeserializer advancementEntityPredicateDeserializer) {
5152
NumberRange.IntRange intRange = NumberRange.IntRange.fromJson(jsonObject.get("netherite_level"));
5253
return new Conditions(extended, intRange);
5354
}
@@ -60,17 +61,16 @@ public static class Conditions extends AbstractCriterionConditions {
6061

6162
private final NumberRange.IntRange netheriteLevel;
6263

63-
public Conditions(EntityPredicate.Extended player, NumberRange.IntRange netheriteLevel) {
64+
public Conditions(C_ctsfmifk player, NumberRange.IntRange netheriteLevel) {
6465
super(id, player);
6566
this.netheriteLevel = netheriteLevel;
6667
}
6768

6869
public static Conditions level(NumberRange.IntRange netheriteLevel) {
69-
return new Conditions(EntityPredicate.Extended.EMPTY, netheriteLevel);
70+
return new Conditions(C_ctsfmifk.field_24388, netheriteLevel);
7071
}
7172

7273
public boolean matches(NetheriteBeaconBlockEntity beacon) {
73-
System.out.println(netheriteLevel.toJson());
7474
return netheriteLevel.test(beacon.getNetheriteLevel());
7575
}
7676

src/main/java/com/oroarmor/netherite_plus/advancement/criterion/RiptideNetheriteTridentCriterion.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import net.minecraft.predicate.entity.AdvancementEntityPredicateSerializer;
3333
import net.minecraft.predicate.entity.EntityPredicate;
3434
import net.minecraft.server.network.ServerPlayerEntity;
35+
import net.minecraft.unmapped.C_ctsfmifk;
3536
import net.minecraft.util.Identifier;
3637

3738
import static com.oroarmor.netherite_plus.NetheritePlusMod.id;
@@ -45,7 +46,7 @@ public Identifier getId() {
4546
}
4647

4748
@Override
48-
public Conditions conditionsFromJson(JsonObject jsonObject, EntityPredicate.Extended extended, AdvancementEntityPredicateDeserializer advancementEntityPredicateDeserializer) {
49+
public Conditions conditionsFromJson(JsonObject jsonObject, C_ctsfmifk extended, AdvancementEntityPredicateDeserializer advancementEntityPredicateDeserializer) {
4950
return new Conditions(extended);
5051
}
5152

@@ -55,7 +56,7 @@ public void trigger(ServerPlayerEntity player) {
5556

5657
public static class Conditions extends AbstractCriterionConditions {
5758

58-
public Conditions(EntityPredicate.Extended player) {
59+
public Conditions(C_ctsfmifk player) {
5960
super(id, player);
6061
}
6162

src/main/java/com/oroarmor/netherite_plus/block/NetheritePlusBlocks.java

Lines changed: 46 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,11 @@
3030

3131
import net.minecraft.block.AbstractBlock;
3232
import net.minecraft.block.Block;
33+
import net.minecraft.block.Blocks;
3334
import net.minecraft.block.MapColor;
34-
import net.minecraft.block.Material;
3535
import net.minecraft.block.entity.BlockEntity;
3636
import net.minecraft.block.entity.BlockEntityType;
37+
import net.minecraft.block.piston.PistonBehavior;
3738
import net.minecraft.registry.Registries;
3839
import net.minecraft.registry.Registry;
3940
import net.minecraft.sound.BlockSoundGroup;
@@ -70,64 +71,73 @@ public class NetheritePlusBlocks {
7071
public static BlockEntityType<NetheriteBeaconBlockEntity> NETHERITE_BEACON_BLOCK_ENTITY;
7172

7273
static {
73-
if (NetheritePlusMod.CONFIG.enabled.shulker_boxes) {
74+
if (NetheritePlusMod.CONFIG.enabled.shulker_boxes.value()) {
7475
registerShulkerBoxBlocks();
7576
}
7677

77-
if (NetheritePlusMod.CONFIG.enabled.fake_netherite_blocks) {
78-
FAKE_NETHERITE_BLOCK = register("fake_netherite_block", new FakeNetheriteBlock(AbstractBlock.Settings.of(Material.METAL, MapColor.BLACK).requiresTool().strength(5.0F, 6.0F).sounds(BlockSoundGroup.NETHERITE)));
78+
if (NetheritePlusMod.CONFIG.enabled.fake_netherite_blocks.value()) {
79+
FAKE_NETHERITE_BLOCK = register("fake_netherite_block", new FakeNetheriteBlock(AbstractBlock.Settings.copy(Blocks.IRON_BLOCK).mapColor(MapColor.BLACK).sounds(BlockSoundGroup.NETHERITE)));
7980
}
8081

81-
if (NetheritePlusMod.CONFIG.enabled.anvils) {
82-
NETHERITE_ANVIL_BLOCK = register("netherite_anvil", new NetheriteAnvilBlock(AbstractBlock.Settings.of(Material.REPAIR_STATION, MapColor.IRON_GRAY).requiresTool().strength(5.0F, 1200.0F).sounds(BlockSoundGroup.ANVIL)));
82+
if (NetheritePlusMod.CONFIG.enabled.anvils.value()) {
83+
NETHERITE_ANVIL_BLOCK = register("netherite_anvil", new NetheriteAnvilBlock(AbstractBlock.Settings.copy(Blocks.ANVIL)));
8384
}
8485

85-
if (NetheritePlusMod.CONFIG.enabled.beacon) {
86-
NETHERITE_BEACON = register("netherite_beacon", new NetheriteBeaconBlock(AbstractBlock.Settings.of(Material.GLASS, MapColor.DIAMOND_BLUE).strength(3.0F).luminance((state) -> 15).nonOpaque()));
86+
if (NetheritePlusMod.CONFIG.enabled.beacon.value()) {
87+
NETHERITE_BEACON = register("netherite_beacon", new NetheriteBeaconBlock(AbstractBlock.Settings.copy(Blocks.BEACON)));
8788

8889
NETHERITE_BEACON_BLOCK_ENTITY = Registry.register(Registries.BLOCK_ENTITY_TYPE, id("netherite_beacon"),
8990
BlockEntityType.Builder.create(NetheriteBeaconBlockEntity::new, NETHERITE_BEACON).build(null));
9091
}
9192
}
9293

93-
private static NetheriteShulkerBoxBlock createShulkerBoxBlock(DyeColor color, AbstractBlock.Settings settings) {
94-
AbstractBlock.ContextPredicate contextPredicate = (blockState, blockView, blockPos) -> {
95-
BlockEntity blockEntity = blockView.getBlockEntity(blockPos);
96-
if (!(blockEntity instanceof NetheriteShulkerBoxBlockEntity shulkerBoxBlockEntity)) {
97-
return true;
98-
}
99-
return shulkerBoxBlockEntity.suffocates();
100-
};
101-
return new NetheriteShulkerBoxBlock(color, settings.strength(2.0F).dynamicBounds().nonOpaque().suffocates(contextPredicate).blockVision(contextPredicate));
102-
}
103-
10494
private static Block register(String id, Block block) {
10595
return Registry.register(Registries.BLOCK, id(id), block);
10696
}
10797

10898
private static void registerShulkerBoxBlocks() {
109-
NETHERITE_SHULKER_BOX = register("netherite_shulker_box", createShulkerBoxBlock(null, AbstractBlock.Settings.of(Material.SHULKER_BOX).strength(2f, 1200f)));
110-
NETHERITE_WHITE_SHULKER_BOX = register("netherite_white_shulker_box", createShulkerBoxBlock(DyeColor.WHITE, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.WHITE)));
111-
NETHERITE_ORANGE_SHULKER_BOX = register("netherite_orange_shulker_box", createShulkerBoxBlock(DyeColor.ORANGE, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.ORANGE)));
112-
NETHERITE_MAGENTA_SHULKER_BOX = register("netherite_magenta_shulker_box", createShulkerBoxBlock(DyeColor.MAGENTA, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.MAGENTA)));
113-
NETHERITE_LIGHT_BLUE_SHULKER_BOX = register("netherite_light_blue_shulker_box", createShulkerBoxBlock(DyeColor.LIGHT_BLUE, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.LIGHT_BLUE)));
114-
NETHERITE_YELLOW_SHULKER_BOX = register("netherite_yellow_shulker_box", createShulkerBoxBlock(DyeColor.YELLOW, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.YELLOW)));
115-
NETHERITE_LIME_SHULKER_BOX = register("netherite_lime_shulker_box", createShulkerBoxBlock(DyeColor.LIME, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.LIME)));
116-
NETHERITE_PINK_SHULKER_BOX = register("netherite_pink_shulker_box", createShulkerBoxBlock(DyeColor.PINK, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.PINK)));
117-
NETHERITE_GRAY_SHULKER_BOX = register("netherite_gray_shulker_box", createShulkerBoxBlock(DyeColor.GRAY, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.GRAY)));
118-
NETHERITE_LIGHT_GRAY_SHULKER_BOX = register("netherite_light_gray_shulker_box", createShulkerBoxBlock(DyeColor.LIGHT_GRAY, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.LIGHT_GRAY)));
119-
NETHERITE_CYAN_SHULKER_BOX = register("netherite_cyan_shulker_box", createShulkerBoxBlock(DyeColor.CYAN, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.CYAN)));
120-
NETHERITE_PURPLE_SHULKER_BOX = register("netherite_purple_shulker_box", createShulkerBoxBlock(DyeColor.PURPLE, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.TERRACOTTA_PURPLE)));
121-
NETHERITE_BLUE_SHULKER_BOX = register("netherite_blue_shulker_box", createShulkerBoxBlock(DyeColor.BLUE, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.BLUE)));
122-
NETHERITE_BROWN_SHULKER_BOX = register("netherite_brown_shulker_box", createShulkerBoxBlock(DyeColor.BROWN, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.BROWN)));
123-
NETHERITE_GREEN_SHULKER_BOX = register("netherite_green_shulker_box", createShulkerBoxBlock(DyeColor.GREEN, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.GREEN)));
124-
NETHERITE_RED_SHULKER_BOX = register("netherite_red_shulker_box", createShulkerBoxBlock(DyeColor.RED, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.RED)));
125-
NETHERITE_BLACK_SHULKER_BOX = register("netherite_black_shulker_box", createShulkerBoxBlock(DyeColor.BLACK, AbstractBlock.Settings.of(Material.SHULKER_BOX, MapColor.BLACK)));
99+
NETHERITE_SHULKER_BOX = register("netherite_shulker_box", createShulkerBoxBlock(null, AbstractBlock.Settings.create().mapColor(MapColor.GRAY)));
100+
NETHERITE_WHITE_SHULKER_BOX = register("netherite_white_shulker_box", createShulkerBoxBlock(DyeColor.WHITE, AbstractBlock.Settings.create().mapColor(MapColor.SNOW)));
101+
NETHERITE_ORANGE_SHULKER_BOX = register("netherite_orange_shulker_box", createShulkerBoxBlock(DyeColor.ORANGE, AbstractBlock.Settings.create().mapColor(MapColor.ORANGE)));
102+
NETHERITE_MAGENTA_SHULKER_BOX = register("netherite_magenta_shulker_box", createShulkerBoxBlock(DyeColor.MAGENTA, AbstractBlock.Settings.create().mapColor(MapColor.MAGENTA)));
103+
NETHERITE_LIGHT_BLUE_SHULKER_BOX = register("netherite_light_blue_shulker_box", createShulkerBoxBlock(DyeColor.LIGHT_BLUE, AbstractBlock.Settings.create().mapColor(MapColor.LIGHT_BLUE)));
104+
NETHERITE_YELLOW_SHULKER_BOX = register("netherite_yellow_shulker_box", createShulkerBoxBlock(DyeColor.YELLOW, AbstractBlock.Settings.create().mapColor(MapColor.YELLOW)));
105+
NETHERITE_LIME_SHULKER_BOX = register("netherite_lime_shulker_box", createShulkerBoxBlock(DyeColor.LIME, AbstractBlock.Settings.create().mapColor(MapColor.LIME)));
106+
NETHERITE_PINK_SHULKER_BOX = register("netherite_pink_shulker_box", createShulkerBoxBlock(DyeColor.PINK, AbstractBlock.Settings.create().mapColor(MapColor.PINK)));
107+
NETHERITE_GRAY_SHULKER_BOX = register("netherite_gray_shulker_box", createShulkerBoxBlock(DyeColor.GRAY, AbstractBlock.Settings.create().mapColor(MapColor.GRAY)));
108+
NETHERITE_LIGHT_GRAY_SHULKER_BOX = register("netherite_light_gray_shulker_box", createShulkerBoxBlock(DyeColor.LIGHT_GRAY, AbstractBlock.Settings.create().mapColor(MapColor.LIGHT_GRAY)));
109+
NETHERITE_CYAN_SHULKER_BOX = register("netherite_cyan_shulker_box", createShulkerBoxBlock(DyeColor.CYAN, AbstractBlock.Settings.create().mapColor(MapColor.CYAN)));
110+
NETHERITE_PURPLE_SHULKER_BOX = register("netherite_purple_shulker_box", createShulkerBoxBlock(DyeColor.PURPLE, AbstractBlock.Settings.create().mapColor(MapColor.PURPLE)));
111+
NETHERITE_BLUE_SHULKER_BOX = register("netherite_blue_shulker_box", createShulkerBoxBlock(DyeColor.BLUE, AbstractBlock.Settings.create().mapColor(MapColor.BLUE)));
112+
NETHERITE_BROWN_SHULKER_BOX = register("netherite_brown_shulker_box", createShulkerBoxBlock(DyeColor.BROWN, AbstractBlock.Settings.create().mapColor(MapColor.BROWN)));
113+
NETHERITE_GREEN_SHULKER_BOX = register("netherite_green_shulker_box", createShulkerBoxBlock(DyeColor.GREEN, AbstractBlock.Settings.create().mapColor(MapColor.GREEN)));
114+
NETHERITE_RED_SHULKER_BOX = register("netherite_red_shulker_box", createShulkerBoxBlock(DyeColor.RED, AbstractBlock.Settings.create().mapColor(MapColor.RED)));
115+
NETHERITE_BLACK_SHULKER_BOX = register("netherite_black_shulker_box", createShulkerBoxBlock(DyeColor.BLACK, AbstractBlock.Settings.create().mapColor(MapColor.BLACK)));
126116

127117
NETHERITE_SHULKER_BOX_ENTITY = Registry.register(Registries.BLOCK_ENTITY_TYPE, id("netherite_shulker_box"),
128118
BlockEntityType.Builder.create(NetheriteShulkerBoxBlockEntity::new,
129119
NETHERITE_SHULKER_BOX, NETHERITE_BLACK_SHULKER_BOX, NETHERITE_BLUE_SHULKER_BOX, NETHERITE_BROWN_SHULKER_BOX, NETHERITE_CYAN_SHULKER_BOX, NETHERITE_GRAY_SHULKER_BOX, NETHERITE_GREEN_SHULKER_BOX, NETHERITE_LIGHT_BLUE_SHULKER_BOX, NETHERITE_LIGHT_GRAY_SHULKER_BOX, NETHERITE_LIME_SHULKER_BOX, NETHERITE_MAGENTA_SHULKER_BOX, NETHERITE_ORANGE_SHULKER_BOX, NETHERITE_PINK_SHULKER_BOX, NETHERITE_PURPLE_SHULKER_BOX, NETHERITE_RED_SHULKER_BOX, NETHERITE_WHITE_SHULKER_BOX, NETHERITE_YELLOW_SHULKER_BOX)
130120
.build(null));
131121
}
132122

123+
private static NetheriteShulkerBoxBlock createShulkerBoxBlock(DyeColor color, AbstractBlock.Settings settings) {
124+
AbstractBlock.ContextPredicate contextPredicate = (state, world, pos) -> {
125+
BlockEntity blockEntity = world.getBlockEntity(pos);
126+
return !(blockEntity instanceof NetheriteShulkerBoxBlockEntity shulkerBoxBlockEntity) || shulkerBoxBlockEntity.suffocates();
127+
};
128+
129+
return new NetheriteShulkerBoxBlock(
130+
color,
131+
settings.solid()
132+
.strength(2.0F)
133+
.resistance(1200.0F)
134+
.dynamicBounds()
135+
.nonOpaque()
136+
.suffocates(contextPredicate)
137+
.blockVision(contextPredicate)
138+
.pistonBehavior(PistonBehavior.DESTROY)
139+
.solidBlock(Blocks::always)
140+
);
141+
}
142+
133143
}

0 commit comments

Comments
 (0)