修改tab图标实现方式

This commit is contained in:
17146 2024-08-09 21:32:38 +08:00
parent 9b781a078a
commit bed10267ba
5 changed files with 12 additions and 21 deletions

View file

@ -21,7 +21,6 @@ import net.minecraftforge.registries.RegistryObject;
public class ModItems { public class ModItems {
public static final DeferredRegister<Item> REGISTRY = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static final DeferredRegister<Item> REGISTRY = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID);
public static final RegistryObject<Item> EXAMPLE_PERK = REGISTRY.register("example_perk", ExamplePerk::new);
/** /**
* guns * guns
@ -196,9 +195,15 @@ public class ModItems {
public static final DeferredRegister<Item> PERKS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID); public static final DeferredRegister<Item> PERKS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID);
public static void registerPerkItems() { public static void registerPerkItems() {
ModPerks.PERKS.getEntries().forEach(registryObject -> PERKS.register(registryObject.getId().getPath(), () -> new PerkItem(registryObject))); ModPerks.PERKS.getEntries().stream().filter(p -> p != ModPerks.AP_BULLET)
.forEach(registryObject -> PERKS.register(registryObject.getId().getPath(), () -> new PerkItem(registryObject)));
} }
/**
* 单独注册用于Tab图标不要删
*/
public static final RegistryObject<Item> AP_BULLET = PERKS.register("ap_bullet", () -> new PerkItem(ModPerks.AP_BULLET));
public static void register(IEventBus bus) { public static void register(IEventBus bus) {
ITEMS.register(bus); ITEMS.register(bus);
GUNS.register(bus); GUNS.register(bus);

View file

@ -22,14 +22,14 @@ public class ModPerks {
public static final DeferredRegister<Perk> PERKS = DeferredRegister.create(new ResourceLocation(ModUtils.MODID, "perk"), ModUtils.MODID); public static final DeferredRegister<Perk> PERKS = DeferredRegister.create(new ResourceLocation(ModUtils.MODID, "perk"), ModUtils.MODID);
public static final RegistryObject<AmmoPerk> AP_BULLET = PERKS.register("ap_bullet", public static final RegistryObject<Perk> AP_BULLET = PERKS.register("ap_bullet",
() -> new AmmoPerk(new AmmoPerk.Builder("ap_bullet", Perk.Type.AMMO).bypassArmorRate(0.4f).rgb(230, 0, 0))); () -> new AmmoPerk(new AmmoPerk.Builder("ap_bullet", Perk.Type.AMMO).bypassArmorRate(0.4f).rgb(230, 0, 0)));
public static final RegistryObject<AmmoPerk> SILVER_BULLET = PERKS.register("silver_bullet", public static final RegistryObject<Perk> SILVER_BULLET = PERKS.register("silver_bullet",
() -> new AmmoPerk(new AmmoPerk.Builder("silver_bullet", Perk.Type.AMMO).bypassArmorRate(0.05f).rgb(87, 166, 219))); () -> new AmmoPerk(new AmmoPerk.Builder("silver_bullet", Perk.Type.AMMO).bypassArmorRate(0.05f).rgb(87, 166, 219)));
public static final RegistryObject<AmmoPerk> POISONOUS_BULLET = PERKS.register("poisonous_bullet", public static final RegistryObject<Perk> POISONOUS_BULLET = PERKS.register("poisonous_bullet",
() -> new AmmoPerk(new AmmoPerk.Builder("poisonous_bullet", Perk.Type.AMMO).bypassArmorRate(0.0f).rgb(48, 131, 6) () -> new AmmoPerk(new AmmoPerk.Builder("poisonous_bullet", Perk.Type.AMMO).bypassArmorRate(0.0f).rgb(48, 131, 6)
.mobEffect(() -> MobEffects.POISON))); .mobEffect(() -> MobEffects.POISON)));
public static final RegistryObject<AmmoPerk> BEAST_BULLET = PERKS.register("beast_bullet", public static final RegistryObject<Perk> BEAST_BULLET = PERKS.register("beast_bullet",
() -> new AmmoPerk(new AmmoPerk.Builder("beast_bullet", Perk.Type.AMMO).bypassArmorRate(0.0f).rgb(134, 65, 14))); () -> new AmmoPerk(new AmmoPerk.Builder("beast_bullet", Perk.Type.AMMO).bypassArmorRate(0.0f).rgb(134, 65, 14)));
public static final RegistryObject<Perk> HEAL_CLIP = PERKS.register("heal_clip", () -> new Perk("heal_clip", Perk.Type.FUNCTIONAL)); public static final RegistryObject<Perk> HEAL_CLIP = PERKS.register("heal_clip", () -> new Perk("heal_clip", Perk.Type.FUNCTIONAL));

View file

@ -58,7 +58,7 @@ public class ModTabs {
public static final RegistryObject<CreativeModeTab> PERK_TAB = TABS.register("perk", public static final RegistryObject<CreativeModeTab> PERK_TAB = TABS.register("perk",
() -> CreativeModeTab.builder() () -> CreativeModeTab.builder()
.title(Component.translatable("item_group.superbwarfare.perk")) .title(Component.translatable("item_group.superbwarfare.perk"))
.icon(() -> new ItemStack(ModItems.EXAMPLE_PERK.get())) .icon(() -> new ItemStack(ModItems.AP_BULLET.get()))
.withTabsBefore(GUN_TAB.getKey()) .withTabsBefore(GUN_TAB.getKey())
.displayItems((param, output) -> ModItems.PERKS.getEntries().forEach(registryObject -> output.accept(registryObject.get()))) .displayItems((param, output) -> ModItems.PERKS.getEntries().forEach(registryObject -> output.accept(registryObject.get())))
.build()); .build());

View file

@ -1,8 +0,0 @@
package net.mcreator.superbwarfare.item;
import net.minecraft.world.item.Item;
public class ExamplePerk extends Item {
public ExamplePerk() {
super(new Properties());
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "item/generated",
"textures": {
"layer0": "superbwarfare:item/perk/killing_tally"
}
}