mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 16:27:47 +00:00
This commit is contained in:
11 files changed
+146
-87
No files matched your search
@@ -1081,22 +1081,8 @@ public class ForgeHooks
|
||||
return false;
|
||||
}
|
||||
|
||||
public static <T> void deserializeTagAdditions(List<TagEntry> list, JsonObject json, List<TagEntry> allList)
|
||||
{
|
||||
if (json.has("remove"))
|
||||
{
|
||||
for (JsonElement entry : GsonHelper.getAsJsonArray(json, "remove"))
|
||||
{
|
||||
String s = GsonHelper.convertToString(entry, "value");
|
||||
TagEntry dummy;
|
||||
if (!s.startsWith("#"))
|
||||
dummy = TagEntry.optionalElement(new ResourceLocation(s));
|
||||
else
|
||||
dummy = TagEntry.tag(new ResourceLocation(s.substring(1)));
|
||||
allList.removeIf(e -> e.equals(dummy));
|
||||
}
|
||||
}
|
||||
}
|
||||
@Deprecated(forRemoval = true, since = "1.20.1") // Tags use a codec now This was never used in 1.20
|
||||
public static <T> void deserializeTagAdditions(List<TagEntry> list, JsonObject json, List<TagEntry> allList) {}
|
||||
|
||||
@Nullable
|
||||
public static EntityDataSerializer<?> getSerializer(int id, CrudeIncrementalIntIdentityHashBiMap<EntityDataSerializer<?>> vanilla)
|
||||
|
||||
+12
-26
@@ -10,8 +10,7 @@ import net.minecraft.resources.ResourceKey;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
|
||||
public interface IForgeIntrinsicHolderTagAppender<T> extends IForgeTagAppender<T>
|
||||
{
|
||||
public interface IForgeIntrinsicHolderTagAppender<T> extends IForgeTagAppender<T> {
|
||||
private IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> self() {
|
||||
return (IntrinsicHolderTagsProvider.IntrinsicTagAppender<T>) this;
|
||||
}
|
||||
@@ -24,8 +23,7 @@ public interface IForgeIntrinsicHolderTagAppender<T> extends IForgeTagAppender<T
|
||||
* @param entry The entry to remove
|
||||
* @return The builder for chaining
|
||||
*/
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final T entry)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final T entry) {
|
||||
return remove(this.getKey(entry));
|
||||
}
|
||||
|
||||
@@ -36,78 +34,66 @@ public interface IForgeIntrinsicHolderTagAppender<T> extends IForgeTagAppender<T
|
||||
* @return The builder for chaining
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final T first, final T...entries)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final T first, final T...entries) {
|
||||
this.remove(first);
|
||||
for (T entry : entries)
|
||||
{
|
||||
this.remove(entry);
|
||||
}
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> addTags(TagKey<T>... values)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> addTags(TagKey<T>... values) {
|
||||
IForgeTagAppender.super.addTags(values);
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> replace()
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> replace() {
|
||||
IForgeTagAppender.super.replace();
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> replace(boolean value)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> replace(boolean value) {
|
||||
IForgeTagAppender.super.replace(value);
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceLocation location)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceLocation location) {
|
||||
IForgeTagAppender.super.remove(location);
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceLocation first, final ResourceLocation... locations)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceLocation first, final ResourceLocation... locations) {
|
||||
IForgeTagAppender.super.remove(first, locations);
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceKey<T> resourceKey)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceKey<T> resourceKey) {
|
||||
IForgeTagAppender.super.remove(resourceKey);
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceKey<T> firstResourceKey, final ResourceKey<T>... resourceKeys)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(final ResourceKey<T> firstResourceKey, final ResourceKey<T>... resourceKeys) {
|
||||
IForgeTagAppender.super.remove(firstResourceKey, resourceKeys);
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(TagKey<T> tag)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(TagKey<T> tag) {
|
||||
IForgeTagAppender.super.remove(tag);
|
||||
return self();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(TagKey<T> first, TagKey<T>...tags)
|
||||
{
|
||||
default IntrinsicHolderTagsProvider.IntrinsicTagAppender<T> remove(TagKey<T> first, TagKey<T>...tags) {
|
||||
IForgeTagAppender.super.remove(first, tags);
|
||||
return self();
|
||||
}
|
||||
|
||||
@@ -5,37 +5,22 @@
|
||||
|
||||
package net.minecraftforge.common.extensions;
|
||||
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagBuilder;
|
||||
import net.minecraft.tags.TagEntry;
|
||||
|
||||
public interface IForgeRawTagBuilder
|
||||
{
|
||||
default TagBuilder getRawBuilder()
|
||||
{
|
||||
public interface IForgeRawTagBuilder {
|
||||
default TagBuilder getRawBuilder() {
|
||||
return (TagBuilder)this;
|
||||
}
|
||||
|
||||
/**
|
||||
* internal, called when a raw builder is written to json to add forge additions (e.g. the remove list)
|
||||
* @deprecated Never used, tags use a Codec now, so remove this later.
|
||||
*/
|
||||
default void serializeTagAdditions(final JsonObject tagJson)
|
||||
{
|
||||
TagBuilder rawBuilder = this.getRawBuilder();
|
||||
Stream<TagEntry> removeEntries = rawBuilder.getRemoveEntries();
|
||||
JsonArray removeEntriesAsJsonArray = new JsonArray();
|
||||
//removeEntries.forEach(proxy ->proxy.serializeTo(removeEntriesAsJsonArray)); // TODO: Figure out what the replacement for this is. -C
|
||||
if (removeEntriesAsJsonArray.size() > 0)
|
||||
{
|
||||
tagJson.add("remove", removeEntriesAsJsonArray);
|
||||
}
|
||||
|
||||
}
|
||||
@Deprecated(forRemoval = true, since = "1.20.1")
|
||||
default void serializeTagAdditions(final JsonObject tagJson) {}
|
||||
|
||||
/**
|
||||
* Adds a tag entry to the remove list.
|
||||
@@ -43,8 +28,7 @@ public interface IForgeRawTagBuilder
|
||||
* @param source The source of the caller for logging purposes (generally a modid)
|
||||
* @return The builder for chaining purposes
|
||||
*/
|
||||
default TagBuilder remove(final TagEntry tagEntry, final String source)
|
||||
{
|
||||
default TagBuilder remove(final TagEntry tagEntry, final String source) {
|
||||
return this.getRawBuilder().remove(tagEntry);
|
||||
}
|
||||
|
||||
@@ -54,20 +38,17 @@ public interface IForgeRawTagBuilder
|
||||
* @param source The source of the caller for logging purposes (generally a modid)
|
||||
* @return The builder for chaining purposes
|
||||
*/
|
||||
default TagBuilder removeElement(final ResourceLocation elementID, final String source)
|
||||
{
|
||||
default TagBuilder removeElement(final ResourceLocation elementID, final String source) {
|
||||
return this.remove(TagEntry.element(elementID), source);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Adds a tag to the remove list.
|
||||
* @param tagID The ID of the tag to add to the remove list
|
||||
* @param source The source of the caller for logging purposes (generally a modid)
|
||||
* @return The builder for chaining purposes
|
||||
*/
|
||||
default TagBuilder removeTag(final ResourceLocation tagID, final String source)
|
||||
{
|
||||
default TagBuilder removeTag(final ResourceLocation tagID, final String source) {
|
||||
return this.remove(TagEntry.tag(tagID), source);
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user