...
This commit is contained in:
@ -3,6 +3,7 @@ package io.p2vman.vmodextras.cc;
|
||||
import io.p2vman.vmodextras.cc.block.BlockNetworkModem;
|
||||
import io.p2vman.vmodextras.cc.block.WireNetworkHubBlock;
|
||||
import io.p2vman.vmodextras.cc.block.entity.NetworkModemEntity;
|
||||
import io.p2vman.vmodextras.util.HoverBlockItem;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
@ -30,7 +31,7 @@ public class ComputerCraftCompact {
|
||||
|
||||
NETWORK_MODEM.block(() -> new BlockNetworkModem(BlockBehaviour.Properties.of().mapColor(MapColor.STONE)));
|
||||
NETWORK_MODEM.entity(() -> BlockEntityType.Builder.of(NetworkModemEntity::new, NETWORK_MODEM.getBlock().get()).build(null));
|
||||
NETWORK_MODEM.item(() -> new BlockItem(NETWORK_MODEM.getBlock().get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
NETWORK_MODEM.item(() -> new HoverBlockItem(NETWORK_MODEM.getBlock().get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
|
||||
Utils.executeIsModEnable("trackwork", () -> {
|
||||
TRACK_WORK_CONTROLLER_BLOCK = REGISTRY.BLOCKS.register("track_work_controller", () -> new TrackWorkController(BlockBehaviour.Properties.of().mapColor(MapColor.STONE)));
|
||||
@ -47,7 +48,7 @@ public class ComputerCraftCompact {
|
||||
|
||||
builder.push((registry) -> {
|
||||
Utils.executeIsModEnable("trackwork", () -> {
|
||||
TRACK_WORK_CONTROLLER_ITEM = registry.register("track_work_controller", () -> new BlockItem(TRACK_WORK_CONTROLLER_BLOCK.get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
TRACK_WORK_CONTROLLER_ITEM = registry.register("track_work_controller", () -> new HoverBlockItem(TRACK_WORK_CONTROLLER_BLOCK.get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
});
|
||||
|
||||
//Utils.executeIsModEnable("drivebywire", () -> {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package io.p2vman.vmodextras.trackwork;
|
||||
|
||||
import io.p2vman.vmodextras.util.HoverBlockItem;
|
||||
import net.minecraft.world.item.BlockItem;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
@ -37,9 +38,9 @@ public class TrackWorkCompact
|
||||
COMPACT_BACKUP_BLOCK_ENTITY = REGISTRY.BLOCK_ENTITIES.register("compact_backup", () -> BlockEntityType.Builder.of(CompactBackupBlockEntity::new, COMPACT_BACKUP.get()).build(null));
|
||||
|
||||
builder.push((registry) -> {
|
||||
MY_BLOCK_ITEM = registry.register("track_backup", () -> new BlockItem(TRAK_BUK.get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
SHIP_VOID_ITEM = registry.register("ship_void", () -> new BlockItem(SHIP_VOID_BLOCK.get(), new Item.Properties()));
|
||||
COMPACT_BACKUP_ITEM = registry.register("compact_backup", () -> new BlockItem(COMPACT_BACKUP.get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
MY_BLOCK_ITEM = registry.register("track_backup", () -> new HoverBlockItem(TRAK_BUK.get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
SHIP_VOID_ITEM = registry.register("ship_void", () -> new HoverBlockItem(SHIP_VOID_BLOCK.get(), new Item.Properties()));
|
||||
COMPACT_BACKUP_ITEM = registry.register("compact_backup", () -> new HoverBlockItem(COMPACT_BACKUP.get(), new Item.Properties().rarity(Rarity.EPIC)));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
47
src/main/java/io/p2vman/vmodextras/util/HoverBlockItem.java
Normal file
47
src/main/java/io/p2vman/vmodextras/util/HoverBlockItem.java
Normal file
@ -0,0 +1,47 @@
|
||||
package io.p2vman.vmodextras.util;
|
||||
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.client.gui.screens.Screen;
|
||||
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 net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraftforge.api.distmarker.Dist;
|
||||
import net.minecraftforge.api.distmarker.OnlyIn;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class HoverBlockItem extends BlockItem {
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
private Hover hover = null;
|
||||
|
||||
public HoverBlockItem(String id, Block block, Properties properties) {
|
||||
super(block, properties);
|
||||
}
|
||||
|
||||
public HoverBlockItem(Block block, Properties properties) {
|
||||
super(block, properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
@OnlyIn(Dist.CLIENT)
|
||||
public void appendHoverText(ItemStack p_41421_, @Nullable Level p_41422_, List<Component> tooltip, TooltipFlag p_41424_) {
|
||||
if (hover != null) {
|
||||
if (Screen.hasShiftDown()) {
|
||||
tooltip.addAll(hover.detail);
|
||||
} else {
|
||||
tooltip.addAll(hover.tooltip);
|
||||
tooltip.add(Component.translatable("tooltip.vmodextras.hint").withStyle(ChatFormatting.YELLOW));
|
||||
}
|
||||
} else {
|
||||
tooltip.add(Component.literal("Missing tooltip data").withStyle(ChatFormatting.RED));
|
||||
}
|
||||
}
|
||||
|
||||
public record Hover(List<Component> detail, List<Component> tooltip) {
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
{
|
||||
"variants": {
|
||||
"facing=down,on=false": {"model": "vmodextras:block/network_modem_off", "x": 90, "y": 0},
|
||||
"facing=down,on=true": {"model": "vmodextras:block/network_modem_on", "x": 90, "y": 0},
|
||||
"facing=east,on=false": {"model": "vmodextras:block/network_modem_off", "x": 0, "y": 90},
|
||||
"facing=east,on=true": {"model": "vmodextras:block/network_modem_on", "x": 0, "y": 90},
|
||||
"facing=north,on=false": {"model": "vmodextras:block/network_modem_off", "x": 0, "y": 0},
|
||||
"facing=north,on=true": {"model": "vmodextras:block/network_modem_on", "x": 0, "y": 0},
|
||||
"facing=south,on=false": {"model": "vmodextras:block/network_modem_off", "x": 0, "y": 180},
|
||||
"facing=south,on=true": {"model": "vmodextras:block/network_modem_on", "x": 0, "y": 180},
|
||||
"facing=up,on=false": {"model": "vmodextras:block/network_modem_off", "x": 270, "y": 0},
|
||||
"facing=up,on=true": {"model": "vmodextras:block/network_modem_on", "x": 270, "y": 0},
|
||||
"facing=west,on=false": {"model": "vmodextras:block/network_modem_off", "x": 0, "y": 270},
|
||||
"facing=west,on=true": {"model": "vmodextras:block/network_modem_on", "x": 0, "y": 270}
|
||||
}
|
||||
}
|
@ -1,4 +1,8 @@
|
||||
{
|
||||
"block.vmodextras.track_backup": "Track Backup",
|
||||
"block.vmodextras.ship_void": "Ship Void"
|
||||
"block.vmodextras.ship_void": "Ship Void",
|
||||
"block.vmodextras.track_work_controller": "Track Work Controler",
|
||||
"block.vmodextras.network_modem": "Network Modem",
|
||||
"block.vmodextras.compact_backup": "Compact Backup",
|
||||
"tooltip.vmodextras.hint": "Hold SHIFT for more information"
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "computercraft:block/modem",
|
||||
"textures": {
|
||||
"back": "computercraft:block/modem_back",
|
||||
"front": "vmodextras:block/network_modem_face"
|
||||
}
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
{
|
||||
"parent": "computercraft:block/modem",
|
||||
"textures": {
|
||||
"back": "computercraft:block/modem_back",
|
||||
"front": "vmodextras:block/network_modem_face_on"
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
{"parent": "vmodextras:block/network_modem_off"}
|
Binary file not shown.
After Width: | Height: | Size: 319 B |
Binary file not shown.
After Width: | Height: | Size: 272 B |
@ -0,0 +1,9 @@
|
||||
{
|
||||
"tooltip": [
|
||||
{ "text": "This block looks old.", "color": "gray" }
|
||||
],
|
||||
"detail": [
|
||||
{ "text": "Crafted by ancient builders.", "italic": true, "color": "dark_gray" },
|
||||
{ "text": "Can be used to summon bosses!", "bold": true, "color": "red" }
|
||||
]
|
||||
}
|
Reference in New Issue
Block a user