Added AE tools to fabric tool tags to fix breaking speed.
This commit is contained in:
@@ -11,6 +11,7 @@ import net.minecraft.data.DataGenerator;
|
||||
import appeng.data.providers.loot.BlockDropProvider;
|
||||
import appeng.data.providers.recipes.SlabStairRecipes;
|
||||
import appeng.data.providers.tags.ConventionTagProvider;
|
||||
import appeng.data.providers.tags.ToolTagProviders;
|
||||
|
||||
public class Entrypoint implements PreLaunchEntrypoint {
|
||||
|
||||
@@ -21,6 +22,7 @@ public class Entrypoint implements PreLaunchEntrypoint {
|
||||
generator.install(new BlockDropProvider(output));
|
||||
generator.install(new SlabStairRecipes(output));
|
||||
generator.install(new ConventionTagProvider(output));
|
||||
generator.install(new ToolTagProviders(output));
|
||||
generator.run();
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import appeng.core.AppEng;
|
||||
public class ConventionTagProvider extends TagProvider {
|
||||
|
||||
public ConventionTagProvider(Path outputPath) {
|
||||
super(outputPath);
|
||||
super("c", outputPath);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -24,15 +24,17 @@ import appeng.data.providers.IAE2DataProvider;
|
||||
public abstract class TagProvider implements IAE2DataProvider {
|
||||
|
||||
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
|
||||
protected static final String CONVENTION_NAMESPACE = "c";
|
||||
protected static final String TYPE_ITEMS = "items";
|
||||
protected static final String TYPE_BLOCKS = "blocks";
|
||||
|
||||
private final String defaultNamespace;
|
||||
|
||||
private final Path outputPath;
|
||||
|
||||
private DataCache cache;
|
||||
|
||||
protected TagProvider(Path outputPath) {
|
||||
protected TagProvider(String defaultNamespace, Path outputPath) {
|
||||
this.defaultNamespace = defaultNamespace;
|
||||
this.outputPath = outputPath;
|
||||
}
|
||||
|
||||
@@ -49,15 +51,19 @@ public abstract class TagProvider implements IAE2DataProvider {
|
||||
protected abstract void generate() throws IOException;
|
||||
|
||||
protected void addItemTag(String name, ItemConvertible... items) throws IOException {
|
||||
Identifier id = parseId(name);
|
||||
|
||||
List<String> itemIds = Arrays.stream(items).map(ItemConvertible::asItem).map(Registry.ITEM::getId)
|
||||
.map(Identifier::toString).collect(Collectors.toList());
|
||||
writeTagFile(CONVENTION_NAMESPACE, TYPE_ITEMS, name, itemIds);
|
||||
writeTagFile(id.getNamespace(), TYPE_ITEMS, id.getPath(), itemIds);
|
||||
}
|
||||
|
||||
protected void addBlockTag(String name, Block... blocks) throws IOException {
|
||||
Identifier id = parseId(name);
|
||||
|
||||
List<String> itemIds = Arrays.stream(blocks).map(Registry.BLOCK::getId).map(Identifier::toString)
|
||||
.collect(Collectors.toList());
|
||||
writeTagFile(CONVENTION_NAMESPACE, TYPE_BLOCKS, name, itemIds);
|
||||
writeTagFile(id.getNamespace(), TYPE_BLOCKS, id.getPath(), itemIds);
|
||||
}
|
||||
|
||||
protected void writeTagFile(String namespace, String tagType, String tagName, List<String> entries)
|
||||
@@ -75,7 +81,15 @@ public abstract class TagProvider implements IAE2DataProvider {
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return AppEng.MOD_NAME + " Convention Tags";
|
||||
return AppEng.MOD_NAME + " Tags (" + defaultNamespace + ")";
|
||||
}
|
||||
|
||||
private Identifier parseId(String name) {
|
||||
if (name.contains(":")) {
|
||||
return new Identifier(name);
|
||||
} else {
|
||||
return new Identifier(defaultNamespace, name);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
package appeng.data.providers.tags;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
|
||||
import appeng.core.AppEng;
|
||||
|
||||
public class ToolTagProviders extends TagProvider {
|
||||
|
||||
public ToolTagProviders(Path outputPath) {
|
||||
super("fabric", outputPath);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void generate() throws IOException {
|
||||
addItemTag("axes", ITEMS.netherQuartzAxe(), ITEMS.certusQuartzAxe());
|
||||
addItemTag("hoes", ITEMS.netherQuartzHoe(), ITEMS.certusQuartzHoe());
|
||||
addItemTag("pickaxes", ITEMS.netherQuartzPick(), ITEMS.certusQuartzPick());
|
||||
addItemTag("shovels", ITEMS.netherQuartzShovel(), ITEMS.certusQuartzShovel());
|
||||
addItemTag("swords", ITEMS.netherQuartzSword(), ITEMS.certusQuartzSword());
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return AppEng.MOD_NAME + " Tool Tags";
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user