60 lines
1.9 KiB
Java
60 lines
1.9 KiB
Java
package io.gitlab.jfronny.libjf.config.impl.network.rci.entry;
|
|
|
|
import io.gitlab.jfronny.gson.stream.JsonReader;
|
|
import io.gitlab.jfronny.gson.stream.JsonWriter;
|
|
import io.gitlab.jfronny.libjf.config.api.v2.EntryInfo;
|
|
import io.gitlab.jfronny.libjf.config.api.v2.type.Type;
|
|
import io.gitlab.jfronny.libjf.config.impl.network.rci.MirrorConfigCategory;
|
|
import io.gitlab.jfronny.libjf.config.impl.network.rci.MirrorObject;
|
|
import net.fabricmc.fabric.api.networking.v1.PacketByteBufs;
|
|
import net.fabricmc.fabric.api.networking.v1.PacketSender;
|
|
import net.minecraft.network.PacketByteBuf;
|
|
|
|
import java.io.IOException;
|
|
import java.io.UnsupportedEncodingException;
|
|
|
|
public abstract class MirrorEntryInfoBase<T> extends MirrorObject implements EntryInfo<T> {
|
|
protected final MirrorConfigCategory category;
|
|
protected final String entryName;
|
|
|
|
public MirrorEntryInfoBase(PacketSender packetSender, MirrorConfigCategory category, String entryName) {
|
|
super(packetSender);
|
|
this.category = category;
|
|
this.entryName = entryName;
|
|
}
|
|
|
|
protected void writePath(PacketByteBuf buf) {
|
|
category.writeCategoryPath(buf);
|
|
buf.writeString(entryName);
|
|
}
|
|
|
|
@Override
|
|
public String getName() {
|
|
return entryName;
|
|
}
|
|
|
|
@Override
|
|
public void loadFromJson(JsonReader reader) throws IOException, IllegalAccessException {
|
|
throw new UnsupportedEncodingException();
|
|
}
|
|
|
|
@Override
|
|
public void writeTo(JsonWriter writer, String translationPrefix) throws IOException, IllegalAccessException {
|
|
throw new UnsupportedEncodingException();
|
|
}
|
|
|
|
@Override
|
|
public void fix() {
|
|
PacketByteBuf buf = PacketByteBufs.create();
|
|
writePath(buf);
|
|
sendRequest("fixEntry", buf);
|
|
}
|
|
|
|
@Override
|
|
public void reset() throws IllegalAccessException {
|
|
PacketByteBuf buf = PacketByteBufs.create();
|
|
writePath(buf);
|
|
sendRequest("resetEntry", buf);
|
|
}
|
|
}
|