forked from tilera/infinity-craft
Added Time Stone abilities
This commit is contained in:
parent
0eb8b089b4
commit
c794e0a1c9
4 changed files with 89 additions and 0 deletions
|
@ -0,0 +1,42 @@
|
|||
package anvil.infinity.abilities;
|
||||
|
||||
import lucraft.mods.lucraftcore.superpowers.abilities.AbilityHeld;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class AbilityFastForward extends AbilityHeld {
|
||||
|
||||
World w;
|
||||
|
||||
public AbilityFastForward(EntityLivingBase entity) {
|
||||
super(entity);
|
||||
w = entity.getEntityWorld();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick() {
|
||||
|
||||
long time = w.getWorldTime();
|
||||
w.setWorldTime(time + 100);
|
||||
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void drawIcon(Minecraft mc, Gui gui, int x, int y) {
|
||||
float zLevel = Minecraft.getMinecraft().getRenderItem().zLevel;
|
||||
mc.getRenderItem().zLevel = -100.5F;
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate(x, y, 0);
|
||||
mc.getRenderItem().renderItemIntoGUI(new ItemStack(Items.CLOCK), 0, 0);
|
||||
GlStateManager.popMatrix();
|
||||
mc.getRenderItem().zLevel = zLevel;
|
||||
}
|
||||
}
|
41
src/main/java/anvil/infinity/abilities/AbilityStopTime.java
Normal file
41
src/main/java/anvil/infinity/abilities/AbilityStopTime.java
Normal file
|
@ -0,0 +1,41 @@
|
|||
package anvil.infinity.abilities;
|
||||
|
||||
import anvil.infinity.items.Items;
|
||||
import lucraft.mods.lucraftcore.superpowers.abilities.AbilityToggle;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
public class AbilityStopTime extends AbilityToggle {
|
||||
|
||||
World w;
|
||||
|
||||
public AbilityStopTime(EntityLivingBase entity) {
|
||||
super(entity);
|
||||
w = entity.getEntityWorld();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateTick() {
|
||||
long time = w.getWorldTime();
|
||||
w.setWorldTime(time - 1);
|
||||
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void drawIcon(Minecraft mc, Gui gui, int x, int y) {
|
||||
float zLevel = Minecraft.getMinecraft().getRenderItem().zLevel;
|
||||
mc.getRenderItem().zLevel = -100.5F;
|
||||
GlStateManager.pushMatrix();
|
||||
GlStateManager.translate(x, y, 0);
|
||||
mc.getRenderItem().renderItemIntoGUI(new ItemStack(Items.TIME_STONE), 0, 0);
|
||||
GlStateManager.popMatrix();
|
||||
mc.getRenderItem().zLevel = zLevel;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,8 @@
|
|||
package anvil.infinity.items;
|
||||
|
||||
import anvil.infinity.abilities.AbilityFastForward;
|
||||
import anvil.infinity.abilities.AbilityHasTimeStone;
|
||||
import anvil.infinity.abilities.AbilityStopTime;
|
||||
import lucraft.mods.lucraftcore.infinity.EnumInfinityStone;
|
||||
import lucraft.mods.lucraftcore.infinity.ModuleInfinity;
|
||||
import lucraft.mods.lucraftcore.infinity.items.ItemInfinityStone;
|
||||
|
@ -31,6 +33,8 @@ public class ItemTimeStone extends ItemInfinityStone {
|
|||
@Override
|
||||
public Ability.AbilityMap addStoneAbilities(EntityLivingBase entity, Ability.AbilityMap abilities, Ability.EnumAbilityContext context) {
|
||||
abilities.put("time", new AbilityHasTimeStone(entity));
|
||||
abilities.put("fast_forward", new AbilityFastForward(entity));
|
||||
abilities.put("stop_time", new AbilityStopTime(entity));
|
||||
return super.addStoneAbilities(entity, abilities, context);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,8 @@ public class Abilities {
|
|||
e.getRegistry().register(new AbilityEntry(AbilityKill.class, new ResourceLocation(Infinity.MOD_ID, "kill")));
|
||||
e.getRegistry().register(new AbilityEntry(AbilityChangeSnap.class, new ResourceLocation(Infinity.MOD_ID, "changesnap")));
|
||||
e.getRegistry().register(new AbilityEntry(AbilitySaturation.class, new ResourceLocation(Infinity.MOD_ID, "saturation")));
|
||||
e.getRegistry().register(new AbilityEntry(AbilityFastForward.class, new ResourceLocation(Infinity.MOD_ID, "fast_forward")));
|
||||
e.getRegistry().register(new AbilityEntry(AbilityStopTime.class, new ResourceLocation(Infinity.MOD_ID, "stop_time")));
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue