Fix mod filtering

This commit is contained in:
raoulvdberge
2019-10-25 23:21:15 +02:00
parent 5153e62562
commit 95118482c6
4 changed files with 20 additions and 15 deletions

View File

@@ -11,7 +11,6 @@ public final class RSKeyBindings {
public static final KeyBinding OPEN_WIRELESS_CRAFTING_MONITOR = new KeyBinding("key.refinedstorage.openWirelessCraftingMonitor", KeyConflictContext.IN_GAME, 0, "Refined Storage"); public static final KeyBinding OPEN_WIRELESS_CRAFTING_MONITOR = new KeyBinding("key.refinedstorage.openWirelessCraftingMonitor", KeyConflictContext.IN_GAME, 0, "Refined Storage");
public static void init() { public static void init() {
ClientRegistry.registerKeyBinding(OPEN_PORTABLE_GRID);
ClientRegistry.registerKeyBinding(OPEN_WIRELESS_CRAFTING_MONITOR); ClientRegistry.registerKeyBinding(OPEN_WIRELESS_CRAFTING_MONITOR);
}*/ }*/

View File

@@ -6,6 +6,7 @@ import com.raoulvdberge.refinedstorage.screen.grid.stack.FluidGridStack;
import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack; import com.raoulvdberge.refinedstorage.screen.grid.stack.IGridStack;
import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack; import com.raoulvdberge.refinedstorage.screen.grid.stack.ItemGridStack;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import java.util.List; import java.util.List;
@@ -46,10 +47,14 @@ public class FilterGridFilter implements Predicate<IGridStack> {
FluidStack stackInFilter = (FluidStack) filter.getStack(); FluidStack stackInFilter = (FluidStack) filter.getStack();
if (filter.isModFilter()) { if (filter.isModFilter()) {
String stackInFilterModId = /* TODO FluidRegistry.getModId(stackInFilter)*/"bla bla"; ResourceLocation stackInFilterRegistryName = stackInFilter.getFluid().getRegistryName();
if (stackInFilterModId != null && stackInFilterModId.equalsIgnoreCase(stack.getModId())) { if (stackInFilterRegistryName != null) {
return filter.getMode() == IFilter.MODE_WHITELIST; String stackInFilterModId = stackInFilterRegistryName.getNamespace();
if (stackInFilterModId.equalsIgnoreCase(stack.getModId())) {
return filter.getMode() == IFilter.MODE_WHITELIST;
}
} }
} else if (API.instance().getComparer().isEqual(((FluidGridStack) stack).getStack(), stackInFilter, filter.getCompare())) { } else if (API.instance().getComparer().isEqual(((FluidGridStack) stack).getStack(), stackInFilter, filter.getCompare())) {
return filter.getMode() == IFilter.MODE_WHITELIST; return filter.getMode() == IFilter.MODE_WHITELIST;

View File

@@ -5,6 +5,7 @@ import com.raoulvdberge.refinedstorage.apiimpl.API;
import com.raoulvdberge.refinedstorage.render.FluidRenderer; import com.raoulvdberge.refinedstorage.render.FluidRenderer;
import com.raoulvdberge.refinedstorage.screen.BaseScreen; import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -54,16 +55,17 @@ public class FluidGridStack implements IGridStack {
@Override @Override
public String getName() { public String getName() {
return stack.getDisplayName().getFormattedText(); // TODO correct method usage return stack.getDisplayName().getFormattedText();
} }
@Override @Override
public String getModId() { public String getModId() {
if (modId == null) { if (modId == null) {
// modId = FluidRegistry.getModId(stack); ResourceLocation registryName = stack.getFluid().getRegistryName();
modId = "dinosaur";//TODO
if (modId == null) { if (registryName != null) {
modId = registryName.getNamespace();
} else {
modId = "???"; modId = "???";
} }
} }
@@ -92,7 +94,7 @@ public class FluidGridStack implements IGridStack {
@Override @Override
public String getTooltip() { public String getTooltip() {
return stack.getDisplayName().getFormattedText();//TODO return stack.getDisplayName().getFormattedText();
} }
@Override @Override

View File

@@ -6,8 +6,11 @@ import com.raoulvdberge.refinedstorage.screen.BaseScreen;
import com.raoulvdberge.refinedstorage.util.RenderUtils; import com.raoulvdberge.refinedstorage.util.RenderUtils;
import net.minecraft.client.resources.I18n; import net.minecraft.client.resources.I18n;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.ModList;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.Optional;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -38,13 +41,9 @@ public class ItemGridStack implements IGridStack {
@Nullable @Nullable
static String getModNameByModId(String modId) { static String getModNameByModId(String modId) {
/*ModContainer container = Loader.instance().getActiveModList().stream() Optional<? extends ModContainer> modContainer = ModList.get().getModContainerById(modId);
.filter(m -> m.getModId().toLowerCase().equals(modId))
.findFirst()
.orElse(null);
return container == null ? null : container.getName();*/ return modContainer.map(container -> container.getModInfo().getDisplayName()).orElse(null);
return "dinosaur"; // TODO
} }
public ItemStack getStack() { public ItemStack getStack() {