Null protection for ticks() -- probably should uses EnumSet.noneOf() but
you can also use null now to stop ticking. closes #77
This commit is contained in:
parent
fe263206e2
commit
ebc1aea5d2
|
@ -29,6 +29,7 @@ import net.minecraft.src.ServerListenThread;
|
||||||
import net.minecraft.src.ThreadServerApplication;
|
import net.minecraft.src.ThreadServerApplication;
|
||||||
import net.minecraft.src.World;
|
import net.minecraft.src.World;
|
||||||
|
|
||||||
|
import com.google.common.base.Objects;
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.google.common.base.Throwables;
|
import com.google.common.base.Throwables;
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
@ -96,7 +97,7 @@ public class FMLCommonHandler
|
||||||
}
|
}
|
||||||
for (IScheduledTickHandler ticker : scheduledTicks)
|
for (IScheduledTickHandler ticker : scheduledTicks)
|
||||||
{
|
{
|
||||||
EnumSet<TickType> ticksToRun = EnumSet.copyOf(ticker.ticks());
|
EnumSet<TickType> ticksToRun = EnumSet.copyOf(Objects.firstNonNull(ticker.ticks(), EnumSet.noneOf(TickType.class)));
|
||||||
ticksToRun.removeAll(EnumSet.complementOf(ticks));
|
ticksToRun.removeAll(EnumSet.complementOf(ticks));
|
||||||
if (!ticksToRun.isEmpty())
|
if (!ticksToRun.isEmpty())
|
||||||
{
|
{
|
||||||
|
@ -115,7 +116,7 @@ public class FMLCommonHandler
|
||||||
}
|
}
|
||||||
for (IScheduledTickHandler ticker : scheduledTicks)
|
for (IScheduledTickHandler ticker : scheduledTicks)
|
||||||
{
|
{
|
||||||
EnumSet<TickType> ticksToRun = EnumSet.copyOf(ticker.ticks());
|
EnumSet<TickType> ticksToRun = EnumSet.copyOf(Objects.firstNonNull(ticker.ticks(), EnumSet.noneOf(TickType.class)));
|
||||||
ticksToRun.removeAll(EnumSet.complementOf(ticks));
|
ticksToRun.removeAll(EnumSet.complementOf(ticks));
|
||||||
if (!ticksToRun.isEmpty())
|
if (!ticksToRun.isEmpty())
|
||||||
{
|
{
|
||||||
|
@ -166,9 +167,9 @@ public class FMLCommonHandler
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the effective side for the context in the game. This is dependent
|
* Return the effective side for the context in the game. This is dependent
|
||||||
* on thread analysis to try and determine whether the code is running in the
|
* on thread analysis to try and determine whether the code is running in the
|
||||||
* server or not. Use at your own risk
|
* server or not. Use at your own risk
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public Side getEffectiveSide()
|
public Side getEffectiveSide()
|
||||||
|
@ -178,7 +179,7 @@ public class FMLCommonHandler
|
||||||
{
|
{
|
||||||
return Side.SERVER;
|
return Side.SERVER;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Side.CLIENT;
|
return Side.CLIENT;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
@ -391,7 +392,7 @@ public class FMLCommonHandler
|
||||||
{
|
{
|
||||||
crashCallables.add(callable);
|
crashCallables.add(callable);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void enhanceCrashReport(CrashReport crashReport)
|
public void enhanceCrashReport(CrashReport crashReport)
|
||||||
{
|
{
|
||||||
for (ICrashCallable call: crashCallables)
|
for (ICrashCallable call: crashCallables)
|
||||||
|
|
Loading…
Reference in New Issue