Skip to content

Commit

Permalink
Close #164 Show JEI description pages last
Browse files Browse the repository at this point in the history
  • Loading branch information
mezz committed Feb 19, 2016
1 parent 2af3326 commit d5d3f5e
Show file tree
Hide file tree
Showing 4 changed files with 107 additions and 82 deletions.
7 changes: 7 additions & 0 deletions changelog.html
@@ -1,3 +1,10 @@
<h2>2.27.3</h2>
<h4>Features:</h4>
<ul>
<li>Show JEI description pages last.</li>
</ul>
<br/>
<hr/>
<h2>2.27.2</h2>
<h4>Fixes:</h4>
<ul>
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Expand Up @@ -5,4 +5,4 @@ curse_project_id=238222

version_major=2
version_minor=27
version_patch=2
version_patch=3
19 changes: 18 additions & 1 deletion src/main/java/mezz/jei/ProxyCommonClient.java
Expand Up @@ -8,6 +8,7 @@
import mezz.jei.config.SessionData;
import mezz.jei.gui.ItemListOverlay;
import mezz.jei.network.packets.PacketJEI;
import mezz.jei.plugins.jei.JEIInternalPlugin;
import mezz.jei.plugins.vanilla.VanillaPlugin;
import mezz.jei.util.AnnotatedInstanceUtil;
import mezz.jei.util.Log;
Expand Down Expand Up @@ -62,6 +63,12 @@ public void preInit(@Nonnull FMLPreInitializationEvent event) {
this.plugins.add(0, vanillaPlugin);
}

IModPlugin jeiInternalPlugin = getJeiInternalPlugin(this.plugins);
if (jeiInternalPlugin != null) {
this.plugins.remove(jeiInternalPlugin);
this.plugins.add(jeiInternalPlugin);
}

