Skip to content

Commit 42a75c8

Browse files
committed
Continue work at applying default components to things
1 parent c024d74 commit 42a75c8

34 files changed

+222
-184
lines changed

src/additions/java/mekanism/additions/common/registries/AdditionsBlocks.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,6 @@ private static BlockRegistryObject<BlockPlasticStairs, ItemBlockMekanism<BlockPl
9797

9898
private static <BLOCK extends Block & IColoredBlock> BlockRegistryObject<BLOCK, ItemBlockMekanism<BLOCK>> registerColoredBlock(Function<EnumColor, BLOCK> blockCreator,
9999
String blockTypeSuffix, EnumColor color) {
100-
return BLOCKS.registerDefaultProperties(color.getRegistryPrefix() + blockTypeSuffix, () -> blockCreator.apply(color), ItemBlockMekanism::new);
100+
return BLOCKS.register(color.getRegistryPrefix() + blockTypeSuffix, () -> blockCreator.apply(color), ItemBlockMekanism::new);
101101
}
102102
}

src/generators/java/mekanism/generators/common/item/generator/ItemBlockWindGenerator.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@
44
import mekanism.common.block.prefab.BlockTile;
55
import mekanism.common.item.block.ItemBlockTooltip;
66
import mekanism.generators.client.render.GeneratorsRenderPropertiesProvider;
7+
import net.minecraft.world.item.Item;
78
import net.neoforged.neoforge.client.extensions.common.IClientItemExtensions;
89
import org.jetbrains.annotations.NotNull;
910

