Let's do this properly, shall we? Fixes #397
This commit is contained in:
@@ -248,6 +248,13 @@ public class CommonProxy {
|
|||||||
*/
|
*/
|
||||||
public void shakeScreen(EntityPlayer player, float intensity){}
|
public void shakeScreen(EntityPlayer player, float intensity){}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads the given shader for the given player, if they have shaders enabled.
|
||||||
|
* @param player The player to load the shader for
|
||||||
|
* @param shader The location of the shader to load
|
||||||
|
*/
|
||||||
|
public void loadShader(EntityPlayer player, ResourceLocation shader){}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the client side world using Minecraft.getMinecraft().world. <b>Only to be called client side!</b> Returns
|
* Gets the client side world using Minecraft.getMinecraft().world. <b>Only to be called client side!</b> Returns
|
||||||
* null on the server side.
|
* null on the server side.
|
||||||
|
|||||||
@@ -199,6 +199,13 @@ public class ClientProxy extends CommonProxy {
|
|||||||
if(Minecraft.getMinecraft().player == player) WizardryClientEventHandler.shakeScreen(intensity);
|
if(Minecraft.getMinecraft().player == player) WizardryClientEventHandler.shakeScreen(intensity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadShader(EntityPlayer player, ResourceLocation shader){
|
||||||
|
if(Minecraft.getMinecraft().player == player && Wizardry.settings.useShaders
|
||||||
|
&& !Minecraft.getMinecraft().entityRenderer.isShaderActive())
|
||||||
|
Minecraft.getMinecraft().entityRenderer.loadShader(shader);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<String> getSpellHUDSkins(){
|
public Set<String> getSpellHUDSkins(){
|
||||||
return GuiSpellDisplay.getSkinKeys();
|
return GuiSpellDisplay.getSkinKeys();
|
||||||
|
|||||||
@@ -172,9 +172,9 @@ public class PotionSlowTime extends PotionMagicEffect implements ISyncedPotion {
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onPotionAddedEvent(PotionEvent.PotionAddedEvent event){
|
public static void onPotionAddedEvent(PotionEvent.PotionAddedEvent event){
|
||||||
if(event.getEntity().world.isRemote && event.getPotionEffect().getPotion() == WizardryPotions.slow_time
|
if(event.getEntity().world.isRemote && event.getPotionEffect().getPotion() == WizardryPotions.slow_time
|
||||||
&& event.getEntity() == net.minecraft.client.Minecraft.getMinecraft().player){
|
&& event.getEntity() instanceof EntityPlayer){
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SlowTime.SHADER);
|
Wizardry.proxy.loadShader((EntityPlayer)event.getEntity(), SlowTime.SHADER);
|
||||||
electroblob.wizardry.client.WizardryClientEventHandler.playBlinkEffect();
|
Wizardry.proxy.playBlinkEffect((EntityPlayer)event.getEntity());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -251,10 +251,10 @@ public class Possession extends SpellRay {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(possessor.world.isRemote && possessor == net.minecraft.client.Minecraft.getMinecraft().player){
|
if(possessor.world.isRemote){
|
||||||
// Shaders and effects
|
// Shaders and effects
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SHADER);
|
Wizardry.proxy.loadShader(possessor, SHADER);
|
||||||
electroblob.wizardry.client.WizardryClientEventHandler.playBlinkEffect(); // Looks quite nice...
|
Wizardry.proxy.playBlinkEffect(possessor);
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
@@ -348,7 +348,7 @@ public class Possession extends SpellRay {
|
|||||||
|
|
||||||
if(player.world.isRemote && player == net.minecraft.client.Minecraft.getMinecraft().player){
|
if(player.world.isRemote && player == net.minecraft.client.Minecraft.getMinecraft().player){
|
||||||
net.minecraft.client.Minecraft.getMinecraft().entityRenderer.stopUseShader();
|
net.minecraft.client.Minecraft.getMinecraft().entityRenderer.stopUseShader();
|
||||||
electroblob.wizardry.client.WizardryClientEventHandler.playBlinkEffect(); // Looks quite nice...
|
Wizardry.proxy.playBlinkEffect(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(IAttribute attribute : INHERITED_ATTRIBUTES.keySet()){
|
for(IAttribute attribute : INHERITED_ATTRIBUTES.keySet()){
|
||||||
@@ -399,9 +399,7 @@ public class Possession extends SpellRay {
|
|||||||
|
|
||||||
if(player.world.isRemote){
|
if(player.world.isRemote){
|
||||||
ParticleBuilder.create(Type.DARK_MAGIC, player).clr(0.1f, 0, 0.3f).spawn(player.world);
|
ParticleBuilder.create(Type.DARK_MAGIC, player).clr(0.1f, 0, 0.3f).spawn(player.world);
|
||||||
// TODO: This (and a few other similar uses) needs ClientProxy-ing.
|
Wizardry.proxy.loadShader(player, SHADER);
|
||||||
if(!net.minecraft.client.Minecraft.getMinecraft().entityRenderer.isShaderActive())
|
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SHADER);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|||||||
@@ -39,9 +39,9 @@ public class SixthSense extends Spell {
|
|||||||
(int)(getProperty(EFFECT_DURATION).floatValue() * modifiers.get(WizardryItems.duration_upgrade)),
|
(int)(getProperty(EFFECT_DURATION).floatValue() * modifiers.get(WizardryItems.duration_upgrade)),
|
||||||
(int)((modifiers.get(WizardryItems.range_upgrade) - 1f) / Constants.RANGE_INCREASE_PER_LEVEL)));
|
(int)((modifiers.get(WizardryItems.range_upgrade) - 1f) / Constants.RANGE_INCREASE_PER_LEVEL)));
|
||||||
|
|
||||||
if(world.isRemote && caster == net.minecraft.client.Minecraft.getMinecraft().player){
|
if(world.isRemote){
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SHADER);
|
Wizardry.proxy.loadShader(caster, SHADER);
|
||||||
electroblob.wizardry.client.WizardryClientEventHandler.playBlinkEffect();
|
Wizardry.proxy.playBlinkEffect(caster);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.playSound(world, caster, ticksInUse, -1, modifiers);
|
this.playSound(world, caster, ticksInUse, -1, modifiers);
|
||||||
@@ -51,9 +51,9 @@ public class SixthSense extends Spell {
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onPotionAddedEvent(PotionEvent.PotionAddedEvent event){
|
public static void onPotionAddedEvent(PotionEvent.PotionAddedEvent event){
|
||||||
if(event.getEntity().world.isRemote && event.getPotionEffect().getPotion() == WizardryPotions.sixth_sense
|
if(event.getEntity().world.isRemote && event.getPotionEffect().getPotion() == WizardryPotions.sixth_sense
|
||||||
&& event.getEntity() == net.minecraft.client.Minecraft.getMinecraft().player){
|
&& event.getEntity() instanceof EntityPlayer){
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SHADER);
|
Wizardry.proxy.loadShader((EntityPlayer)event.getEntity(), SHADER);
|
||||||
electroblob.wizardry.client.WizardryClientEventHandler.playBlinkEffect();
|
Wizardry.proxy.playBlinkEffect((EntityPlayer)event.getEntity());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,8 +24,8 @@ public class SlowTime extends SpellBuff {
|
|||||||
@Override
|
@Override
|
||||||
public boolean cast(World world, EntityPlayer caster, EnumHand hand, int ticksInUse, SpellModifiers modifiers){
|
public boolean cast(World world, EntityPlayer caster, EnumHand hand, int ticksInUse, SpellModifiers modifiers){
|
||||||
|
|
||||||
if(caster.world.isRemote && caster == net.minecraft.client.Minecraft.getMinecraft().player){
|
if(caster.world.isRemote){
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SHADER);
|
Wizardry.proxy.loadShader(caster, SHADER);
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.cast(world, caster, hand, ticksInUse, modifiers);
|
return super.cast(world, caster, hand, ticksInUse, modifiers);
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ public class Transience extends Spell {
|
|||||||
@Override
|
@Override
|
||||||
public boolean cast(World world, EntityPlayer caster, EnumHand hand, int ticksInUse, SpellModifiers modifiers){
|
public boolean cast(World world, EntityPlayer caster, EnumHand hand, int ticksInUse, SpellModifiers modifiers){
|
||||||
|
|
||||||
if(world.isRemote && caster == net.minecraft.client.Minecraft.getMinecraft().player){
|
if(world.isRemote){
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SHADER);
|
Wizardry.proxy.loadShader(caster, SHADER);
|
||||||
electroblob.wizardry.client.WizardryClientEventHandler.playBlinkEffect();
|
Wizardry.proxy.playBlinkEffect(caster);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!caster.isPotionActive(WizardryPotions.transience)){
|
if(!caster.isPotionActive(WizardryPotions.transience)){
|
||||||
@@ -87,9 +87,9 @@ public class Transience extends Spell {
|
|||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onPotionAddedEvent(PotionEvent.PotionAddedEvent event){
|
public static void onPotionAddedEvent(PotionEvent.PotionAddedEvent event){
|
||||||
if(event.getEntity().world.isRemote && event.getPotionEffect().getPotion() == WizardryPotions.transience
|
if(event.getEntity().world.isRemote && event.getPotionEffect().getPotion() == WizardryPotions.transience
|
||||||
&& event.getEntity() == net.minecraft.client.Minecraft.getMinecraft().player){
|
&& event.getEntity() instanceof EntityPlayer){
|
||||||
if(Wizardry.settings.useShaders) net.minecraft.client.Minecraft.getMinecraft().entityRenderer.loadShader(SHADER);
|
Wizardry.proxy.loadShader((EntityPlayer)event.getEntity(), SHADER);
|
||||||
electroblob.wizardry.client.WizardryClientEventHandler.playBlinkEffect();
|
Wizardry.proxy.playBlinkEffect((EntityPlayer)event.getEntity());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user