Iterator<IModPlugin> iterator = plugins.iterator();
while (iterator.hasNext()) {
IModPlugin plugin = iterator.next();
Expand All @@ -88,7 +95,7 @@ public void onResourceManagerReload(IResourceManager resourceManager) {
}

@Nullable
private IModPlugin getVanillaPlugin(List<IModPlugin> modPlugins) {
private IModPlugin getVanillaPlugin(@Nonnull List<IModPlugin> modPlugins) {
for (IModPlugin modPlugin : modPlugins) {
if (modPlugin instanceof VanillaPlugin) {
return modPlugin;
Expand All @@ -97,6 +104,16 @@ private IModPlugin getVanillaPlugin(List<IModPlugin> modPlugins) {
return null;
}

@Nullable
private IModPlugin getJeiInternalPlugin(@Nonnull List<IModPlugin> modPlugins) {
for (IModPlugin modPlugin : modPlugins) {
if (modPlugin instanceof JEIInternalPlugin) {
return modPlugin;
}
}
return null;
}

@Override
public void init(@Nonnull FMLInitializationEvent event) {
KeyBindings.init();
Expand Down
@@ -1,80 +1,81 @@
package mezz.jei.plugins.jei;

import mezz.jei.api.BlankModPlugin;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.IModRegistry;
import mezz.jei.api.gui.IAdvancedGuiHandler;
import mezz.jei.config.Config;
import mezz.jei.plugins.jei.debug.DebugRecipe;
import mezz.jei.plugins.jei.debug.DebugRecipeCategory;
import mezz.jei.plugins.jei.debug.DebugRecipeHandler;
import mezz.jei.plugins.jei.description.ItemDescriptionRecipeCategory;
import mezz.jei.plugins.jei.description.ItemDescriptionRecipeHandler;
import net.minecraft.client.gui.inventory.GuiBrewingStand;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.awt.*;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

@mezz.jei.api.JEIPlugin
public class JEIPlugin extends BlankModPlugin {
@Override
public void register(@Nonnull IModRegistry registry) {
IJeiHelpers jeiHelpers = registry.getJeiHelpers();
IGuiHelper guiHelper = jeiHelpers.getGuiHelper();

registry.addRecipeCategories(
new ItemDescriptionRecipeCategory(guiHelper)
);

registry.addRecipeHandlers(
new ItemDescriptionRecipeHandler()
);

if (Config.isDebugModeEnabled()) {
registry.addDescription(Arrays.asList(
new ItemStack(Items.oak_door),
new ItemStack(Items.spruce_door),
new ItemStack(Items.birch_door),
new ItemStack(Items.jungle_door),
new ItemStack(Items.acacia_door),
new ItemStack(Items.dark_oak_door)
),
"description.jei.wooden.door.1", // actually 2 lines
"description.jei.wooden.door.2",
"description.jei.wooden.door.3"
);

registry.addRecipeCategories(new DebugRecipeCategory(guiHelper));
registry.addRecipeHandlers(new DebugRecipeHandler());
registry.addRecipes(Arrays.asList(
new DebugRecipe(),
new DebugRecipe()
));

registry.addAdvancedGuiHandlers(new IAdvancedGuiHandler<GuiBrewingStand>() {
@Nonnull
@Override
public Class<GuiBrewingStand> getGuiContainerClass() {
return GuiBrewingStand.class;
}

@Nullable
@Override
public List<Rectangle> getGuiExtraAreas(GuiBrewingStand guiContainer) {
int widthMovement = (int) ((System.currentTimeMillis() / 100) % 100);
int size = 25 + widthMovement;
return Collections.singletonList(
new Rectangle(guiContainer.guiLeft + guiContainer.xSize, guiContainer.guiTop + 40, size, size)
);
}
});
}
}
}
package mezz.jei.plugins.jei;

import mezz.jei.api.BlankModPlugin;
import mezz.jei.api.IGuiHelper;
import mezz.jei.api.IJeiHelpers;
import mezz.jei.api.IModRegistry;
import mezz.jei.api.JEIPlugin;
import mezz.jei.api.gui.IAdvancedGuiHandler;
import mezz.jei.config.Config;
import mezz.jei.plugins.jei.debug.DebugRecipe;
import mezz.jei.plugins.jei.debug.DebugRecipeCategory;
import mezz.jei.plugins.jei.debug.DebugRecipeHandler;
import mezz.jei.plugins.jei.description.ItemDescriptionRecipeCategory;
import mezz.jei.plugins.jei.description.ItemDescriptionRecipeHandler;
import net.minecraft.client.gui.inventory.GuiBrewingStand;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.awt.*;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

@JEIPlugin
public class JEIInternalPlugin extends BlankModPlugin {
@Override
public void register(@Nonnull IModRegistry registry) {
IJeiHelpers jeiHelpers = registry.getJeiHelpers();
IGuiHelper guiHelper = jeiHelpers.getGuiHelper();

registry.addRecipeCategories(
new ItemDescriptionRecipeCategory(guiHelper)
);

registry.addRecipeHandlers(
new ItemDescriptionRecipeHandler()
);

if (Config.isDebugModeEnabled()) {
registry.addDescription(Arrays.asList(
new ItemStack(Items.oak_door),
new ItemStack(Items.spruce_door),
new ItemStack(Items.birch_door),
new ItemStack(Items.jungle_door),
new ItemStack(Items.acacia_door),
new ItemStack(Items.dark_oak_door)
),
"description.jei.wooden.door.1", // actually 2 lines
"description.jei.wooden.door.2",
"description.jei.wooden.door.3"
);

registry.addRecipeCategories(new DebugRecipeCategory(guiHelper));
registry.addRecipeHandlers(new DebugRecipeHandler());
registry.addRecipes(Arrays.asList(
new DebugRecipe(),
new DebugRecipe()
));

registry.addAdvancedGuiHandlers(new IAdvancedGuiHandler<GuiBrewingStand>() {
@Nonnull
@Override
public Class<GuiBrewingStand> getGuiContainerClass() {
return GuiBrewingStand.class;
}

@Nullable
@Override
public List<Rectangle> getGuiExtraAreas(GuiBrewingStand guiContainer) {
int widthMovement = (int) ((System.currentTimeMillis() / 100) % 100);
int size = 25 + widthMovement;
return Collections.singletonList(
new Rectangle(guiContainer.guiLeft + guiContainer.xSize, guiContainer.guiTop + 40, size, size)
);
}
});
}
}
}

0 comments on commit d5d3f5e

Please sign in to comment.