...
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.BlockNetworkModem;
|
||||||
import io.p2vman.vmodextras.cc.block.WireNetworkHubBlock;
|
import io.p2vman.vmodextras.cc.block.WireNetworkHubBlock;
|
||||||
import io.p2vman.vmodextras.cc.block.entity.NetworkModemEntity;
|
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.BlockItem;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.Rarity;
|
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.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.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", () -> {
|
Utils.executeIsModEnable("trackwork", () -> {
|
||||||
TRACK_WORK_CONTROLLER_BLOCK = REGISTRY.BLOCKS.register("track_work_controller", () -> new TrackWorkController(BlockBehaviour.Properties.of().mapColor(MapColor.STONE)));
|
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) -> {
|
builder.push((registry) -> {
|
||||||
Utils.executeIsModEnable("trackwork", () -> {
|
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", () -> {
|
//Utils.executeIsModEnable("drivebywire", () -> {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package io.p2vman.vmodextras.trackwork;
|
package io.p2vman.vmodextras.trackwork;
|
||||||
|
|
||||||
|
import io.p2vman.vmodextras.util.HoverBlockItem;
|
||||||
import net.minecraft.world.item.BlockItem;
|
import net.minecraft.world.item.BlockItem;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
import net.minecraft.world.item.Rarity;
|
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));
|
COMPACT_BACKUP_BLOCK_ENTITY = REGISTRY.BLOCK_ENTITIES.register("compact_backup", () -> BlockEntityType.Builder.of(CompactBackupBlockEntity::new, COMPACT_BACKUP.get()).build(null));
|
||||||
|
|
||||||
builder.push((registry) -> {
|
builder.push((registry) -> {
|
||||||
MY_BLOCK_ITEM = registry.register("track_backup", () -> new BlockItem(TRAK_BUK.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 BlockItem(SHIP_VOID_BLOCK.get(), new Item.Properties()));
|
SHIP_VOID_ITEM = registry.register("ship_void", () -> new HoverBlockItem(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)));
|
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.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