1011
public class ItemBlockWindGenerator extends ItemBlockTooltip<BlockTile<?, ?>> {
1112

12-
public ItemBlockWindGenerator(BlockTile<?, ?> block) {
13-
super(block);
13+
public ItemBlockWindGenerator(BlockTile<?, ?> block, Item.Properties properties) {
14+
super(block, true, properties);
1415
}
1516

1617
@Override

src/generators/java/mekanism/generators/common/registries/GeneratorsBlocks.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ private GeneratorsBlocks() {
6161
public static final BlockDeferredRegister BLOCKS = new BlockDeferredRegister(MekanismGenerators.MODID);
6262

6363
public static final BlockRegistryObject<BlockTileModel<TileEntityHeatGenerator, Generator<TileEntityHeatGenerator>>, ItemBlockTooltip<BlockTileModel<TileEntityHeatGenerator, Generator<TileEntityHeatGenerator>>>> HEAT_GENERATOR =
64-
BLOCKS.register("heat_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.HEAT_GENERATOR, properties -> properties.mapColor(MapColor.METAL)), ItemBlockTooltip::new)
64+
BLOCKS.registerDetails("heat_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.HEAT_GENERATOR, properties -> properties.mapColor(MapColor.METAL)))
6565
.forItemHolder(holder -> holder
6666
.addAttachmentOnlyContainers(ContainerType.FLUID, () -> FluidTanksBuilder.builder()
6767
.addBasic(MekanismGeneratorsConfig.generators.heatTankCapacity, fluid -> fluid.is(FluidTags.LAVA))
@@ -76,10 +76,10 @@ private GeneratorsBlocks() {
7676
)
7777
);
7878
public static final BlockRegistryObject<BlockTileModel<TileEntitySolarGenerator, Generator<TileEntitySolarGenerator>>, ItemBlockTooltip<BlockTileModel<TileEntitySolarGenerator, Generator<TileEntitySolarGenerator>>>> SOLAR_GENERATOR =
79-
BLOCKS.register("solar_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.SOLAR_GENERATOR, properties -> properties.mapColor(MapColor.COLOR_BLUE)), ItemBlockTooltip::new)
79+
BLOCKS.registerDetails("solar_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.SOLAR_GENERATOR, properties -> properties.mapColor(MapColor.COLOR_BLUE)))
8080
.forItemHolder(holder -> holder.addAttachmentOnlyContainers(ContainerType.ITEM, () -> ItemSlotsBuilder.builder().addEnergy().build()));
8181
public static final BlockRegistryObject<BlockTileModel<TileEntityGasGenerator, Generator<TileEntityGasGenerator>>, ItemBlockTooltip<BlockTileModel<TileEntityGasGenerator, Generator<TileEntityGasGenerator>>>> GAS_BURNING_GENERATOR =
82-
BLOCKS.register("gas_burning_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.GAS_BURNING_GENERATOR, properties -> properties.mapColor(BlockResourceInfo.STEEL.getMapColor())), ItemBlockTooltip::new)
82+
BLOCKS.registerDetails("gas_burning_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.GAS_BURNING_GENERATOR, properties -> properties.mapColor(BlockResourceInfo.STEEL.getMapColor())))
8383
.forItemHolder(holder -> holder
8484
.addAttachmentOnlyContainers(ContainerType.GAS, () -> GasTanksBuilder.builder()
8585
.addBasic(MekanismGeneratorsConfig.generators.gbgTankCapacity, gas -> gas.has(Fuel.class))
@@ -91,7 +91,7 @@ private GeneratorsBlocks() {
9191
)
9292
);
9393
public static final BlockRegistryObject<BlockTileModel<TileEntityBioGenerator, Generator<TileEntityBioGenerator>>, ItemBlockTooltip<BlockTileModel<TileEntityBioGenerator, Generator<TileEntityBioGenerator>>>> BIO_GENERATOR =
94-
BLOCKS.register("bio_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.BIO_GENERATOR, properties -> properties.mapColor(BlockResourceInfo.STEEL.getMapColor())), ItemBlockTooltip::new)
94+
BLOCKS.registerDetails("bio_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.BIO_GENERATOR, properties -> properties.mapColor(BlockResourceInfo.STEEL.getMapColor())))
9595
.forItemHolder(holder -> holder
9696
.addAttachmentOnlyContainers(ContainerType.FLUID, () -> FluidTanksBuilder.builder()
9797
.addBasic(MekanismGeneratorsConfig.generators.bioTankCapacity, fluid -> fluid.is(GeneratorTags.Fluids.BIOETHANOL))
@@ -103,7 +103,7 @@ private GeneratorsBlocks() {
103103
)
104104
);
105105
public static final BlockRegistryObject<BlockTileModel<TileEntityAdvancedSolarGenerator, Generator<TileEntityAdvancedSolarGenerator>>, ItemBlockTooltip<BlockTileModel<TileEntityAdvancedSolarGenerator, Generator<TileEntityAdvancedSolarGenerator>>>> ADVANCED_SOLAR_GENERATOR =
106-
BLOCKS.register("advanced_solar_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.ADVANCED_SOLAR_GENERATOR, properties -> properties.mapColor(MapColor.COLOR_BLUE)), ItemBlockTooltip::new)
106+
BLOCKS.registerDetails("advanced_solar_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.ADVANCED_SOLAR_GENERATOR, properties -> properties.mapColor(MapColor.COLOR_BLUE)))
107107
.forItemHolder(holder -> holder.addAttachmentOnlyContainers(ContainerType.ITEM, () -> ItemSlotsBuilder.builder().addEnergy().build()));
108108
public static final BlockRegistryObject<BlockTileModel<TileEntityWindGenerator, Generator<TileEntityWindGenerator>>, ItemBlockWindGenerator> WIND_GENERATOR = BLOCKS.register("wind_generator", () -> new BlockTileModel<>(GeneratorsBlockTypes.WIND_GENERATOR, properties -> properties.mapColor(MapColor.METAL)), ItemBlockWindGenerator::new)
109109
.forItemHolder(holder -> holder.addAttachmentOnlyContainers(ContainerType.ITEM, () -> ItemSlotsBuilder.builder().addEnergy().build()));
@@ -120,17 +120,17 @@ private GeneratorsBlocks() {
120120

121121
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFissionReactorCasing>, ItemBlockTooltip<BlockBasicMultiblock<TileEntityFissionReactorCasing>>> FISSION_REACTOR_CASING = registerTooltipBlock("fission_reactor_casing", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FISSION_REACTOR_CASING, properties -> properties.mapColor(MapColor.COLOR_LIGHT_GRAY)));
122122
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFissionReactorPort>, ItemBlockTooltip<BlockBasicMultiblock<TileEntityFissionReactorPort>>> FISSION_REACTOR_PORT = registerTooltipBlock("fission_reactor_port", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FISSION_REACTOR_PORT, properties -> properties.mapColor(MapColor.COLOR_LIGHT_GRAY)));
123-
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFissionReactorLogicAdapter>, ItemBlockFissionLogicAdapter> FISSION_REACTOR_LOGIC_ADAPTER = BLOCKS.registerDefaultProperties("fission_reactor_logic_adapter", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FISSION_REACTOR_LOGIC_ADAPTER, properties -> properties.mapColor(MapColor.COLOR_LIGHT_GRAY)), ItemBlockFissionLogicAdapter::new);
123+
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFissionReactorLogicAdapter>, ItemBlockFissionLogicAdapter> FISSION_REACTOR_LOGIC_ADAPTER = BLOCKS.register("fission_reactor_logic_adapter", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FISSION_REACTOR_LOGIC_ADAPTER, properties -> properties.mapColor(MapColor.COLOR_LIGHT_GRAY)), ItemBlockFissionLogicAdapter::new);
124124
public static final BlockRegistryObject<BlockTileModel<TileEntityFissionFuelAssembly, BlockTypeTile<TileEntityFissionFuelAssembly>>, ItemBlockTooltip<BlockTileModel<TileEntityFissionFuelAssembly, BlockTypeTile<TileEntityFissionFuelAssembly>>>> FISSION_FUEL_ASSEMBLY = registerTooltipBlock("fission_fuel_assembly", () -> new BlockTileModel<>(GeneratorsBlockTypes.FISSION_FUEL_ASSEMBLY, properties -> properties.mapColor(BlockResourceInfo.STEEL.getMapColor())));
125125
public static final BlockRegistryObject<BlockTileModel<TileEntityControlRodAssembly, BlockTypeTile<TileEntityControlRodAssembly>>, ItemBlockTooltip<BlockTileModel<TileEntityControlRodAssembly, BlockTypeTile<TileEntityControlRodAssembly>>>> CONTROL_ROD_ASSEMBLY = registerTooltipBlock("control_rod_assembly", () -> new BlockTileModel<>(GeneratorsBlockTypes.CONTROL_ROD_ASSEMBLY, properties -> properties.mapColor(MapColor.METAL)));
126126

127127
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFusionReactorController>, ItemBlockTooltip<BlockBasicMultiblock<TileEntityFusionReactorController>>> FUSION_REACTOR_CONTROLLER = registerTooltipBlock("fusion_reactor_controller", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FUSION_REACTOR_CONTROLLER, properties -> properties.mapColor(MapColor.COLOR_ORANGE)));
128128
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFusionReactorBlock>, ItemBlockTooltip<BlockBasicMultiblock<TileEntityFusionReactorBlock>>> FUSION_REACTOR_FRAME = registerTooltipBlock("fusion_reactor_frame", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FUSION_REACTOR_FRAME, properties -> properties.mapColor(MapColor.TERRACOTTA_BROWN)));
129129
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFusionReactorPort>, ItemBlockTooltip<BlockBasicMultiblock<TileEntityFusionReactorPort>>> FUSION_REACTOR_PORT = registerTooltipBlock("fusion_reactor_port", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FUSION_REACTOR_PORT, properties -> properties.mapColor(MapColor.TERRACOTTA_BROWN)));
130-
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFusionReactorLogicAdapter>, ItemBlockFusionLogicAdapter> FUSION_REACTOR_LOGIC_ADAPTER = BLOCKS.registerDefaultProperties("fusion_reactor_logic_adapter", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FUSION_REACTOR_LOGIC_ADAPTER, properties -> properties.mapColor(MapColor.TERRACOTTA_BROWN)), ItemBlockFusionLogicAdapter::new);
130+
public static final BlockRegistryObject<BlockBasicMultiblock<TileEntityFusionReactorLogicAdapter>, ItemBlockFusionLogicAdapter> FUSION_REACTOR_LOGIC_ADAPTER = BLOCKS.register("fusion_reactor_logic_adapter", () -> new BlockBasicMultiblock<>(GeneratorsBlockTypes.FUSION_REACTOR_LOGIC_ADAPTER, properties -> properties.mapColor(MapColor.TERRACOTTA_BROWN)), ItemBlockFusionLogicAdapter::new);
131131
public static final BlockRegistryObject<BlockLaserFocusMatrix, ItemBlockTooltip<BlockLaserFocusMatrix>> LASER_FOCUS_MATRIX = registerTooltipBlock("laser_focus_matrix", BlockLaserFocusMatrix::new);
132132

133133
private static <BLOCK extends Block & IHasDescription> BlockRegistryObject<BLOCK, ItemBlockTooltip<BLOCK>> registerTooltipBlock(String name, Supplier<BLOCK> blockCreator) {
134-
return BLOCKS.registerDefaultProperties(name, blockCreator, ItemBlockTooltip::new);
134+
return BLOCKS.register(name, blockCreator, ItemBlockTooltip::new);
135135
}
136136
}

src/main/java/mekanism/client/gui/qio/GuiPortableQIODashboard.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import mekanism.client.gui.element.tab.GuiQIOFrequencyTab;
44
import mekanism.common.attachments.FrequencyAware;
5-
import mekanism.common.content.qio.QIOFrequency;
65
import mekanism.common.inventory.container.item.PortableQIODashboardContainer;
76
import mekanism.common.lib.frequency.Frequency.FrequencyIdentity;
87
import mekanism.common.registries.MekanismDataComponents;
@@ -33,7 +32,6 @@ public FrequencyIdentity getFrequency() {
3332
if (stack.isEmpty()) {//Note: This shouldn't be empty, but we validate it just in case
3433
return null;
3534
}
36-
FrequencyAware<QIOFrequency> frequencyAware = stack.get(MekanismDataComponents.QIO_FREQUENCY);
37-
return frequencyAware == null ? null : frequencyAware.identity().orElse(null);
35+
return stack.getOrDefault(MekanismDataComponents.QIO_FREQUENCY, FrequencyAware.none()).identity().orElse(null);
3836
}
3937
}

src/main/java/mekanism/client/model/baked/DriveArrayBakedModel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ public BakedModel resolve(BakedModel model, ItemStack stack, @Nullable ClientLev
160160

161161
private boolean hasFrequency(ItemStack stack) {
162162
if (stack.getItem() instanceof IFrequencyItem frequencyItem && frequencyItem.getFrequencyType() == FrequencyType.QIO) {
163-
FrequencyAware<QIOFrequency> frequencyAware = stack.get(MekanismDataComponents.QIO_FREQUENCY);
164-
return frequencyAware != null && frequencyAware.identity().isPresent() && frequencyAware.getOwner() != null;
163+
FrequencyAware<QIOFrequency> frequencyAware = stack.getOrDefault(MekanismDataComponents.QIO_FREQUENCY, FrequencyAware.none());
164+
return frequencyAware.identity().isPresent() && frequencyAware.getOwner() != null;
165165
}
166166
return false;
167167
}

src/main/java/mekanism/common/attachments/FrequencyAware.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,19 @@
2424
import net.minecraft.network.codec.StreamCodec;
2525
import net.minecraft.world.item.ItemStack;
2626
import net.neoforged.fml.util.thread.EffectiveSide;
27+
import org.jetbrains.annotations.NotNull;
2728
import org.jetbrains.annotations.Nullable;
2829

2930
@NothingNullByDefault
3031
public record FrequencyAware<FREQ extends Frequency>(Optional<FrequencyIdentity> identity, Optional<FREQ> frequency) {
3132

33+
public static final FrequencyAware<?> NONE = new FrequencyAware<>(Optional.empty(), Optional.empty());
34+
35+
@SuppressWarnings("unchecked")
36+
public static <FREQ extends Frequency> FrequencyAware<FREQ> none() {
37+
return (FrequencyAware<FREQ>) NONE;
38+
}
39+
3240
public static <FREQ extends Frequency> Codec<FrequencyAware<FREQ>> codec(FrequencyType<FREQ> frequencyType) {
3341
return RecordCodecBuilder.create(instance -> instance.group(
3442
//TODO - 1.20.5: Validate this is equivalent to Frequency#serializeIdentityWithOwner??
@@ -62,8 +70,8 @@ public static <FREQ extends Frequency> StreamCodec<ByteBuf, FrequencyAware<FREQ>
6270
DriveMetadata::new
6371
);
6472

65-
public FrequencyAware(@Nullable FREQ freq) {
66-
this(freq == null ? Optional.empty() : Optional.of(freq.getIdentity()), Optional.ofNullable(freq));
73+
public FrequencyAware(@NotNull FREQ freq) {
74+
this(Optional.of(freq.getIdentity()), Optional.of(freq));
6775
}
6876

6977
@Nullable

src/main/java/mekanism/common/item/ItemRobit.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import mekanism.api.robit.RobitSkin;
77
import mekanism.api.security.IItemSecurityUtils;
88
import mekanism.api.security.ISecurityObject;
9+
import mekanism.api.security.SecurityMode;
910
import mekanism.api.text.EnumColor;
1011
import mekanism.common.MekanismLang;
1112
import mekanism.common.attachments.containers.ContainerType;
@@ -48,6 +49,7 @@ public class ItemRobit extends ItemEnergized implements ICapabilityAware {
4849
public ItemRobit(Properties properties) {
4950
super(() -> EntityRobit.MAX_ENERGY.multiply(0.005), () -> EntityRobit.MAX_ENERGY, properties.rarity(Rarity.RARE)
5051
.component(MekanismDataComponents.ROBIT_SKIN, MekanismRobitSkins.BASE)
52+
.component(MekanismDataComponents.SECURITY, SecurityMode.PUBLIC)
5153
);
5254
}
5355

src/main/java/mekanism/common/item/block/ItemBlockBin.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
public class ItemBlockBin extends ItemBlockTooltip<BlockBin> implements IDroppableAttachmentContents {
2222

23-
public ItemBlockBin(BlockBin block) {
24-
super(block, new Item.Properties().component(MekanismDataComponents.LOCK, LockData.EMPTY));
23+
public ItemBlockBin(BlockBin block, Item.Properties properties) {
24+
super(block, properties.component(MekanismDataComponents.LOCK, LockData.EMPTY));
2525
}
2626

2727
@Override

src/main/java/mekanism/common/item/block/ItemBlockCardboardBox.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434

3535
public class ItemBlockCardboardBox extends ItemBlockMekanism<BlockCardboardBox> {
3636

37-
public ItemBlockCardboardBox(BlockCardboardBox block) {
38-
super(block, new Item.Properties().stacksTo(16));
37+
public ItemBlockCardboardBox(BlockCardboardBox block, Item.Properties properties) {
38+
super(block, properties.stacksTo(16));
3939
}
4040

4141
@Override

src/main/java/mekanism/common/item/block/ItemBlockChemicalTank.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
public class ItemBlockChemicalTank extends ItemBlockTooltip<BlockTileModel<TileEntityChemicalTank, Machine<TileEntityChemicalTank>>> {
2525

26-
public ItemBlockChemicalTank(BlockTileModel<TileEntityChemicalTank, Machine<TileEntityChemicalTank>> block) {
27-
super(block, true, new Item.Properties().component(MekanismDataComponents.DUMP_MODE, GasMode.IDLE));
26+
public ItemBlockChemicalTank(BlockTileModel<TileEntityChemicalTank, Machine<TileEntityChemicalTank>> block, Item.Properties properties) {
27+
super(block, true, properties.component(MekanismDataComponents.DUMP_MODE, GasMode.IDLE));
2828
}
2929

3030
@Override

0 commit comments

Comments
 (0)