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.loot.BlockDropProvider;
|
||||||
import appeng.data.providers.recipes.SlabStairRecipes;
|
import appeng.data.providers.recipes.SlabStairRecipes;
|
||||||
import appeng.data.providers.tags.ConventionTagProvider;
|
import appeng.data.providers.tags.ConventionTagProvider;
|
||||||
|
import appeng.data.providers.tags.ToolTagProviders;
|
||||||
|
|
||||||
public class Entrypoint implements PreLaunchEntrypoint {
|
public class Entrypoint implements PreLaunchEntrypoint {
|
||||||
|
|
||||||
@@ -21,6 +22,7 @@ public class Entrypoint implements PreLaunchEntrypoint {
|
|||||||
generator.install(new BlockDropProvider(output));
|
generator.install(new BlockDropProvider(output));
|
||||||
generator.install(new SlabStairRecipes(output));
|
generator.install(new SlabStairRecipes(output));
|
||||||
generator.install(new ConventionTagProvider(output));
|
generator.install(new ConventionTagProvider(output));
|
||||||
|
generator.install(new ToolTagProviders(output));
|
||||||
generator.run();
|
generator.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ import appeng.core.AppEng;
|
|||||||
public class ConventionTagProvider extends TagProvider {
|
public class ConventionTagProvider extends TagProvider {
|
||||||
|
|
||||||
public ConventionTagProvider(Path outputPath) {
|
public ConventionTagProvider(Path outputPath) {
|
||||||
super(outputPath);
|
super("c", outputPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -24,15 +24,17 @@ import appeng.data.providers.IAE2DataProvider;
|
|||||||
public abstract class TagProvider implements IAE2DataProvider {
|
public abstract class TagProvider implements IAE2DataProvider {
|
||||||
|
|
||||||
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().create();
|
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_ITEMS = "items";
|
||||||
protected static final String TYPE_BLOCKS = "blocks";
|
protected static final String TYPE_BLOCKS = "blocks";
|
||||||
|
|
||||||
|
private final String defaultNamespace;
|
||||||
|
|
||||||
private final Path outputPath;
|
private final Path outputPath;
|
||||||
|
|
||||||
private DataCache cache;
|
private DataCache cache;
|
||||||
|
|
||||||
protected TagProvider(Path outputPath) {
|
protected TagProvider(String defaultNamespace, Path outputPath) {
|
||||||
|
this.defaultNamespace = defaultNamespace;
|
||||||
this.outputPath = outputPath;
|
this.outputPath = outputPath;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,15 +51,19 @@ public abstract class TagProvider implements IAE2DataProvider {
|
|||||||
protected abstract void generate() throws IOException;
|
protected abstract void generate() throws IOException;
|
||||||
|
|
||||||
protected void addItemTag(String name, ItemConvertible... items) 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)
|
List<String> itemIds = Arrays.stream(items).map(ItemConvertible::asItem).map(Registry.ITEM::getId)
|
||||||
.map(Identifier::toString).collect(Collectors.toList());
|
.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 {
|
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)
|
List<String> itemIds = Arrays.stream(blocks).map(Registry.BLOCK::getId).map(Identifier::toString)
|
||||||
.collect(Collectors.toList());
|
.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)
|
protected void writeTagFile(String namespace, String tagType, String tagName, List<String> entries)
|
||||||
@@ -75,7 +81,15 @@ public abstract class TagProvider implements IAE2DataProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getName() {
|
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