mirror of
https://github.com/ViaVersion/ViaFabricPlus.git
synced 2025-02-13 01:11:27 +01:00
More item API, setup visuals mod
This commit is contained in:
parent
a3c3456118
commit
50a8c1e1dd
@ -206,4 +206,24 @@ public interface ViaFabricPlusBase {
|
||||
*/
|
||||
ItemStack translateItem(final Item item, final ProtocolVersion sourceVersion);
|
||||
|
||||
/**
|
||||
* @param item The item to check
|
||||
* @param version The version to check for
|
||||
* @return true if the item exists in the given version, false otherwise, this will also check for CPE items (CustomBlocks V1 extension)
|
||||
*/
|
||||
boolean itemExists(final net.minecraft.item.Item item, final ProtocolVersion version);
|
||||
|
||||
/**
|
||||
* @param item The item to check
|
||||
* @return Similar to {@link #itemExists(net.minecraft.item.Item, ProtocolVersion)}, but takes in the current connection details (e.g. classic protocol extensions being loaded)
|
||||
*/
|
||||
boolean itemExistsInConnection(final net.minecraft.item.Item item);
|
||||
|
||||
/**
|
||||
* @param stack The item stack to get the count of
|
||||
* @return Similar to {@link ItemStack#getCount()}, but also handles negative item counts in pre 1.11 versions
|
||||
*/
|
||||
int getStackCount(final ItemStack stack);
|
||||
|
||||
|
||||
}
|
||||
|
@ -30,6 +30,9 @@ dependencies {
|
||||
|
||||
// Manually include to ignore dependencies
|
||||
include implementation(project(path: ":viafabricplus-api", configuration: "namedElements"))
|
||||
include implementation(project(path: ":viafabricplus-visual-changes", configuration: "namedElements"))
|
||||
|
||||
// Will be removed in future versions
|
||||
include implementation(project(":viafabricplus-api-legacy"))
|
||||
|
||||
jij "com.viaversion:viaversion-common:5.2.1-SNAPSHOT"
|
||||
|
@ -14,7 +14,8 @@ includeBuild("build-logic")
|
||||
|
||||
setupViaSubproject("api")
|
||||
setupViaSubproject("api-legacy")
|
||||
setupViaSubproject("diff-generator")
|
||||
setupViaSubproject("generator-tools")
|
||||
setupViaSubproject("visual-changes")
|
||||
|
||||
void setupViaSubproject(String name) {
|
||||
var pName = "viafabricplus-" + name
|
||||
|
@ -25,6 +25,8 @@ import com.viaversion.viafabricplus.api.events.ChangeProtocolVersionCallback;
|
||||
import com.viaversion.viafabricplus.api.events.LoadingCycleCallback;
|
||||
import com.viaversion.viafabricplus.api.ViaFabricPlusBase;
|
||||
import com.viaversion.viafabricplus.api.settings.SettingGroup;
|
||||
import com.viaversion.viafabricplus.features.item.filter_creative_tabs.ItemRegistryDiff;
|
||||
import com.viaversion.viafabricplus.features.item.negative_items.NegativeItemUtil;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IClientConnection;
|
||||
import com.viaversion.viafabricplus.injection.access.base.IServerInfo;
|
||||
import com.viaversion.viafabricplus.protocoltranslator.translator.ItemTranslator;
|
||||
@ -246,4 +248,18 @@ public final class ViaFabricPlusImpl implements ViaFabricPlusBase {
|
||||
return ItemTranslator.viaToMc(item, sourceVersion);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean itemExists(net.minecraft.item.Item item, ProtocolVersion version) {
|
||||
return ItemRegistryDiff.contains(item, version);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean itemExistsInConnection(net.minecraft.item.Item item) {
|
||||
return ItemRegistryDiff.keepItem(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getStackCount(ItemStack stack) {
|
||||
return NegativeItemUtil.getCount(stack);
|
||||
}
|
||||
}
|
||||
|
@ -1496,10 +1496,6 @@ public final class ItemRegistryDiff {
|
||||
// https://minecraft.gamepedia.com/Java_Edition_version_history
|
||||
}
|
||||
|
||||
/**
|
||||
* @param item The item to check
|
||||
* @return true if the item exists in the current version, false otherwise, this will also check for CPE items (CustomBlocks V1 extension)
|
||||
*/
|
||||
public static boolean keepItem(final Item item) {
|
||||
if (ProtocolTranslator.getTargetVersion().equals(c0_30cpe)) {
|
||||
final ClientPlayNetworkHandler handler = MinecraftClient.getInstance().getNetworkHandler();
|
||||
@ -1519,11 +1515,6 @@ public final class ItemRegistryDiff {
|
||||
return contains(item, ProtocolTranslator.getTargetVersion());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param item The item to check
|
||||
* @param version The version to check
|
||||
* @return true if the item is present in the version, false otherwise
|
||||
*/
|
||||
public static boolean contains(final Item item, final ProtocolVersion version) {
|
||||
return !ITEM_DIFF.containsKey(item) || ITEM_DIFF.get(item).contains(version);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user