mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 13:42:59 +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
	 Jonathan Coates
					Jonathan Coates