39
paper-server/src/main/java/org/spigotmc/LimitStream.java
Normal file
39
paper-server/src/main/java/org/spigotmc/LimitStream.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package org.spigotmc;
|
||||
|
||||
import java.io.FilterInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import net.minecraft.nbt.NbtAccounter;
|
||||
|
||||
public class LimitStream extends FilterInputStream
|
||||
{
|
||||
|
||||
private final NbtAccounter limit;
|
||||
|
||||
public LimitStream(InputStream is, NbtAccounter limit)
|
||||
{
|
||||
super( is );
|
||||
this.limit = limit;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read() throws IOException
|
||||
{
|
||||
this.limit.accountBytes( 1 );
|
||||
return super.read();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read(byte[] b) throws IOException
|
||||
{
|
||||
this.limit.accountBytes( b.length );
|
||||
return super.read( b );
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read(byte[] b, int off, int len) throws IOException
|
||||
{
|
||||
this.limit.accountBytes( len );
|
||||
return super.read( b, off, len );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user