- 26
- 7
Помогите нубу
Можно ли это в 1.7.10
Заменить на это в 1.6.4
Можно ли это в 1.7.10
Java:
private static class Ticker{
private List<Task> queue = new ArrayList<Task>();
private List<Task> scheduledNow = new ArrayList<Task>();
private Side side;
private Ticker(Side tickerSide){
side = tickerSide;
}
@SubscribeEvent
public void tick(TickEvent e){
if(e.side == side && e.type == (side == Side.SERVER ? Type.SERVER : Type.CLIENT) && e.phase == Phase.START){
synchronized(queue){
int idx = queue.size();
while(--idx >= 0){
Task task = queue.get(idx);
if(--task.ticks == 0){
queue.remove(idx);
scheduledNow.add(task);
}
}
}
int idx = scheduledNow.size();
while(--idx >= 0){
scheduledNow.remove(idx).runnable.run();
}
}
}
}
Заменить на это в 1.6.4
Java:
public static class Ticker
{
private static List<Task> queue = new ArrayList<Task>();
private static List<Task> scheduledNow = new ArrayList<Task>();
private Side side;
private Ticker(Side tickerSide){
side = tickerSide;
}
public static ITickHandler tickHandler = new ITickHandler()
{
@Override
public void tickStart(EnumSet<TickType> type, Object... tickData)
{
Log.print("Nibba");
synchronized (queue)
{
int idx = queue.size();
while (--idx >= 0)
{
Task task = queue.get(idx);
if (--task.ticks == 0)
{
queue.remove(idx);
scheduledNow.add(task);
}
}
}
int idx = scheduledNow.size();
while (--idx >= 0)
{
scheduledNow.remove(idx).runnable.run();
}
}
@Override
public void tickEnd(EnumSet<TickType> type, Object... tickData)
{
}
@Override
public EnumSet<TickType> ticks() {
return EnumSet.of(TickType.CLIENT);
}
@Override
public String getLabel() {
return "GPUMemorySchedulerTickHandler";
}
};
}