diff --git a/src/main/java/appeng/me/cache/TickManagerCache.java b/src/main/java/appeng/me/cache/TickManagerCache.java index 23f4cd259..65420bed1 100644 --- a/src/main/java/appeng/me/cache/TickManagerCache.java +++ b/src/main/java/appeng/me/cache/TickManagerCache.java @@ -100,51 +100,37 @@ public class TickManagerCache implements ITickManager this.upcomingTicks.poll(); final int diff = (int) ( this.currentTick - tt.getLastTick() ); + final TickRateModulation mod = tt.getGridTickable().tickingRequest( tt.getNode(), diff ); - if( tt.getGridTickable() instanceof PartLevelEmitter ) + switch ( mod ) { - laterTicker.put( tt.getNode(), tt ); - } else - { - - final TickRateModulation mod = tt.getGridTickable().tickingRequest( tt.getNode(), diff ); - - switch ( mod ) - { - case FASTER: - tt.setCurrentRate( tt.getCurrentRate() - 2 ); - break; - case IDLE: - tt.setCurrentRate( tt.getRequest().maxTickRate ); - break; - case SAME: - break; - case SLEEP: - this.sleepDevice( tt.getNode() ); - break; - case SLOWER: - tt.setCurrentRate( tt.getCurrentRate() + 1 ); - break; - case URGENT: - tt.setCurrentRate( 0 ); - break; - default: - break; - } + case FASTER: + tt.setCurrentRate( tt.getCurrentRate() - 2 ); + break; + case IDLE: + tt.setCurrentRate( tt.getRequest().maxTickRate ); + break; + case SAME: + break; + case SLEEP: + this.sleepDevice( tt.getNode() ); + break; + case SLOWER: + tt.setCurrentRate( tt.getCurrentRate() + 1 ); + break; + case URGENT: + tt.setCurrentRate( 0 ); + break; + default: + break; } + if( this.awake.containsKey( tt.getNode() ) ) { this.addToQueue( tt ); } } - Iterator> ltIterator = laterTicker.entrySet().iterator(); - while ( ltIterator.hasNext() ) - { - Map.Entry tickTracker = ltIterator.next(); - tickTracker.getValue().getGridTickable().tickingRequest( tickTracker.getKey(), 1 ); - ltIterator.remove(); - } - PartLevelEmitter.wipeCaches(); + PartLevelEmitter.wipeCaches(); } catch( final Throwable t ) { diff --git a/src/main/java/appeng/parts/automation/PartLevelEmitter.java b/src/main/java/appeng/parts/automation/PartLevelEmitter.java index 0d5dda062..549320589 100644 --- a/src/main/java/appeng/parts/automation/PartLevelEmitter.java +++ b/src/main/java/appeng/parts/automation/PartLevelEmitter.java @@ -90,7 +90,7 @@ import appeng.util.Platform; import appeng.util.inv.InvOperation; -public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherHost, IStackWatcherHost, ICraftingWatcherHost, IMEMonitorHandlerReceiver, ICraftingProvider, IGridTickable +public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherHost, IStackWatcherHost, ICraftingWatcherHost, IMEMonitorHandlerReceiver, ICraftingProvider { @PartModels @@ -612,20 +612,6 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH } } - @Nonnull - @Override - public TickingRequest getTickingRequest( @Nonnull IGridNode node ) - { - return new TickingRequest( 1,1,false,false ); - } - - @Nonnull - @Override - public TickRateModulation tickingRequest( @Nonnull IGridNode node, int ticksSinceLastCall ) - { - return TickRateModulation.URGENT; - } - static public void wipeCaches(){ gridItemCount = new HashMap<>(); fuzzyAEItemStackCount = new HashMap<>();