Fix CreativeTab ordering and erronous adding to all item groups for some items.
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
package appeng.core;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IBlocks;
|
||||
import appeng.api.definitions.IDefinitions;
|
||||
import appeng.api.definitions.IItemDefinition;
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.NonNullList;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AEItemGroup extends ItemGroup {
|
||||
|
||||
private final List<IItemDefinition> itemDefs = new ArrayList<>();
|
||||
|
||||
public AEItemGroup(String label) {
|
||||
super(label);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack createIcon() {
|
||||
final IDefinitions definitions = AEApi.instance().definitions();
|
||||
final IBlocks blocks = definitions.blocks();
|
||||
return blocks.controller().stack(1);
|
||||
}
|
||||
|
||||
public void add(IItemDefinition itemDef) {
|
||||
this.itemDefs.add(itemDef);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fill(NonNullList<ItemStack> items) {
|
||||
for (IItemDefinition itemDef : this.itemDefs) {
|
||||
itemDef.item().fillItemGroup(this, items);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -19,31 +19,13 @@
|
||||
package appeng.core;
|
||||
|
||||
|
||||
import net.minecraft.item.ItemGroup;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import appeng.api.AEApi;
|
||||
import appeng.api.definitions.IBlocks;
|
||||
import appeng.api.definitions.IDefinitions;
|
||||
|
||||
|
||||
public final class CreativeTab
|
||||
{
|
||||
public static ItemGroup instance = null;
|
||||
|
||||
static void init()
|
||||
{
|
||||
instance = new ItemGroup( "appliedenergistics2" )
|
||||
{
|
||||
public static AEItemGroup INSTANCE;
|
||||
|
||||
@Override
|
||||
public ItemStack createIcon()
|
||||
{
|
||||
final IDefinitions definitions = AEApi.instance().definitions();
|
||||
final IBlocks blocks = definitions.blocks();
|
||||
return blocks.controller().stack(1);
|
||||
}
|
||||
|
||||
};
|
||||
public static void init() {
|
||||
INSTANCE = new AEItemGroup( "appliedenergistics2" );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -220,7 +220,7 @@ public final class ApiParts implements IParts
|
||||
|
||||
private <T extends IPart> IItemDefinition createPart(FeatureFactory registry, String id, PartType type, Function<ItemStack, T> factory) {
|
||||
return registry.item(id, props -> new ItemPart<>(props, type, factory))
|
||||
.itemGroup(CreativeTab.instance)
|
||||
.itemGroup(CreativeTab.INSTANCE)
|
||||
.rendering(new ItemPartRendering())
|
||||
.build();
|
||||
}
|
||||
@@ -234,7 +234,7 @@ public final class ApiParts implements IParts
|
||||
String id = color.registryPrefix + '_' + idSuffix;
|
||||
|
||||
IItemDefinition itemDef = registry.item(id, props -> new ColoredPartItem<>(props, type, factory, color))
|
||||
.itemGroup(CreativeTab.instance)
|
||||
.itemGroup(CreativeTab.INSTANCE)
|
||||
.rendering(new ItemPartRendering(color))
|
||||
.build();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user