parent
558ced7497
commit
c63252946a
|
|
@ -4,6 +4,7 @@ import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.searchtree.SearchRegistry;
|
import net.minecraft.client.searchtree.SearchRegistry;
|
||||||
import net.minecraftforge.fml.ModContainer;
|
import net.minecraftforge.fml.ModContainer;
|
||||||
import net.minecraftforge.fml.ModList;
|
import net.minecraftforge.fml.ModList;
|
||||||
|
import org.embeddedt.modernfix.ModernFix;
|
||||||
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
import org.embeddedt.modernfix.annotation.ClientOnlyMixin;
|
||||||
import org.embeddedt.modernfix.searchtree.DummySearchTree;
|
import org.embeddedt.modernfix.searchtree.DummySearchTree;
|
||||||
import org.embeddedt.modernfix.searchtree.REIBackedSearchTree;
|
import org.embeddedt.modernfix.searchtree.REIBackedSearchTree;
|
||||||
|
|
@ -24,18 +25,26 @@ public class MinecraftMixin {
|
||||||
|
|
||||||
@Inject(method = "createSearchTrees", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "createSearchTrees", at = @At("HEAD"), cancellable = true)
|
||||||
private void replaceSearchTrees(CallbackInfo ci) {
|
private void replaceSearchTrees(CallbackInfo ci) {
|
||||||
ci.cancel();
|
|
||||||
Optional<? extends ModContainer> jeiContainer = ModList.get().getModContainerById("jei");
|
Optional<? extends ModContainer> jeiContainer = ModList.get().getModContainerById("jei");
|
||||||
if(ModList.get().isLoaded("roughlyenoughitems")) {
|
if(ModList.get().isLoaded("roughlyenoughitems")) {
|
||||||
|
ModernFix.LOGGER.info("Replaced creative search logic with REI");
|
||||||
this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, new REIBackedSearchTree(false));
|
this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, new REIBackedSearchTree(false));
|
||||||
this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, new REIBackedSearchTree(true));
|
this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, new REIBackedSearchTree(true));
|
||||||
} else if(jeiContainer.isPresent() && jeiContainer.get().getModInfo().getVersion().getMajorVersion() >= 10) {
|
} else if(jeiContainer.isPresent()) {
|
||||||
|
/* ugly hack since getMajorVersion() returns 0 */
|
||||||
|
if(jeiContainer.get().getModInfo().getVersion().toString().startsWith("9.")) {
|
||||||
|
ModernFix.LOGGER.warn("Not disabling creative search as JEI 9 is in use");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ModernFix.LOGGER.info("Replaced creative search logic with JEI");
|
||||||
this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, new JEIBackedSearchTree(false));
|
this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, new JEIBackedSearchTree(false));
|
||||||
this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, new JEIBackedSearchTree(true));
|
this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, new JEIBackedSearchTree(true));
|
||||||
} else {
|
} else {
|
||||||
|
ModernFix.LOGGER.info("Completely removed creative search logic");
|
||||||
this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, new DummySearchTree<>());
|
this.searchRegistry.register(SearchRegistry.CREATIVE_NAMES, new DummySearchTree<>());
|
||||||
this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, new DummySearchTree<>());
|
this.searchRegistry.register(SearchRegistry.CREATIVE_TAGS, new DummySearchTree<>());
|
||||||
}
|
}
|
||||||
this.searchRegistry.register(SearchRegistry.RECIPE_COLLECTIONS, new DummySearchTree<>());
|
this.searchRegistry.register(SearchRegistry.RECIPE_COLLECTIONS, new DummySearchTree<>());
|
||||||
|
ci.cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user