mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-09-08 13:25:58 +00:00
Merge AbstractComputerItem and ComputerItem
ComputerItem was just an empty subclass, so no sense keeping around. We probably could get rid of CommandComputerItem too (just do an `instanceof GameMasterBlock` in `getPlacementState`), but there's no rush.
This commit is contained in:
@@ -35,9 +35,8 @@ import dan200.computercraft.shared.computer.blocks.ComputerBlockEntity;
|
||||
import dan200.computercraft.shared.computer.core.ComputerFamily;
|
||||
import dan200.computercraft.shared.computer.core.ServerComputer;
|
||||
import dan200.computercraft.shared.computer.inventory.ComputerMenuWithoutInventory;
|
||||
import dan200.computercraft.shared.computer.items.AbstractComputerItem;
|
||||
import dan200.computercraft.shared.computer.items.CommandComputerItem;
|
||||
import dan200.computercraft.shared.computer.items.ComputerItem;
|
||||
import dan200.computercraft.shared.computer.items.CommandComputerItem;
|
||||
import dan200.computercraft.shared.computer.items.ServerComputerReference;
|
||||
import dan200.computercraft.shared.config.Config;
|
||||
import dan200.computercraft.shared.data.BlockNamedEntityLootCondition;
|
||||
@@ -317,7 +316,7 @@ public final class ModRegistry {
|
||||
/**
|
||||
* The id of a computer.
|
||||
*
|
||||
* @see AbstractComputerItem
|
||||
* @see ComputerItem
|
||||
* @see PocketComputerItem
|
||||
*/
|
||||
public static final RegistryEntry<DataComponentType<NonNegativeId>> COMPUTER_ID = register("computer_id", b -> b
|
||||
@@ -327,7 +326,7 @@ public final class ModRegistry {
|
||||
/**
|
||||
* The storage capacity of a computer or disk.
|
||||
*
|
||||
* @see AbstractComputerItem
|
||||
* @see ComputerItem
|
||||
* @see PocketComputerItem
|
||||
* @see DiskItem
|
||||
*/
|
||||
|
@@ -1,33 +0,0 @@
|
||||
// Copyright Daniel Ratcliffe, 2011-2022. Do not distribute without permission.
|
||||
//
|
||||
// SPDX-License-Identifier: LicenseRef-CCPL
|
||||
|
||||
package dan200.computercraft.shared.computer.items;
|
||||
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
import dan200.computercraft.shared.computer.blocks.AbstractComputerBlock;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.core.component.DataComponents;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AbstractComputerItem extends BlockItem {
|
||||
public AbstractComputerItem(AbstractComputerBlock<?> block, Properties settings) {
|
||||
super(block, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> list, TooltipFlag options) {
|
||||
if (options.isAdvanced() || !stack.has(DataComponents.CUSTOM_NAME)) {
|
||||
var id = stack.get(ModRegistry.DataComponents.COMPUTER_ID.get());
|
||||
if (id != null) {
|
||||
list.add(Component.translatable("gui.computercraft.tooltip.computer_id", id.id())
|
||||
.withStyle(ChatFormatting.GRAY));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -4,11 +4,30 @@
|
||||
|
||||
package dan200.computercraft.shared.computer.items;
|
||||
|
||||
import dan200.computercraft.shared.computer.blocks.ComputerBlock;
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
import dan200.computercraft.shared.computer.blocks.AbstractComputerBlock;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.core.component.DataComponents;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.TooltipFlag;
|
||||
|
||||
public class ComputerItem extends AbstractComputerItem {
|
||||
// TODO: Do we deprecate this?
|
||||
public ComputerItem(ComputerBlock<?> block, Properties settings) {
|
||||
import java.util.List;
|
||||
|
||||
public class ComputerItem extends BlockItem {
|
||||
public ComputerItem(AbstractComputerBlock<?> block, Properties settings) {
|
||||
super(block, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> list, TooltipFlag options) {
|
||||
if (options.isAdvanced() || !stack.has(DataComponents.CUSTOM_NAME)) {
|
||||
var id = stack.get(ModRegistry.DataComponents.COMPUTER_ID.get());
|
||||
if (id != null) {
|
||||
list.add(Component.translatable("gui.computercraft.tooltip.computer_id", id.id())
|
||||
.withStyle(ChatFormatting.GRAY));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -8,7 +8,7 @@ import dan200.computercraft.api.ComputerCraftAPI;
|
||||
import dan200.computercraft.api.filesystem.Mount;
|
||||
import dan200.computercraft.api.media.IMedia;
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
import dan200.computercraft.shared.computer.items.AbstractComputerItem;
|
||||
import dan200.computercraft.shared.computer.items.ComputerItem;
|
||||
import dan200.computercraft.shared.config.ConfigSpec;
|
||||
import dan200.computercraft.shared.media.items.DiskItem;
|
||||
import dan200.computercraft.shared.util.DataComponentUtil;
|
||||
@@ -27,7 +27,7 @@ import java.util.function.Supplier;
|
||||
*/
|
||||
public final class MountMedia implements IMedia {
|
||||
/**
|
||||
* A {@link MountMedia} implementation for {@linkplain AbstractComputerItem computers}.
|
||||
* A {@link MountMedia} implementation for {@linkplain ComputerItem computers}.
|
||||
*/
|
||||
public static final IMedia COMPUTER = new MountMedia("computer", ModRegistry.DataComponents.COMPUTER_ID, false, ConfigSpec.computerSpaceLimit);
|
||||
|
||||
|
@@ -11,7 +11,7 @@ import dan200.computercraft.api.turtle.TurtleSide;
|
||||
import dan200.computercraft.api.upgrades.UpgradeData;
|
||||
import dan200.computercraft.impl.TurtleUpgrades;
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
import dan200.computercraft.shared.computer.items.AbstractComputerItem;
|
||||
import dan200.computercraft.shared.computer.items.ComputerItem;
|
||||
import dan200.computercraft.shared.turtle.TurtleOverlay;
|
||||
import dan200.computercraft.shared.turtle.blocks.TurtleBlock;
|
||||
import net.minecraft.core.cauldron.CauldronInteraction;
|
||||
@@ -22,7 +22,7 @@ import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.block.LayeredCauldronBlock;
|
||||
import org.jspecify.annotations.Nullable;
|
||||
|
||||
public class TurtleItem extends AbstractComputerItem {
|
||||
public class TurtleItem extends ComputerItem {
|
||||
public TurtleItem(TurtleBlock block, Properties settings) {
|
||||
super(block, settings);
|
||||
}
|
||||
@@ -78,11 +78,6 @@ public class TurtleItem extends AbstractComputerItem {
|
||||
return overlay == null ? null : overlay.value();
|
||||
}
|
||||
|
||||
public static int getFuelLevel(ItemStack stack) {
|
||||
var fuel = stack.get(ModRegistry.DataComponents.FUEL.get());
|
||||
return fuel == null ? 0 : fuel;
|
||||
}
|
||||
|
||||
public static final CauldronInteraction CAULDRON_INTERACTION = (blockState, level, pos, player, hand, stack) -> {
|
||||
if (!stack.has(DataComponents.DYED_COLOR)) return ItemInteractionResult.PASS_TO_DEFAULT_BLOCK_INTERACTION;
|
||||
if (!level.isClientSide) {
|
||||
|
Reference in New Issue
Block a user