diff --git a/src/main/java/com/simibubi/create/AllBlocks.java b/src/main/java/com/simibubi/create/AllBlocks.java index c86f57e82..0c5ef262b 100644 --- a/src/main/java/com/simibubi/create/AllBlocks.java +++ b/src/main/java/com/simibubi/create/AllBlocks.java @@ -277,10 +277,6 @@ import net.minecraftforge.common.Tags; public class AllBlocks { - static { - REGISTRATE.creativeModeTab(() -> Create.BASE_CREATIVE_TAB); - } - // Schematics static { @@ -1315,7 +1311,7 @@ public class AllBlocks { String colourName = colour.getSerializedName(); SeatMovementBehaviour movementBehaviour = new SeatMovementBehaviour(); SeatInteractionBehaviour interactionBehaviour = new SeatInteractionBehaviour(); - return REGISTRATE.block(colourName + "_seat", p -> new SeatBlock(p, colour, colour == DyeColor.RED)) + return REGISTRATE.block(colourName + "_seat", p -> new SeatBlock(p, colour)) .initialProperties(SharedProperties::wooden) .properties(p -> p.color(colour.getMaterialColor())) .transform(axeOnly()) @@ -1409,14 +1405,14 @@ public class AllBlocks { .register(); public static final BlockEntry SHADOW_STEEL_CASING = - REGISTRATE.block("shadow_steel_casing", CasingBlock::deprecated) + REGISTRATE.block("shadow_steel_casing", CasingBlock::new) .properties(p -> p.color(MaterialColor.COLOR_BLACK)) .transform(BuilderTransformers.casing(() -> AllSpriteShifts.SHADOW_STEEL_CASING)) .lang("Shadow Casing") .register(); public static final BlockEntry REFINED_RADIANCE_CASING = - REGISTRATE.block("refined_radiance_casing", CasingBlock::deprecated) + REGISTRATE.block("refined_radiance_casing", CasingBlock::new) .properties(p -> p.color(MaterialColor.SNOW)) .transform(BuilderTransformers.casing(() -> AllSpriteShifts.REFINED_RADIANCE_CASING)) .properties(p -> p.lightLevel($ -> 12)) diff --git a/src/main/java/com/simibubi/create/AllCreativeModeTabs.java b/src/main/java/com/simibubi/create/AllCreativeModeTabs.java new file mode 100644 index 000000000..dfaa6fd51 --- /dev/null +++ b/src/main/java/com/simibubi/create/AllCreativeModeTabs.java @@ -0,0 +1,315 @@ +package com.simibubi.create; + +import java.util.EnumSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.function.Function; +import java.util.function.Predicate; + +import com.simibubi.create.content.AllSections; +import com.simibubi.create.content.contraptions.components.actors.SeatBlock; +import com.simibubi.create.content.contraptions.components.crank.ValveHandleBlock; +import com.simibubi.create.content.curiosities.armor.BackTankUtil; +import com.simibubi.create.content.curiosities.toolbox.ToolboxBlock; +import com.simibubi.create.content.palettes.AllPaletteBlocks; +import com.simibubi.create.foundation.item.TagDependentIngredientItem; +import com.tterrag.registrate.util.entry.BlockEntry; +import com.tterrag.registrate.util.entry.ItemEntry; +import com.tterrag.registrate.util.entry.ItemProviderEntry; +import com.tterrag.registrate.util.entry.RegistryEntry; + +import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap; +import it.unimi.dsi.fastutil.objects.Reference2ReferenceOpenHashMap; +import it.unimi.dsi.fastutil.objects.ReferenceArrayList; +import it.unimi.dsi.fastutil.objects.ReferenceLinkedOpenHashSet; +import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.entity.ItemRenderer; +import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.registries.Registries; +import net.minecraft.network.chat.Component; +import net.minecraft.world.flag.FeatureFlagSet; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.CreativeModeTab; +import net.minecraft.world.item.CreativeModeTab.DisplayItemsGenerator; +import net.minecraft.world.item.CreativeModeTab.Output; +import net.minecraft.world.item.CreativeModeTab.TabVisibility; +import net.minecraft.world.item.DyeColor; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Items; +import net.minecraft.world.level.block.Block; +import net.minecraftforge.event.CreativeModeTabEvent; +import net.minecraftforge.eventbus.api.SubscribeEvent; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber; +import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus; + +@EventBusSubscriber(bus = Bus.MOD) +public class AllCreativeModeTabs { + private static CreativeModeTab baseTab; + private static CreativeModeTab palettesTab; + + @SubscribeEvent + public static void onCreativeModeTabRegister(CreativeModeTabEvent.Register event) { + baseTab = event.registerCreativeModeTab(Create.asResource("base"), builder -> { + builder.title(Component.translatable("itemGroup.create.base")) + .icon(() -> AllBlocks.COGWHEEL.asStack()) + .displayItems(new RegistrateDisplayItemsGenerator(EnumSet.complementOf(EnumSet.of(AllSections.PALETTES)), true)); + }); + + palettesTab = event.registerCreativeModeTab(Create.asResource("palettes"), builder -> { + builder.title(Component.translatable("itemGroup.create.palettes")) + .icon(() -> AllPaletteBlocks.ORNATE_IRON_WINDOW.asStack()) + .displayItems(new RegistrateDisplayItemsGenerator(EnumSet.of(AllSections.PALETTES), false)); + }); + } + + public static CreativeModeTab getBaseTab() { + return baseTab; + } + + public static CreativeModeTab getPalettesTab() { + return palettesTab; + } + + private static class RegistrateDisplayItemsGenerator implements DisplayItemsGenerator { + private final EnumSet sections; + private final boolean addItems; + + public RegistrateDisplayItemsGenerator(EnumSet sections, boolean addItems) { + this.sections = sections; + this.addItems = addItems; + } + private static Predicate makeExclusionPredicate() { + Set exclusions = new ReferenceOpenHashSet<>(); + + List> simpleExclusions = List.of( + AllItems.INCOMPLETE_PRECISION_MECHANISM, + AllItems.INCOMPLETE_REINFORCED_SHEET, + AllItems.INCOMPLETE_TRACK, + AllItems.CHROMATIC_COMPOUND, + AllItems.SHADOW_STEEL, + AllItems.REFINED_RADIANCE, + AllItems.COPPER_BACKTANK_PLACEABLE, + AllItems.MINECART_CONTRAPTION, + AllItems.FURNACE_MINECART_CONTRAPTION, + AllItems.CHEST_MINECART_CONTRAPTION, + AllItems.SCHEMATIC, + AllBlocks.ANDESITE_ENCASED_SHAFT, + AllBlocks.BRASS_ENCASED_SHAFT, + AllBlocks.ANDESITE_ENCASED_COGWHEEL, + AllBlocks.BRASS_ENCASED_COGWHEEL, + AllBlocks.ANDESITE_ENCASED_LARGE_COGWHEEL, + AllBlocks.BRASS_ENCASED_LARGE_COGWHEEL, + AllBlocks.MYSTERIOUS_CUCKOO_CLOCK, + AllBlocks.SHADOW_STEEL_CASING, + AllBlocks.REFINED_RADIANCE_CASING + ); + + List> tagDependentExclusions = List.of( + AllItems.CRUSHED_OSMIUM, + AllItems.CRUSHED_PLATINUM, + AllItems.CRUSHED_SILVER, + AllItems.CRUSHED_TIN, + AllItems.CRUSHED_LEAD, + AllItems.CRUSHED_QUICKSILVER, + AllItems.CRUSHED_BAUXITE, + AllItems.CRUSHED_URANIUM, + AllItems.CRUSHED_NICKEL + ); + + for (ItemProviderEntry entry : simpleExclusions) { + exclusions.add(entry.asItem()); + } + + for (ItemEntry entry : tagDependentExclusions) { + TagDependentIngredientItem item = entry.get(); + if (item.shouldHide()) { + exclusions.add(entry.asItem()); + } + } + + return exclusions::contains; + } + + private static List makeOrderings() { + List orderings = new ReferenceArrayList<>(); + + Map, ItemProviderEntry> simpleBeforeOrderings = Map.of( + AllItems.EMPTY_BLAZE_BURNER, AllBlocks.BLAZE_BURNER, + AllItems.BELT_CONNECTOR, AllBlocks.CREATIVE_MOTOR, + AllItems.SCHEDULE, AllBlocks.TRACK_STATION + ); + + Map, ItemProviderEntry> simpleAfterOrderings = Map.of( + AllItems.VERTICAL_GEARBOX, AllBlocks.GEARBOX + ); + + simpleBeforeOrderings.forEach((entry, otherEntry) -> { + orderings.add(ItemOrdering.before(entry.asItem(), otherEntry.asItem())); + }); + + simpleAfterOrderings.forEach((entry, otherEntry) -> { + orderings.add(ItemOrdering.after(entry.asItem(), otherEntry.asItem())); + }); + + return orderings; + } + + private static Function makeStackFunc() { + Map> factories = new Reference2ReferenceOpenHashMap<>(); + + Map, Function> simpleFactories = Map.of( + AllItems.COPPER_BACKTANK, item -> { + ItemStack stack = new ItemStack(item); + stack.getOrCreateTag().putInt("Air", BackTankUtil.maxAirWithoutEnchants()); + return stack; + } + ); + + simpleFactories.forEach((entry, factory) -> { + factories.put(entry.asItem(), factory); + }); + + return item -> { + Function factory = factories.get(item); + if (factory != null) { + return factory.apply(item); + } + return new ItemStack(item); + }; + } + + private static Function makeVisibilityFunc() { + Map visibilities = new Reference2ObjectOpenHashMap<>(); + + Map, TabVisibility> simpleVisibilities = Map.of( + AllItems.BLAZE_CAKE_BASE, TabVisibility.SEARCH_TAB_ONLY + ); + + simpleVisibilities.forEach((entry, factory) -> { + visibilities.put(entry.asItem(), factory); + }); + + for (BlockEntry entry : AllBlocks.DYED_VALVE_HANDLES) { + visibilities.put(entry.asItem(), TabVisibility.SEARCH_TAB_ONLY); + } + + for (BlockEntry entry : AllBlocks.SEATS) { + SeatBlock block = entry.get(); + if (block.getColor() != DyeColor.RED) { + visibilities.put(entry.asItem(), TabVisibility.SEARCH_TAB_ONLY); + } + } + + for (BlockEntry entry : AllBlocks.TOOLBOXES) { + ToolboxBlock block = entry.get(); + if (block.getColor() != DyeColor.BROWN) { + visibilities.put(entry.asItem(), TabVisibility.SEARCH_TAB_ONLY); + } + } + + return item -> { + TabVisibility visibility = visibilities.get(item); + if (visibility != null) { + return visibility; + } + return TabVisibility.PARENT_AND_SEARCH_TABS; + }; + } + + @Override + public void accept(FeatureFlagSet features, Output output, boolean isOperator) { + ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); + Predicate exclusionPredicate = makeExclusionPredicate(); + List orderings = makeOrderings(); + Function stackFunc = makeStackFunc(); + Function visibilityFunc = makeVisibilityFunc(); + + if (addItems) { + outputAll(output, collectItems(itemRenderer, true, exclusionPredicate, orderings), stackFunc, visibilityFunc); + } + + outputAll(output, collectBlocks(exclusionPredicate, orderings), stackFunc, visibilityFunc); + + if (addItems) { + outputAll(output, collectItems(itemRenderer, false, exclusionPredicate, orderings), stackFunc, visibilityFunc); + } + } + + private List collectBlocks(Predicate exclusionPredicate, List orderings) { + List items = new ReferenceArrayList<>(); + for (AllSections section : sections) { + for (RegistryEntry entry : Create.REGISTRATE.getAll(section, Registries.BLOCK)) { + Item item = entry.get().asItem(); + if (item != Items.AIR) { + if (!exclusionPredicate.test(item)) { + items.add(item); + } + } + } + } + items = new LinkedList<>(new ReferenceLinkedOpenHashSet<>(items)); + applyOrderings(items, orderings); + return items; + } + + private List collectItems(ItemRenderer itemRenderer, boolean special, Predicate exclusionPredicate, List orderings) { + List items = new LinkedList<>(); + for (AllSections section : sections) { + for (RegistryEntry entry : Create.REGISTRATE.getAll(section, Registries.ITEM)) { + Item item = entry.get(); + if (!(item instanceof BlockItem)) { + BakedModel model = itemRenderer.getModel(new ItemStack(item), null, null, 0); + if (model.isGui3d() == special) { + if (!exclusionPredicate.test(item)) { + items.add(item); + } + } + } + } + } + applyOrderings(items, orderings); + return items; + } + + private static void applyOrderings(List items, List orderings) { + for (ItemOrdering ordering : orderings) { + int anchorIndex = items.indexOf(ordering.anchor()); + if (anchorIndex != -1) { + Item item = ordering.item(); + if (items.remove(item)) { + if (ordering.type() == ItemOrdering.Type.AFTER) { + items.add(anchorIndex + 1, item); + } else { + items.add(anchorIndex, item); + } + } + } + } + } + + private static void outputAll(Output output, List items, Function stackFunc, Function visibilityFunc) { + for (Item item : items) { + output.accept(stackFunc.apply(item), visibilityFunc.apply(item)); + } + } + + private record ItemOrdering(Item item, Item anchor, Type type) { + public static ItemOrdering before(Item item, Item anchor) { + return new ItemOrdering(item, anchor, Type.BEFORE); + } + + public static ItemOrdering after(Item item, Item anchor) { + return new ItemOrdering(item, anchor, Type.AFTER); + } + + public enum Type { + BEFORE, + AFTER; + } + } + } +} diff --git a/src/main/java/com/simibubi/create/AllItems.java b/src/main/java/com/simibubi/create/AllItems.java index 63b6e3b3a..28675b261 100644 --- a/src/main/java/com/simibubi/create/AllItems.java +++ b/src/main/java/com/simibubi/create/AllItems.java @@ -58,7 +58,6 @@ import com.simibubi.create.content.schematics.item.SchematicItem; import com.simibubi.create.foundation.data.AssetLookup; import com.simibubi.create.foundation.data.CreateRegistrate; import com.simibubi.create.foundation.data.recipe.CompatMetals; -import com.simibubi.create.foundation.item.HiddenIngredientItem; import com.simibubi.create.foundation.item.TagDependentIngredientItem; import com.simibubi.create.foundation.item.TooltipHelper; import com.tterrag.registrate.util.entry.ItemEntry; @@ -72,10 +71,6 @@ import net.minecraftforge.common.Tags; public class AllItems { - static { - REGISTRATE.creativeModeTab(() -> Create.BASE_CREATIVE_TAB); - } - // Schematics static { @@ -99,8 +94,8 @@ public class AllItems { public static final ItemEntry PRECISION_MECHANISM = ingredient("precision_mechanism"); - public static final ItemEntry BLAZE_CAKE_BASE = - REGISTRATE.item("blaze_cake_base", HiddenIngredientItem::new) + public static final ItemEntry BLAZE_CAKE_BASE = + REGISTRATE.item("blaze_cake_base", Item::new) .tag(AllItemTags.UPRIGHT_ON_BELT.tag) .register(); diff --git a/src/main/java/com/simibubi/create/Create.java b/src/main/java/com/simibubi/create/Create.java index 2457f6035..44fa51d98 100644 --- a/src/main/java/com/simibubi/create/Create.java +++ b/src/main/java/com/simibubi/create/Create.java @@ -10,7 +10,6 @@ import com.mojang.logging.LogUtils; import com.simibubi.create.api.behaviour.BlockSpoutingBehaviour; import com.simibubi.create.compat.Mods; import com.simibubi.create.compat.curios.Curios; -import com.simibubi.create.content.CreateItemGroup; import com.simibubi.create.content.contraptions.TorquePropagator; import com.simibubi.create.content.contraptions.fluids.tank.BoilerHeaters; import com.simibubi.create.content.curiosities.weapons.BuiltinPotatoProjectileTypes; @@ -19,7 +18,6 @@ import com.simibubi.create.content.logistics.block.display.AllDisplayBehaviours; import com.simibubi.create.content.logistics.block.mechanicalArm.AllArmInteractionPointTypes; import com.simibubi.create.content.logistics.trains.GlobalRailwayManager; import com.simibubi.create.content.palettes.AllPaletteBlocks; -import com.simibubi.create.content.palettes.PalettesItemGroup; import com.simibubi.create.content.schematics.ServerSchematicLoader; import com.simibubi.create.content.schematics.filtering.SchematicInstances; import com.simibubi.create.foundation.advancement.AllAdvancements; @@ -46,7 +44,6 @@ import net.minecraft.data.DataGenerator; import net.minecraft.data.PackOutput; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.entity.Entity; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.level.Level; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.common.ForgeMod; @@ -79,9 +76,6 @@ public class Create { public static final CreateRegistrate REGISTRATE = CreateRegistrate.create(ID); - public static final CreativeModeTab BASE_CREATIVE_TAB = new CreateItemGroup(); - public static final CreativeModeTab PALETTES_CREATIVE_TAB = new PalettesItemGroup(); - public static final ServerSchematicLoader SCHEMATIC_RECEIVER = new ServerSchematicLoader(); public static final RedstoneLinkNetworkHandler REDSTONE_LINK_NETWORK_HANDLER = new RedstoneLinkNetworkHandler(); public static final TorquePropagator TORQUE_PROPAGATOR = new TorquePropagator(); diff --git a/src/main/java/com/simibubi/create/content/CreateItemGroup.java b/src/main/java/com/simibubi/create/content/CreateItemGroup.java deleted file mode 100644 index ed03bc689..000000000 --- a/src/main/java/com/simibubi/create/content/CreateItemGroup.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.simibubi.create.content; - -import java.util.EnumSet; - -import com.simibubi.create.AllBlocks; -import com.simibubi.create.foundation.item.CreateItemGroupBase; - -import net.minecraft.world.item.ItemStack; - -public class CreateItemGroup extends CreateItemGroupBase { - - public CreateItemGroup() { - super("base"); - } - - @Override - protected EnumSet getSections() { - return EnumSet.complementOf(EnumSet.of(AllSections.PALETTES)); - } - - @Override - public ItemStack makeIcon() { - return AllBlocks.COGWHEEL.asStack(); - } - -} diff --git a/src/main/java/com/simibubi/create/content/contraptions/base/CasingBlock.java b/src/main/java/com/simibubi/create/content/contraptions/base/CasingBlock.java index b774a12cb..8514e61f8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/base/CasingBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/base/CasingBlock.java @@ -2,35 +2,15 @@ package com.simibubi.create.content.contraptions.base; import com.simibubi.create.content.contraptions.wrench.IWrenchable; -import net.minecraft.core.NonNullList; import net.minecraft.world.InteractionResult; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; public class CasingBlock extends Block implements IWrenchable { - private boolean visible; - - public static CasingBlock deprecated(Properties p_i48440_1_) { - return new CasingBlock(p_i48440_1_, false); - } - public CasingBlock(Properties p_i48440_1_) { - this(p_i48440_1_, true); - } - - public CasingBlock(Properties p_i48440_1_, boolean visible) { super(p_i48440_1_); - this.visible = visible; - } - - @Override - public void fillItemCategory(CreativeModeTab pCategory, NonNullList pItems) { - if (visible) - super.fillItemCategory(pCategory, pItems); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/actors/SeatBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/actors/SeatBlock.java index 60e676656..a22aa3f3b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/actors/SeatBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/actors/SeatBlock.java @@ -14,7 +14,6 @@ import com.simibubi.create.foundation.utility.BlockHelper; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.NonNullList; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; @@ -23,7 +22,6 @@ import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.TamableAnimal; import net.minecraft.world.entity.monster.Shulker; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; @@ -47,12 +45,10 @@ import net.minecraft.world.phys.shapes.VoxelShape; public class SeatBlock extends Block implements ProperWaterloggedBlock { protected final DyeColor color; - protected final boolean inCreativeTab; - public SeatBlock(Properties properties, DyeColor color, boolean inCreativeTab) { + public SeatBlock(Properties properties, DyeColor color) { super(properties); this.color = color; - this.inCreativeTab = inCreativeTab; registerDefaultState(defaultBlockState().setValue(WATERLOGGED, false)); } @@ -78,13 +74,6 @@ public class SeatBlock extends Block implements ProperWaterloggedBlock { return fluidState(pState); } - @Override - public void fillItemCategory(CreativeModeTab group, NonNullList p_149666_2_) { - if (group != CreativeModeTab.TAB_SEARCH && !inCreativeTab) - return; - super.fillItemCategory(group, p_149666_2_); - } - @Override public void fallOn(Level p_152426_, BlockState p_152427_, BlockPos p_152428_, Entity p_152429_, float p_152430_) { super.fallOn(p_152426_, p_152427_, p_152428_, p_152429_, p_152430_ * 0.5F); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java index 2421f03ba..98ae27fbc 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/clock/CuckooClockBlock.java @@ -8,9 +8,6 @@ import com.simibubi.create.foundation.block.ITE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.LevelReader; @@ -43,12 +40,6 @@ public class CuckooClockBlock extends HorizontalKineticBlock implements ITE items) { - if (!mysterious) - super.fillItemCategory(group, items); - } @Override public BlockState getStateForPlacement(BlockPlaceContext context) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/crank/ValveHandleBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/crank/ValveHandleBlock.java index 9c22fa6b4..8ade00970 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/crank/ValveHandleBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/crank/ValveHandleBlock.java @@ -8,11 +8,9 @@ import com.simibubi.create.foundation.utility.BlockHelper; import com.simibubi.create.foundation.utility.Couple; import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -25,20 +23,18 @@ import net.minecraftforge.api.distmarker.OnlyIn; public class ValveHandleBlock extends HandCrankBlock { private final DyeColor color; - private final boolean inCreativeTab; public static ValveHandleBlock copper(Properties properties) { - return new ValveHandleBlock(properties, null, true); + return new ValveHandleBlock(properties, null); } public static ValveHandleBlock dyed(Properties properties, DyeColor color) { - return new ValveHandleBlock(properties, color, false); + return new ValveHandleBlock(properties, color); } - private ValveHandleBlock(Properties properties, DyeColor color, boolean inCreativeTab) { + private ValveHandleBlock(Properties properties, DyeColor color) { super(properties); this.color = color; - this.inCreativeTab = inCreativeTab; } @Override @@ -57,13 +53,6 @@ public class ValveHandleBlock extends HandCrankBlock { return super.use(state, world, pos, player, hand, hit); } - @Override - public void fillItemCategory(CreativeModeTab group, NonNullList p_149666_2_) { - if (group != CreativeModeTab.TAB_SEARCH && !inCreativeTab) - return; - super.fillItemCategory(group, p_149666_2_); - } - @Override @OnlyIn(Dist.CLIENT) public PartialModel getRenderedHandle() { diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionBlockChangedPacket.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionBlockChangedPacket.java index b66d4a2c9..2302fb687 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionBlockChangedPacket.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/ContraptionBlockChangedPacket.java @@ -5,6 +5,7 @@ import java.util.function.Supplier; import com.simibubi.create.foundation.networking.SimplePacketBase; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.NbtUtils; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.world.level.block.state.BlockState; @@ -31,10 +32,11 @@ public class ContraptionBlockChangedPacket extends SimplePacketBase { buffer.writeNbt(NbtUtils.writeBlockState(newState)); } + @SuppressWarnings("deprecation") public ContraptionBlockChangedPacket(FriendlyByteBuf buffer) { entityID = buffer.readInt(); localPos = buffer.readBlockPos(); - newState = NbtUtils.readBlockState(buffer.readNbt()); + newState = NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), buffer.readNbt()); } @Override diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/SailBlock.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/SailBlock.java index 2a2189a00..6df9cb027 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/SailBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/bearing/SailBlock.java @@ -20,7 +20,6 @@ import com.simibubi.create.foundation.utility.placement.PlacementOffset; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.NonNullList; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; @@ -29,7 +28,6 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ShearsItem; @@ -66,13 +64,6 @@ public class SailBlock extends WrenchableDirectionalBlock { this.color = color; } - @Override - public void fillItemCategory(CreativeModeTab tab, NonNullList items) { - if (frame || color == DyeColor.WHITE) { - super.fillItemCategory(tab, items); - } - } - @Override public BlockState getStateForPlacement(BlockPlaceContext context) { BlockState state = super.getStateForPlacement(context); diff --git a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java index a2ffe0b47..add4360e8 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/components/structureMovement/mounted/MinecartContraptionItem.java @@ -4,10 +4,6 @@ import java.util.List; import javax.annotation.Nullable; -import com.simibubi.create.foundation.utility.ContraptionData; - -import net.minecraft.network.chat.MutableComponent; - import org.apache.commons.lang3.tuple.MutablePair; import com.simibubi.create.AllItems; @@ -21,6 +17,7 @@ import com.simibubi.create.content.contraptions.components.structureMovement.Ori import com.simibubi.create.foundation.advancement.AllAdvancements; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.config.ContraptionMovementSetting; +import com.simibubi.create.foundation.utility.ContraptionData; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.NBTHelper; @@ -28,17 +25,16 @@ import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.BlockSource; import net.minecraft.core.Direction; -import net.minecraft.core.NonNullList; import net.minecraft.core.dispenser.DefaultDispenseItemBehavior; import net.minecraft.core.dispenser.DispenseItemBehavior; import net.minecraft.nbt.CompoundTag; +import net.minecraft.network.chat.MutableComponent; import net.minecraft.tags.BlockTags; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.vehicle.AbstractMinecart; import net.minecraft.world.entity.vehicle.AbstractMinecart.Type; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; @@ -197,9 +193,6 @@ public class MinecartContraptionItem extends Item { return "item.create.minecart_contraption"; } - @Override - public void fillItemCategory(CreativeModeTab group, NonNullList items) {} - @SubscribeEvent public static void wrenchCanBeUsedToPickUpMinecartContraptions(PlayerInteractEvent.EntityInteract event) { Entity entity = event.getTarget(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/itemAssembly/SequencedAssemblyItem.java b/src/main/java/com/simibubi/create/content/contraptions/itemAssembly/SequencedAssemblyItem.java index 4240b612c..d76a127e1 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/itemAssembly/SequencedAssemblyItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/itemAssembly/SequencedAssemblyItem.java @@ -2,9 +2,7 @@ package com.simibubi.create.content.contraptions.itemAssembly; import com.simibubi.create.foundation.utility.Color; -import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -24,9 +22,6 @@ public class SequencedAssemblyItem extends Item { .getFloat("Progress"); } - @Override - public void fillItemCategory(CreativeModeTab p_150895_1_, NonNullList p_150895_2_) {} - @Override public boolean isBarVisible(ItemStack stack) { return true; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java index 8bd1ad98d..dc076742c 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlock.java @@ -17,7 +17,6 @@ import com.simibubi.create.foundation.utility.Lang; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.advancements.critereon.StatePropertiesPredicate; import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; import net.minecraft.util.StringRepresentable; @@ -25,7 +24,6 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.FlintAndSteelItem; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -83,12 +81,6 @@ public class BlazeBurnerBlock extends HorizontalDirectionalBlock implements ITE< basin.notifyChangeOfContents(); } - @Override - public void fillItemCategory(CreativeModeTab group, NonNullList list) { - list.add(AllItems.EMPTY_BLAZE_BURNER.asStack()); - super.fillItemCategory(group, list); - } - @Override public Class getTileEntityClass() { return BlazeBurnerTileEntity.class; diff --git a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java index 277ff6a8d..4314202fb 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/processing/burner/BlazeBurnerBlockItem.java @@ -12,7 +12,6 @@ import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.MethodsReturnNonnullByDefault; import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; @@ -25,7 +24,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.monster.Blaze; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; @@ -63,13 +61,6 @@ public class BlazeBurnerBlockItem extends BlockItem { this.capturedBlaze = capturedBlaze; } - @Override - public void fillItemCategory(CreativeModeTab p_150895_1_, NonNullList p_150895_2_) { - if (!hasCapturedBlaze()) - return; - super.fillItemCategory(p_150895_1_, p_150895_2_); - } - @Override public String getDescriptionId() { return hasCapturedBlaze() ? super.getDescriptionId() : "item.create." + RegisteredObjects.getKeyOrThrow(this).getPath(); diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java index ef3b4cee1..19302dc73 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/BeltBlock.java @@ -37,7 +37,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; -import net.minecraft.core.NonNullList; import net.minecraft.server.level.ServerLevel; import net.minecraft.sounds.SoundEvents; import net.minecraft.sounds.SoundSource; @@ -47,7 +46,6 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Mob; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; @@ -103,11 +101,6 @@ public class BeltBlock extends HorizontalKineticBlock implements ITE p_149666_2_) { - p_149666_2_.add(AllItems.BELT_CONNECTOR.asStack()); - } - @Override protected boolean areStatesKineticallyEquivalent(BlockState oldState, BlockState newState) { return super.areStatesKineticallyEquivalent(oldState, newState) diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java index ac3f3edb4..8043bdf8b 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/belt/item/BeltConnectorItem.java @@ -6,7 +6,6 @@ import java.util.List; import javax.annotation.Nonnull; import com.simibubi.create.AllBlocks; -import com.simibubi.create.Create; import com.simibubi.create.content.contraptions.base.KineticTileEntity; import com.simibubi.create.content.contraptions.relays.belt.BeltBlock; import com.simibubi.create.content.contraptions.relays.belt.BeltPart; @@ -21,7 +20,6 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; -import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.sounds.SoundEvents; @@ -29,8 +27,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; @@ -48,13 +44,6 @@ public class BeltConnectorItem extends BlockItem { return getOrCreateDescriptionId(); } - @Override - public void fillItemCategory(CreativeModeTab p_150895_1_, NonNullList p_150895_2_) { - if (p_150895_1_ == Create.BASE_CREATIVE_TAB) - return; - super.fillItemCategory(p_150895_1_, p_150895_2_); - } - @Nonnull @Override public InteractionResult useOn(UseOnContext context) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java index 5688bd0b7..37fd725fa 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedCogwheelBlock.java @@ -21,10 +21,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; import net.minecraft.core.Direction.AxisDirection; -import net.minecraft.core.NonNullList; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.item.context.UseOnContext; @@ -72,9 +70,6 @@ public class EncasedCogwheelBlock extends RotatedPillarKineticBlock super.createBlockStateDefinition(builder.add(TOP_SHAFT, BOTTOM_SHAFT)); } - @Override - public void fillItemCategory(CreativeModeTab pTab, NonNullList pItems) {} - @Override public ItemStack getCloneItemStack(BlockState state, HitResult target, BlockGetter world, BlockPos pos, Player player) { if (target instanceof BlockHitResult) diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java index 8552663dc..9069638a9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/encased/EncasedShaftBlock.java @@ -10,10 +10,8 @@ import com.simibubi.create.foundation.block.ITE; import com.tterrag.registrate.util.entry.BlockEntry; import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.BlockGetter; @@ -46,9 +44,6 @@ public class EncasedShaftBlock extends AbstractEncasedShaftBlock return casing; } - @Override - public void fillItemCategory(CreativeModeTab pTab, NonNullList pItems) {} - @Override public InteractionResult onSneakWrenched(BlockState state, UseOnContext context) { if (context.getLevel().isClientSide) diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java index c27808a41..bf7dcd4c9 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/GearboxBlock.java @@ -11,9 +11,7 @@ import com.simibubi.create.foundation.block.ITE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; -import net.minecraft.core.NonNullList; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; @@ -35,12 +33,6 @@ public class GearboxBlock extends RotatedPillarKineticBlock implements ITE items) { - super.fillItemCategory(group, items); - items.add(AllItems.VERTICAL_GEARBOX.asStack()); - } - @SuppressWarnings("deprecation") @Override public List getDrops(BlockState state, Builder builder) { diff --git a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/VerticalGearboxItem.java b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/VerticalGearboxItem.java index 5b5a4761a..3f5a07b01 100644 --- a/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/VerticalGearboxItem.java +++ b/src/main/java/com/simibubi/create/content/contraptions/relays/gearbox/VerticalGearboxItem.java @@ -9,10 +9,8 @@ import com.simibubi.create.foundation.utility.Iterate; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; -import net.minecraft.core.NonNullList; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -25,10 +23,6 @@ public class VerticalGearboxItem extends BlockItem { public VerticalGearboxItem(Properties builder) { super(AllBlocks.GEARBOX.get(), builder); } - - @Override - public void fillItemCategory(CreativeModeTab p_150895_1_, NonNullList p_150895_2_) { - } @Override public String getDescriptionId() { diff --git a/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java b/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java index 633ade1e8..33f0b0934 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/ChromaticCompoundItem.java @@ -14,14 +14,12 @@ import com.simibubi.create.foundation.utility.VecHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.NonNullList; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.Mth; import net.minecraft.util.RandomSource; import net.minecraft.world.entity.item.ItemEntity; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.ClipContext; @@ -46,9 +44,6 @@ public class ChromaticCompoundItem extends Item { .getInt("CollectingLight"); } - @Override - public void fillItemCategory(CreativeModeTab pCategory, NonNullList pItems) {} - @Override public boolean isBarVisible(ItemStack stack) { return getLight(stack) > 0; diff --git a/src/main/java/com/simibubi/create/content/curiosities/NoGravMagicalDohickyItem.java b/src/main/java/com/simibubi/create/content/curiosities/NoGravMagicalDohickyItem.java index 4d314d720..66939bb34 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/NoGravMagicalDohickyItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/NoGravMagicalDohickyItem.java @@ -2,12 +2,10 @@ package com.simibubi.create.content.curiosities; import com.simibubi.create.foundation.utility.VecHelper; -import net.minecraft.core.NonNullList; import net.minecraft.core.particles.ParticleTypes; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.Mth; import net.minecraft.world.entity.item.ItemEntity; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -19,9 +17,6 @@ public class NoGravMagicalDohickyItem extends Item { super(p_i48487_1_); } - @Override - public void fillItemCategory(CreativeModeTab pCategory, NonNullList pItems) {} - @Override public boolean onEntityItemUpdate(ItemStack stack, ItemEntity entity) { Level world = entity.level; diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankBlock.java b/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankBlock.java index 3b2396c0f..f84513345 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankBlock.java @@ -12,7 +12,6 @@ import com.simibubi.create.foundation.block.ITE; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.Direction.Axis; -import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.network.chat.Component; @@ -24,7 +23,6 @@ import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.BlockGetter; @@ -65,9 +63,6 @@ public class CopperBacktankBlock extends HorizontalKineticBlock super.createBlockStateDefinition(builder); } - @Override - public void fillItemCategory(CreativeModeTab pTab, NonNullList pItems) {} - @Override public boolean hasAnalogOutputSignal(BlockState p_149740_1_) { return true; diff --git a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankItem.java b/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankItem.java index c68da8d14..9fb95d3ae 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/armor/CopperBacktankItem.java @@ -3,13 +3,11 @@ package com.simibubi.create.content.curiosities.armor; import com.simibubi.create.content.curiosities.armor.CapacityEnchantment.ICapacityEnchantable; import com.tterrag.registrate.util.entry.ItemEntry; -import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.util.Mth; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.block.Block; @@ -40,18 +38,6 @@ public class CopperBacktankItem extends CopperArmorItem implements ICapacityEnch return true; } - @Override - public void fillItemCategory(CreativeModeTab p_150895_1_, NonNullList p_150895_2_) { - if (!allowedIn(p_150895_1_)) - return; - - ItemStack stack = new ItemStack(this); - CompoundTag nbt = new CompoundTag(); - nbt.putInt("Air", BackTankUtil.maxAirWithoutEnchants()); - stack.setTag(nbt); - p_150895_2_.add(stack); - } - @Override public boolean isBarVisible(ItemStack stack) { return true; @@ -78,9 +64,6 @@ public class CopperBacktankItem extends CopperArmorItem implements ICapacityEnch super(pBlock, pProperties); } - @Override - public void fillItemCategory(CreativeModeTab pGroup, NonNullList pItems) {} - @Override public String getDescriptionId() { return this.getOrCreateDescriptionId(); diff --git a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java index bfc16a6f7..aeedc3968 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java +++ b/src/main/java/com/simibubi/create/content/curiosities/toolbox/ToolboxBlock.java @@ -12,7 +12,6 @@ import com.simibubi.create.foundation.utility.BlockHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; @@ -20,7 +19,6 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; @@ -53,13 +51,6 @@ public class ToolboxBlock extends HorizontalDirectionalBlock implements SimpleWa registerDefaultState(defaultBlockState().setValue(BlockStateProperties.WATERLOGGED, false)); } - @Override - public void fillItemCategory(CreativeModeTab group, NonNullList p_149666_2_) { - if (group != CreativeModeTab.TAB_SEARCH && color != DyeColor.BROWN) - return; - super.fillItemCategory(group, p_149666_2_); - } - @Override public FluidState getFluidState(BlockState state) { return state.getValue(WATERLOGGED) ? Fluids.WATER.getSource(false) : Fluids.EMPTY.defaultFluidState(); diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java index 48dc71e48..b4be3cb80 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperInteractionHandler.java @@ -7,6 +7,7 @@ import com.simibubi.create.AllTags.AllBlockTags; import com.simibubi.create.foundation.utility.BlockHelper; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.world.InteractionResult; @@ -87,7 +88,7 @@ public class ZapperInteractionHandler { data.remove("id"); } CompoundTag tag = stack.getOrCreateTag(); - if (tag.contains("BlockUsed") && NbtUtils.readBlockState(stack.getTag() + if (tag.contains("BlockUsed") && NbtUtils.readBlockState(player.level.holderLookup(Registries.BLOCK), stack.getTag() .getCompound("BlockUsed")) == newState && Objects.equals(data, tag.get("BlockData"))) { return false; } diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java index 5ff46435a..5f017ae9b 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItem.java @@ -20,6 +20,7 @@ import net.minecraft.ChatFormatting; import net.minecraft.client.model.HumanoidModel.ArmPose; import net.minecraft.client.player.AbstractClientPlayer; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; @@ -71,6 +72,7 @@ public abstract class ZapperItem extends Item implements CustomArmPoseItem { } } + @SuppressWarnings("deprecation") @Override public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) { boolean differentBlock = false; @@ -78,8 +80,8 @@ public abstract class ZapperItem extends Item implements CustomArmPoseItem { .contains("BlockUsed") && newStack.getTag() .contains("BlockUsed")) - differentBlock = NbtUtils.readBlockState(oldStack.getTag() - .getCompound("BlockUsed")) != NbtUtils.readBlockState( + differentBlock = NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), oldStack.getTag() + .getCompound("BlockUsed")) != NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), newStack.getTag() .getCompound("BlockUsed")); return slotChanged || !isZapper(newStack) || differentBlock; diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItemRenderer.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItemRenderer.java index 51bb9fd42..9f8a1f475 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItemRenderer.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperItemRenderer.java @@ -10,6 +10,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.block.model.ItemTransforms.TransformType; import net.minecraft.client.resources.model.BakedModel; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.NbtUtils; import net.minecraft.util.Mth; import net.minecraft.world.item.ItemStack; @@ -27,8 +28,9 @@ public abstract class ZapperItemRenderer exte renderBlockUsed(stack, ms, buffer, light, overlay); } + @SuppressWarnings("deprecation") private void renderBlockUsed(ItemStack stack, PoseStack ms, MultiBufferSource buffer, int light, int overlay) { - BlockState state = NbtUtils.readBlockState(stack.getTag() + BlockState state = NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), stack.getTag() .getCompound("BlockUsed")); ms.pushPose(); diff --git a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java index 3be226575..ff13166c9 100644 --- a/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java +++ b/src/main/java/com/simibubi/create/content/curiosities/zapper/ZapperScreen.java @@ -14,6 +14,7 @@ import com.simibubi.create.foundation.utility.Components; import com.simibubi.create.foundation.utility.Lang; import com.simibubi.create.foundation.utility.NBTHelper; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.network.chat.Component; @@ -127,6 +128,7 @@ public abstract class ZapperScreen extends AbstractSimiScreen { .render(ms); } + @SuppressWarnings("deprecation") protected void renderBlock(PoseStack ms, int x, int y) { ms.pushPose(); ms.translate(x + 32, y + 42, 120); @@ -137,7 +139,7 @@ public abstract class ZapperScreen extends AbstractSimiScreen { BlockState state = Blocks.AIR.defaultBlockState(); if (zapper.hasTag() && zapper.getTag() .contains("BlockUsed")) - state = NbtUtils.readBlockState(zapper.getTag() + state = NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), zapper.getTag() .getCompound("BlockUsed")); GuiGameElement.of(state) diff --git a/src/main/java/com/simibubi/create/content/logistics/item/filter/ItemAttribute.java b/src/main/java/com/simibubi/create/content/logistics/item/filter/ItemAttribute.java index be6b26340..e46660686 100644 --- a/src/main/java/com/simibubi/create/content/logistics/item/filter/ItemAttribute.java +++ b/src/main/java/com/simibubi/create/content/logistics/item/filter/ItemAttribute.java @@ -35,7 +35,6 @@ import net.minecraft.world.Container; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Recipe; @@ -59,8 +58,7 @@ public interface ItemAttribute { static ItemAttribute standard = register(StandardTraits.DUMMY); static ItemAttribute inTag = register(new InTag(ItemTags.LOGS)); - static ItemAttribute inItemGroup = register(new InItemGroup(CreativeModeTab.TAB_MISC)); - static ItemAttribute addedBy = register(new InItemGroup.AddedBy("dummy")); + static ItemAttribute addedBy = register(new AddedBy("dummy")); static ItemAttribute hasEnchant = register(EnchantAttribute.EMPTY); static ItemAttribute shulkerFillLevel = register(ShulkerFillLevelAttribute.EMPTY); static ItemAttribute hasColor = register(ColorAttribute.EMPTY); @@ -273,56 +271,6 @@ public interface ItemAttribute { } - public static class InItemGroup implements ItemAttribute { - - private CreativeModeTab group; - - public InItemGroup(CreativeModeTab group) { - this.group = group; - } - - @Override - public boolean appliesTo(ItemStack stack) { - Item item = stack.getItem(); - return item.getItemCategory() == group; - } - - @Override - public List listAttributesOf(ItemStack stack) { - CreativeModeTab group = stack.getItem() - .getItemCategory(); - return group == null ? Collections.emptyList() : Arrays.asList(new InItemGroup(group)); - } - - @Override - public String getTranslationKey() { - return "in_item_group"; - } - - @Override - @OnlyIn(value = Dist.CLIENT) - public MutableComponent format(boolean inverted) { - return Lang.translateDirect("item_attributes." + getTranslationKey() + (inverted ? ".inverted" : ""), - group.getDisplayName()); - } - - @Override - public void writeNBT(CompoundTag nbt) { - nbt.putString("path", group.getRecipeFolderName()); - } - - @Override - public ItemAttribute readNBT(CompoundTag nbt) { - String readPath = nbt.getString("path"); - for (CreativeModeTab group : CreativeModeTab.TABS) - if (group.getRecipeFolderName() - .equals(readPath)) - return new InItemGroup(group); - return null; - } - - } - public static class AddedBy implements ItemAttribute { private String modId; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/entity/Carriage.java b/src/main/java/com/simibubi/create/content/logistics/trains/entity/Carriage.java index d4e530695..12d25eea7 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/entity/Carriage.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/entity/Carriage.java @@ -16,8 +16,6 @@ import java.util.function.Function; import javax.annotation.Nullable; -import net.minecraft.server.MinecraftServer; - import org.apache.commons.lang3.mutable.MutableDouble; import com.simibubi.create.content.contraptions.components.structureMovement.Contraption; @@ -37,6 +35,7 @@ import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceKey; +import net.minecraft.server.MinecraftServer; import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java index 482e2112d..de0473e11 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/edgePoint/station/StationBlock.java @@ -14,13 +14,11 @@ import com.simibubi.create.foundation.gui.ScreenOpener; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; -import net.minecraft.core.NonNullList; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.Items; import net.minecraft.world.item.MapItem; @@ -92,12 +90,6 @@ public class StationBlock extends Block implements ITE, IWren .orElse(0); } - @Override - public void fillItemCategory(CreativeModeTab pTab, NonNullList pItems) { - pItems.add(AllItems.SCHEDULE.asStack()); - super.fillItemCategory(pTab, pItems); - } - @Override public void onRemove(BlockState state, Level worldIn, BlockPos pos, BlockState newState, boolean isMoving) { ITE.onRemove(state, worldIn, pos, newState); diff --git a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleItem.java b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleItem.java index 079cee6c2..0b89df6b3 100644 --- a/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleItem.java +++ b/src/main/java/com/simibubi/create/content/logistics/trains/management/schedule/ScheduleItem.java @@ -16,7 +16,6 @@ import com.simibubi.create.foundation.utility.Lang; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; -import net.minecraft.core.NonNullList; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.MutableComponent; import net.minecraft.server.level.ServerPlayer; @@ -29,7 +28,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.player.Inventory; import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -169,7 +167,4 @@ public class ScheduleItem extends Item implements MenuProvider { return getDescription(); } - @Override - public void fillItemCategory(CreativeModeTab pCategory, NonNullList pItems) {} - } diff --git a/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java b/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java index 8636d1cce..0e3286466 100644 --- a/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java +++ b/src/main/java/com/simibubi/create/content/palettes/AllPaletteBlocks.java @@ -33,7 +33,6 @@ public class AllPaletteBlocks { static { REGISTRATE - .creativeModeTab(() -> Create.PALETTES_CREATIVE_TAB) .startSection(AllSections.PALETTES); } diff --git a/src/main/java/com/simibubi/create/content/palettes/PalettesItemGroup.java b/src/main/java/com/simibubi/create/content/palettes/PalettesItemGroup.java deleted file mode 100644 index 980ca176d..000000000 --- a/src/main/java/com/simibubi/create/content/palettes/PalettesItemGroup.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.simibubi.create.content.palettes; - -import java.util.EnumSet; - -import com.simibubi.create.content.AllSections; -import com.simibubi.create.foundation.item.CreateItemGroupBase; - -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.ItemStack; - -public class PalettesItemGroup extends CreateItemGroupBase { - - public PalettesItemGroup() { - super("palettes"); - } - - @Override - protected EnumSet getSections() { - return EnumSet.of(AllSections.PALETTES); - } - - @Override - public void addItems(NonNullList items, boolean specialItems) {} - - @Override - public ItemStack makeIcon() { - return new ItemStack(AllPaletteBlocks.ORNATE_IRON_WINDOW.get()); - } - -} diff --git a/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java b/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java index cc4167c3a..399056507 100644 --- a/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java +++ b/src/main/java/com/simibubi/create/content/schematics/SchematicChunkSource.java @@ -96,16 +96,19 @@ public class SchematicChunkSource extends ChunkSource { public static class EmptierChunk extends LevelChunk { private static final class DummyLevel extends Level { - private RegistryAccess access; + private final RegistryAccess access; private DummyLevel(WritableLevelData p_46450_, ResourceKey p_46451_, Holder p_46452_, - Supplier p_46453_, boolean p_46454_, boolean p_46455_, long p_46456_, int p_220359_) { + Supplier p_46453_, boolean p_46454_, boolean p_46455_, long p_46456_, int p_220359_, + RegistryAccess access) { super(p_46450_, p_46451_, p_46452_, p_46453_, p_46454_, p_46455_, p_46456_, p_220359_); + this.access = access; } - public Level withAccess(RegistryAccess access) { - this.access = access; - return this; + private DummyLevel(RegistryAccess access) { + this(null, null, access + .registryOrThrow(Registries.DIMENSION_TYPE) + .getHolderOrThrow(BuiltinDimensionTypes.OVERWORLD), null, false, false, 0, 0, access); } @Override @@ -214,7 +217,7 @@ public class SchematicChunkSource extends ChunkSource { @Override public FeatureFlagSet enabledFeatures() { - return null; + return FeatureFlagSet.of(); } @Override @@ -222,12 +225,8 @@ public class SchematicChunkSource extends ChunkSource { SoundSource pSource, float pVolume, float pPitch, long pSeed) {} } - private static final DummyLevel DUMMY_LEVEL = new DummyLevel(null, null, RegistryAccess.BUILTIN.get() - .registryOrThrow(Registries.DIMENSION_TYPE) - .getHolderOrThrow(BuiltinDimensionTypes.OVERWORLD), null, false, false, 0, 0); - public EmptierChunk(RegistryAccess registryAccess) { - super(DUMMY_LEVEL.withAccess(registryAccess), null); + super(new DummyLevel(registryAccess), null); } public BlockState getBlockState(BlockPos p_180495_1_) { diff --git a/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java b/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java index e26932680..801e06238 100644 --- a/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java +++ b/src/main/java/com/simibubi/create/content/schematics/ServerSchematicLoader.java @@ -26,6 +26,7 @@ import com.simibubi.create.foundation.utility.FilesHelper; import com.simibubi.create.foundation.utility.Lang; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.Registries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtIo; import net.minecraft.server.level.ServerPlayer; @@ -271,7 +272,7 @@ public class ServerSchematicLoader { if (table == null) return; table.finishUpload(); - table.inventory.setStackInSlot(1, SchematicItem.create(schematic, player.getGameProfile() + table.inventory.setStackInSlot(1, SchematicItem.create(world.holderLookup(Registries.BLOCK), schematic, player.getGameProfile() .getName())); } catch (IOException e) { @@ -337,7 +338,7 @@ public class ServerSchematicLoader { SchematicAndQuillItem.replaceStructureVoidWithAir(nbttagcompound); SchematicAndQuillItem.clampGlueBoxes(world, new AABB(pos, pos.offset(bounds)), nbttagcompound); NbtIo.writeCompressed(nbttagcompound, outputStream); - player.setItemInHand(InteractionHand.MAIN_HAND, SchematicItem.create(schematic, player.getGameProfile() + player.setItemInHand(InteractionHand.MAIN_HAND, SchematicItem.create(world.holderLookup(Registries.BLOCK), schematic, player.getGameProfile() .getName())); } catch (IOException e) { diff --git a/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java b/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java index 3990f5794..57e3a7e24 100644 --- a/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java +++ b/src/main/java/com/simibubi/create/content/schematics/block/LaunchedItem.java @@ -12,6 +12,7 @@ import com.simibubi.create.foundation.utility.BlockHelper; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction.Axis; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.nbt.Tag; @@ -108,10 +109,11 @@ public abstract class LaunchedItem { return serializeNBT; } + @SuppressWarnings("deprecation") @Override void readNBT(CompoundTag nbt) { super.readNBT(nbt); - state = NbtUtils.readBlockState(nbt.getCompound("BlockState")); + state = NbtUtils.readBlockState(BuiltInRegistries.BLOCK.asLookup(), nbt.getCompound("BlockState")); if (nbt.contains("Data", Tag.TAG_COMPOUND)) { data = nbt.getCompound("Data"); } diff --git a/src/main/java/com/simibubi/create/content/schematics/item/SchematicItem.java b/src/main/java/com/simibubi/create/content/schematics/item/SchematicItem.java index b4fccb71e..7cb9e745c 100644 --- a/src/main/java/com/simibubi/create/content/schematics/item/SchematicItem.java +++ b/src/main/java/com/simibubi/create/content/schematics/item/SchematicItem.java @@ -27,7 +27,6 @@ import com.simibubi.create.foundation.utility.NBTHelper; import net.minecraft.ChatFormatting; import net.minecraft.core.BlockPos; import net.minecraft.core.HolderGetter; -import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtAccounter; import net.minecraft.nbt.NbtIo; @@ -37,7 +36,6 @@ import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -77,9 +75,6 @@ public class SchematicItem extends Item { return blueprint; } - @Override - public void fillItemCategory(CreativeModeTab group, NonNullList items) {} - @Override @OnlyIn(value = Dist.CLIENT) public void appendHoverText(ItemStack stack, Level worldIn, List tooltip, TooltipFlag flagIn) { diff --git a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java index 6b38ff604..d4ae912d3 100644 --- a/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java +++ b/src/main/java/com/simibubi/create/foundation/advancement/AllAdvancements.java @@ -638,7 +638,7 @@ public class AllAdvancements implements DataProvider { for (CreateAdvancement advancement : ENTRIES) advancement.save(consumer); - return CompletableFuture.allOf(futures.toArray((entry) -> new CompletableFuture[entry])); + return CompletableFuture.allOf(futures.toArray(CompletableFuture[]::new)); } @Override diff --git a/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java b/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java index d866c3dd8..fc57d763f 100644 --- a/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java +++ b/src/main/java/com/simibubi/create/foundation/data/recipe/ProcessingRecipeGen.java @@ -54,7 +54,7 @@ public abstract class ProcessingRecipeGen extends CreateRecipeProvider { public CompletableFuture run(CachedOutput dc) { return CompletableFuture.allOf(GENERATORS.stream() .map(gen -> gen.run(dc)) - .toArray(size -> new CompletableFuture[size])); + .toArray(CompletableFuture[]::new)); } }); } diff --git a/src/main/java/com/simibubi/create/foundation/item/CreateItemGroupBase.java b/src/main/java/com/simibubi/create/foundation/item/CreateItemGroupBase.java deleted file mode 100644 index dcf9dcf64..000000000 --- a/src/main/java/com/simibubi/create/foundation/item/CreateItemGroupBase.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.simibubi.create.foundation.item; - -import java.util.Collection; -import java.util.EnumSet; -import java.util.stream.Collectors; - -import com.simibubi.create.Create; -import com.simibubi.create.content.AllSections; -import com.tterrag.registrate.util.entry.RegistryEntry; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.entity.ItemRenderer; -import net.minecraft.client.resources.model.BakedModel; -import net.minecraft.core.NonNullList; -import net.minecraft.core.registries.Registries; -import net.minecraft.world.item.BlockItem; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; -import net.minecraft.world.level.block.Block; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; - -public abstract class CreateItemGroupBase extends CreativeModeTab { - - public CreateItemGroupBase(String id) { - super(Create.ID + "." + id); - } - - @Override - @OnlyIn(Dist.CLIENT) - public void fillItemList(NonNullList items) { - addItems(items, true); - addBlocks(items); - addItems(items, false); - } - - @OnlyIn(Dist.CLIENT) - public void addBlocks(NonNullList items) { - for (RegistryEntry entry : getBlocks()) { - Block def = entry.get(); - Item item = def.asItem(); - if (item != Items.AIR) - def.fillItemCategory(this, items); - } - } - - @OnlyIn(Dist.CLIENT) - public void addItems(NonNullList items, boolean specialItems) { - ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer(); - - for (RegistryEntry entry : getItems()) { - Item item = entry.get(); - if (item instanceof BlockItem) - continue; - ItemStack stack = new ItemStack(item); - BakedModel model = itemRenderer.getModel(stack, null, null, 0); - if (model.isGui3d() != specialItems) - continue; - item.fillItemCategory(this, items); - } - } - - protected Collection> getBlocks() { - return getSections().stream() - .flatMap(s -> Create.REGISTRATE - .getAll(s, Registries.BLOCK) - .stream()) - .collect(Collectors.toList()); - } - - protected Collection> getItems() { - return getSections().stream() - .flatMap(s -> Create.REGISTRATE - .getAll(s, Registries.ITEM) - .stream()) - .collect(Collectors.toList()); - } - - protected EnumSet getSections() { - return EnumSet.allOf(AllSections.class); - } -} diff --git a/src/main/java/com/simibubi/create/foundation/item/HiddenIngredientItem.java b/src/main/java/com/simibubi/create/foundation/item/HiddenIngredientItem.java deleted file mode 100644 index 51cc21032..000000000 --- a/src/main/java/com/simibubi/create/foundation/item/HiddenIngredientItem.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.simibubi.create.foundation.item; - -import net.minecraft.core.NonNullList; -import net.minecraft.world.item.CreativeModeTab; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; - -public class HiddenIngredientItem extends Item { - - public HiddenIngredientItem(Properties p_i48487_1_) { - super(p_i48487_1_); - } - - @Override - public void fillItemCategory(CreativeModeTab p_150895_1_, NonNullList p_150895_2_) { - if (p_150895_1_ != CreativeModeTab.TAB_SEARCH) - return; - super.fillItemCategory(p_150895_1_, p_150895_2_); - } - -} diff --git a/src/main/java/com/simibubi/create/foundation/item/TagDependentIngredientItem.java b/src/main/java/com/simibubi/create/foundation/item/TagDependentIngredientItem.java index b7fbc2115..aeac414d6 100644 --- a/src/main/java/com/simibubi/create/foundation/item/TagDependentIngredientItem.java +++ b/src/main/java/com/simibubi/create/foundation/item/TagDependentIngredientItem.java @@ -1,10 +1,7 @@ package com.simibubi.create.foundation.item; -import net.minecraft.core.NonNullList; import net.minecraft.tags.TagKey; -import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; import net.minecraftforge.registries.ForgeRegistries; import net.minecraftforge.registries.tags.ITagManager; @@ -17,12 +14,6 @@ public class TagDependentIngredientItem extends Item { this.tag = tag; } - @Override - public void fillItemCategory(CreativeModeTab tab, NonNullList list) { - if (!shouldHide()) - super.fillItemCategory(tab, list); - } - public boolean shouldHide() { ITagManager tagManager = ForgeRegistries.ITEMS.tags(); return !tagManager.isKnownTagName(tag) || tagManager.getTag(tag).isEmpty();