Add missing Override annotations
This commit is contained in:
parent
c2845967cc
commit
e3777f4559
|
@ -45,12 +45,14 @@ public class ItemModelMesherForge extends ItemModelMesher
|
|||
super(manager);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IBakedModel getItemModel(Item item, int meta)
|
||||
{
|
||||
TIntObjectHashMap<IBakedModel> map = models.get(item);
|
||||
return map == null ? null : map.get(meta);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void register(Item item, int meta, ModelResourceLocation location)
|
||||
{
|
||||
TIntObjectHashMap<ModelResourceLocation> locs = locations.get(item);
|
||||
|
@ -69,6 +71,7 @@ public class ItemModelMesherForge extends ItemModelMesher
|
|||
mods.put(meta, getModelManager().getModel(location));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void rebuildCache()
|
||||
{
|
||||
final ModelManager manager = this.getModelManager();
|
||||
|
|
|
@ -104,6 +104,7 @@ public class MinecraftForgeClient
|
|||
.expireAfterAccess(1, TimeUnit.SECONDS)
|
||||
.build(new CacheLoader<Pair<World, BlockPos>, ChunkCache>()
|
||||
{
|
||||
@Override
|
||||
public ChunkCache load(Pair<World, BlockPos> key) throws Exception
|
||||
{
|
||||
return new ChunkCache(key.getLeft(), key.getRight().add(-1, -1, -1), key.getRight().add(16, 16, 16), 1);
|
||||
|
|
|
@ -36,6 +36,7 @@ final class FancyMissingModel implements IModel
|
|||
private static final TRSRTransformation smallTransformation = TRSRTransformation.blockCenterToCorner(new TRSRTransformation(null, null, new Vector3f(.25f, .25f, .25f), null));
|
||||
private static final LoadingCache<VertexFormat, SimpleModelFontRenderer> fontCache = CacheBuilder.newBuilder().maximumSize(3).build(new CacheLoader<VertexFormat, SimpleModelFontRenderer>()
|
||||
{
|
||||
@Override
|
||||
public SimpleModelFontRenderer load(VertexFormat format) throws Exception
|
||||
{
|
||||
Matrix4f m = new Matrix4f();
|
||||
|
|
|
@ -772,6 +772,7 @@ public class ForgeBlockStateV1 extends Marker
|
|||
{
|
||||
public static final TRSRDeserializer INSTANCE = new TRSRDeserializer();
|
||||
|
||||
@Override
|
||||
public TRSRTransformation deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException
|
||||
{
|
||||
if (json.isJsonPrimitive() && json.getAsJsonPrimitive().isString())
|
||||
|
|
|
@ -110,14 +110,14 @@ public interface IPerspectiveAwareModel extends IBakedModel
|
|||
return Pair.of(model, null);
|
||||
}
|
||||
|
||||
public boolean isAmbientOcclusion() { return parent.isAmbientOcclusion(); }
|
||||
public boolean isGui3d() { return parent.isGui3d(); }
|
||||
public boolean isBuiltInRenderer() { return parent.isBuiltInRenderer(); }
|
||||
public TextureAtlasSprite getParticleTexture() { return parent.getParticleTexture(); }
|
||||
@Override public boolean isAmbientOcclusion() { return parent.isAmbientOcclusion(); }
|
||||
@Override public boolean isGui3d() { return parent.isGui3d(); }
|
||||
@Override public boolean isBuiltInRenderer() { return parent.isBuiltInRenderer(); }
|
||||
@Override public TextureAtlasSprite getParticleTexture() { return parent.getParticleTexture(); }
|
||||
@SuppressWarnings("deprecation")
|
||||
public ItemCameraTransforms getItemCameraTransforms() { return parent.getItemCameraTransforms(); }
|
||||
public List<BakedQuad> getQuads(IBlockState state, EnumFacing side, long rand) { return parent.getQuads(state, side, rand); }
|
||||
public ItemOverrideList getOverrides() { return parent.getOverrides(); }
|
||||
@Override public ItemCameraTransforms getItemCameraTransforms() { return parent.getItemCameraTransforms(); }
|
||||
@Override public List<BakedQuad> getQuads(IBlockState state, EnumFacing side, long rand) { return parent.getQuads(state, side, rand); }
|
||||
@Override public ItemOverrideList getOverrides() { return parent.getOverrides(); }
|
||||
|
||||
@Override
|
||||
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(TransformType cameraTransformType)
|
||||
|
|
|
@ -86,21 +86,25 @@ public final class ItemLayerModel implements IRetexturableModel
|
|||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getDependencies()
|
||||
{
|
||||
return ImmutableList.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getTextures()
|
||||
{
|
||||
return textures;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModelState getDefaultState()
|
||||
{
|
||||
return TRSRTransformation.identity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemLayerModel retexture(ImmutableMap<String, String> textures)
|
||||
{
|
||||
ImmutableList.Builder<ResourceLocation> builder = ImmutableList.builder();
|
||||
|
@ -118,6 +122,7 @@ public final class ItemLayerModel implements IRetexturableModel
|
|||
return new ItemLayerModel(builder.build(), overrides);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBakedModel bake(IModelState state, final VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter)
|
||||
{
|
||||
ImmutableList.Builder<BakedQuad> builder = ImmutableList.builder();
|
||||
|
@ -167,18 +172,20 @@ public final class ItemLayerModel implements IRetexturableModel
|
|||
}
|
||||
}
|
||||
|
||||
public boolean isAmbientOcclusion() { return true; }
|
||||
public boolean isGui3d() { return false; }
|
||||
public boolean isBuiltInRenderer() { return false; }
|
||||
public TextureAtlasSprite getParticleTexture() { return particle; }
|
||||
public ItemCameraTransforms getItemCameraTransforms() { return ItemCameraTransforms.DEFAULT; }
|
||||
public ItemOverrideList getOverrides() { return overrides; }
|
||||
@Override public boolean isAmbientOcclusion() { return true; }
|
||||
@Override public boolean isGui3d() { return false; }
|
||||
@Override public boolean isBuiltInRenderer() { return false; }
|
||||
@Override public TextureAtlasSprite getParticleTexture() { return particle; }
|
||||
@Override public ItemCameraTransforms getItemCameraTransforms() { return ItemCameraTransforms.DEFAULT; }
|
||||
@Override public ItemOverrideList getOverrides() { return overrides; }
|
||||
@Override
|
||||
public List<BakedQuad> getQuads(IBlockState state, EnumFacing side, long rand)
|
||||
{
|
||||
if(side == null) return quads;
|
||||
return ImmutableList.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(TransformType type)
|
||||
{
|
||||
Pair<? extends IBakedModel, Matrix4f> pair = IPerspectiveAwareModel.MapWrapper.handlePerspective(this, transforms, type);
|
||||
|
@ -423,8 +430,10 @@ public final class ItemLayerModel implements IRetexturableModel
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public void onResourceManagerReload(IResourceManager resourceManager) {}
|
||||
|
||||
@Override
|
||||
public boolean accepts(ResourceLocation modelLocation)
|
||||
{
|
||||
return modelLocation.getResourceDomain().equals(ForgeVersion.MOD_ID) && (
|
||||
|
@ -433,6 +442,7 @@ public final class ItemLayerModel implements IRetexturableModel
|
|||
modelLocation.getResourcePath().equals("models/item/item-layer"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModel loadModel(ResourceLocation modelLocation)
|
||||
{
|
||||
return ItemLayerModel.INSTANCE;
|
||||
|
|
|
@ -54,6 +54,7 @@ public class MapModelState implements IModelState
|
|||
this.def = def;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
if(!part.isPresent() || !map.containsKey(part.get())) return def.apply(part);
|
||||
|
|
|
@ -282,6 +282,7 @@ public final class ModelDynBucket implements IModel, IModelCustomData, IRetextur
|
|||
Function<ResourceLocation, TextureAtlasSprite> textureGetter;
|
||||
textureGetter = new Function<ResourceLocation, TextureAtlasSprite>()
|
||||
{
|
||||
@Override
|
||||
public TextureAtlasSprite apply(ResourceLocation location)
|
||||
{
|
||||
return Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(location.toString());
|
||||
|
@ -340,10 +341,10 @@ public final class ModelDynBucket implements IModel, IModelCustomData, IRetextur
|
|||
return ImmutableList.of();
|
||||
}
|
||||
|
||||
public boolean isAmbientOcclusion() { return true; }
|
||||
public boolean isGui3d() { return false; }
|
||||
public boolean isBuiltInRenderer() { return false; }
|
||||
public TextureAtlasSprite getParticleTexture() { return particle; }
|
||||
public ItemCameraTransforms getItemCameraTransforms() { return ItemCameraTransforms.DEFAULT; }
|
||||
@Override public boolean isAmbientOcclusion() { return true; }
|
||||
@Override public boolean isGui3d() { return false; }
|
||||
@Override public boolean isBuiltInRenderer() { return false; }
|
||||
@Override public TextureAtlasSprite getParticleTexture() { return particle; }
|
||||
@Override public ItemCameraTransforms getItemCameraTransforms() { return ItemCameraTransforms.DEFAULT; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,22 +76,26 @@ public final class ModelFluid implements IModelCustomData
|
|||
this.fluid = fluid;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getDependencies()
|
||||
{
|
||||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getTextures()
|
||||
{
|
||||
return ImmutableSet.of(fluid.getStill(), fluid.getFlowing());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter)
|
||||
{
|
||||
ImmutableMap<TransformType, TRSRTransformation> map = IPerspectiveAwareModel.MapWrapper.getTransforms(state);
|
||||
return new BakedFluid(state.apply(Optional.<IModelPart>absent()), map, format, fluid.getColor(), bakedTextureGetter.apply(fluid.getStill()), bakedTextureGetter.apply(fluid.getFlowing()), fluid.isGaseous(), Optional.<IExtendedBlockState>absent());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModelState getDefaultState()
|
||||
{
|
||||
return ModelRotation.X0_Y0;
|
||||
|
@ -101,8 +105,10 @@ public final class ModelFluid implements IModelCustomData
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public void onResourceManagerReload(IResourceManager resourceManager) {}
|
||||
|
||||
@Override
|
||||
public boolean accepts(ResourceLocation modelLocation)
|
||||
{
|
||||
return modelLocation.getResourceDomain().equals(ForgeVersion.MOD_ID) && (
|
||||
|
@ -111,6 +117,7 @@ public final class ModelFluid implements IModelCustomData
|
|||
modelLocation.getResourcePath().equals("models/item/fluid"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModel loadModel(ResourceLocation modelLocation)
|
||||
{
|
||||
return WATER;
|
||||
|
@ -125,6 +132,7 @@ public final class ModelFluid implements IModelCustomData
|
|||
|
||||
private final LoadingCache<Long, BakedFluid> modelCache = CacheBuilder.newBuilder().maximumSize(200).build(new CacheLoader<Long, BakedFluid>()
|
||||
{
|
||||
@Override
|
||||
public BakedFluid load(Long key) throws Exception
|
||||
{
|
||||
boolean statePresent = (key & 1) != 0;
|
||||
|
@ -349,31 +357,37 @@ public final class ModelFluid implements IModelCustomData
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAmbientOcclusion()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGui3d()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBuiltInRenderer()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextureAtlasSprite getParticleTexture()
|
||||
{
|
||||
return still;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemCameraTransforms getItemCameraTransforms()
|
||||
{
|
||||
return ItemCameraTransforms.DEFAULT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BakedQuad> getQuads(IBlockState state, EnumFacing side, long rand)
|
||||
{
|
||||
BakedFluid model = this;
|
||||
|
@ -396,6 +410,7 @@ public final class ModelFluid implements IModelCustomData
|
|||
return model.faceQuads.get(side);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemOverrideList getOverrides()
|
||||
{
|
||||
return ItemOverrideList.NONE;
|
||||
|
|
|
@ -165,15 +165,12 @@ public final class ModelLoader extends ModelBakery
|
|||
textures.remove(TextureMap.LOCATION_MISSING_TEXTURE);
|
||||
textures.addAll(LOCATIONS_BUILTIN_TEXTURES);
|
||||
|
||||
textureMap.loadSprites(resourceManager, new ITextureMapPopulator()
|
||||
{
|
||||
public void registerSprites(TextureMap map)
|
||||
textureMap.loadSprites(resourceManager, map ->
|
||||
{
|
||||
for (ResourceLocation t : textures)
|
||||
{
|
||||
map.registerSprite(t);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
IBakedModel missingBaked = missingModel.bake(missingModel.getDefaultState(), DefaultVertexFormats.ITEM, DefaultTextureGetter.INSTANCE);
|
||||
|
@ -226,20 +223,8 @@ public final class ModelLoader extends ModelBakery
|
|||
@Override
|
||||
protected void loadBlocks()
|
||||
{
|
||||
List<Block> blocks = Lists.newArrayList(Iterables.filter(Block.REGISTRY, new Predicate<Block>()
|
||||
{
|
||||
public boolean apply(Block block)
|
||||
{
|
||||
return block.getRegistryName() != null;
|
||||
}
|
||||
}));
|
||||
Collections.sort(blocks, new Comparator<Block>()
|
||||
{
|
||||
public int compare(Block b1, Block b2)
|
||||
{
|
||||
return b1.getRegistryName().toString().compareTo(b2.getRegistryName().toString());
|
||||
}
|
||||
});
|
||||
List<Block> blocks = Lists.newArrayList(Iterables.filter(Block.REGISTRY, block -> block.getRegistryName() != null));
|
||||
blocks.sort(Comparator.comparing(b -> b.getRegistryName().toString()));
|
||||
ProgressBar blockBar = ProgressManager.push("ModelLoader: blocks", blocks.size());
|
||||
|
||||
BlockStateMapper mapper = this.blockModelShapes.getBlockStateMapper();
|
||||
|
@ -312,6 +297,7 @@ public final class ModelLoader extends ModelBakery
|
|||
|
||||
List<Item> items = Lists.newArrayList(Iterables.filter(Item.REGISTRY, new Predicate<Item>()
|
||||
{
|
||||
@Override
|
||||
public boolean apply(Item item)
|
||||
{
|
||||
return item.getRegistryName() != null;
|
||||
|
@ -319,6 +305,7 @@ public final class ModelLoader extends ModelBakery
|
|||
}));
|
||||
Collections.sort(items, new Comparator<Item>()
|
||||
{
|
||||
@Override
|
||||
public int compare(Item i1, Item i2)
|
||||
{
|
||||
return i1.getRegistryName().toString().compareTo(i2.getRegistryName().toString());
|
||||
|
@ -469,6 +456,7 @@ public final class ModelLoader extends ModelBakery
|
|||
this.animation = animation;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getDependencies()
|
||||
{
|
||||
Set<ResourceLocation> set = Sets.newHashSet();
|
||||
|
@ -488,6 +476,7 @@ public final class ModelLoader extends ModelBakery
|
|||
return ImmutableSet.copyOf(set);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getTextures()
|
||||
{
|
||||
// setting parent here to make textures resolve properly
|
||||
|
@ -535,6 +524,7 @@ public final class ModelLoader extends ModelBakery
|
|||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter)
|
||||
{
|
||||
return VanillaLoader.INSTANCE.modelCache.getUnchecked(new BakedModelCacheKey(this, state, format, bakedTextureGetter));
|
||||
|
@ -707,6 +697,7 @@ public final class ModelLoader extends ModelBakery
|
|||
return Optional.absent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModelState getDefaultState()
|
||||
{
|
||||
return ModelRotation.X0_Y0;
|
||||
|
@ -805,16 +796,19 @@ public final class ModelLoader extends ModelBakery
|
|||
defaultState = new MultiModelState(builder.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getDependencies()
|
||||
{
|
||||
return ImmutableList.copyOf(locations);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<ResourceLocation> getTextures()
|
||||
{
|
||||
return ImmutableSet.copyOf(textures);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBakedModel bake(IModelState state, VertexFormat format, Function<ResourceLocation, TextureAtlasSprite> bakedTextureGetter)
|
||||
{
|
||||
if(!Attributes.moreSpecific(format, Attributes.DEFAULT_BAKED_FORMAT))
|
||||
|
@ -835,6 +829,7 @@ public final class ModelLoader extends ModelBakery
|
|||
return builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModelState getDefaultState()
|
||||
{
|
||||
return defaultState;
|
||||
|
@ -918,13 +913,16 @@ public final class ModelLoader extends ModelBakery
|
|||
}
|
||||
|
||||
// NOOP, handled in loader
|
||||
@Override
|
||||
public void onResourceManagerReload(IResourceManager resourceManager) {}
|
||||
|
||||
@Override
|
||||
public boolean accepts(ResourceLocation modelLocation)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModel loadModel(ResourceLocation modelLocation) throws Exception
|
||||
{
|
||||
if(modelLocation.equals(MODEL_MISSING) && loader.missingModel != null)
|
||||
|
@ -1212,6 +1210,7 @@ public final class ModelLoader extends ModelBakery
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public TextureAtlasSprite apply(ResourceLocation location)
|
||||
{
|
||||
return Minecraft.getMinecraft().getTextureMapBlocks().getAtlasSprite(location.toString());
|
||||
|
|
|
@ -37,6 +37,7 @@ public class ModelStateComposition implements IModelState
|
|||
this.second = second;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
Optional<TRSRTransformation> f = first.apply(part), s = second.apply(part);
|
||||
|
|
|
@ -247,8 +247,10 @@ public final class MultiLayerModel implements IModelCustomData
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public void onResourceManagerReload(IResourceManager resourceManager) {}
|
||||
|
||||
@Override
|
||||
public boolean accepts(ResourceLocation modelLocation)
|
||||
{
|
||||
return modelLocation.getResourceDomain().equals(ForgeVersion.MOD_ID) && (
|
||||
|
@ -257,6 +259,7 @@ public final class MultiLayerModel implements IModelCustomData
|
|||
modelLocation.getResourcePath().equals("models/item/multi-layer"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModel loadModel(ResourceLocation modelLocation)
|
||||
{
|
||||
return MultiLayerModel.INSTANCE;
|
||||
|
|
|
@ -54,6 +54,7 @@ public final class MultiModelState implements IModelState
|
|||
return state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
if(part.isPresent())
|
||||
|
@ -92,6 +93,7 @@ public final class MultiModelState implements IModelState
|
|||
this.index = index;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
Optional<TRSRTransformation> normal = state.apply(part);
|
||||
|
|
|
@ -45,6 +45,7 @@ public final class SimpleModelState implements IModelState
|
|||
this.def = def;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
if(!part.isPresent())
|
||||
|
|
|
@ -130,5 +130,6 @@ public class AnimationModelBase<T extends Entity> extends ModelBase implements I
|
|||
RenderHelper.enableStandardItemLighting();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleEvents(T instance, float time, Iterable<Event> pastEvents) {}
|
||||
}
|
||||
|
|
|
@ -47,6 +47,7 @@ public class AnimationTESR<T extends TileEntity> extends FastTESR<T> implements
|
|||
{
|
||||
protected static BlockRendererDispatcher blockRenderer;
|
||||
|
||||
@Override
|
||||
public void renderTileEntityFast(@Nonnull T te, double x, double y, double z, float partialTick, int breakStage, float partial, @Nonnull BufferBuilder renderer)
|
||||
{
|
||||
if(!te.hasCapability(CapabilityAnimation.ANIMATION_CAPABILITY, null))
|
||||
|
@ -85,5 +86,6 @@ public class AnimationTESR<T extends TileEntity> extends FastTESR<T> implements
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleEvents(T te, float time, Iterable<Event> pastEvents) {}
|
||||
}
|
||||
|
|
|
@ -199,6 +199,7 @@ public class ModelBlockAnimation
|
|||
initialize();
|
||||
return new Iterable<Event>()
|
||||
{
|
||||
@Override
|
||||
public Iterator<Event> iterator()
|
||||
{
|
||||
return new UnmodifiableIterator<Event>()
|
||||
|
@ -257,6 +258,7 @@ public class ModelBlockAnimation
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasNext()
|
||||
{
|
||||
return curKey != null;
|
||||
|
@ -321,6 +323,7 @@ public class ModelBlockAnimation
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TRSRTransformation apply(float time)
|
||||
{
|
||||
time -= Math.floor(time);
|
||||
|
@ -435,11 +438,13 @@ public class ModelBlockAnimation
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public TRSRTransformation getInvBindPose()
|
||||
{
|
||||
return invBindPose;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<? extends IJoint> getParent()
|
||||
{
|
||||
return Optional.absent();
|
||||
|
|
|
@ -36,6 +36,7 @@ public enum B3DClip implements IClip
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public IJointClip apply(final IJoint joint)
|
||||
{
|
||||
if(!(joint instanceof NodeJoint))
|
||||
|
@ -45,6 +46,7 @@ public enum B3DClip implements IClip
|
|||
return new NodeClip(((NodeJoint)joint).getNode());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Event> pastEvents(float lastPollTime, float time)
|
||||
{
|
||||
return ImmutableSet.<Event>of();
|
||||
|
@ -59,6 +61,7 @@ public enum B3DClip implements IClip
|
|||
this.node = node;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TRSRTransformation apply(float time)
|
||||
{
|
||||
TRSRTransformation ret = TRSRTransformation.identity();
|
||||
|
|
|
@ -112,17 +112,20 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
enabledDomains.add(domain.toLowerCase());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResourceManagerReload(IResourceManager manager)
|
||||
{
|
||||
this.manager = manager;
|
||||
cache.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean accepts(ResourceLocation modelLocation)
|
||||
{
|
||||
return enabledDomains.contains(modelLocation.getResourceDomain()) && modelLocation.getResourcePath().endsWith(".b3d");
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public IModel loadModel(ResourceLocation modelLocation) throws Exception
|
||||
{
|
||||
|
@ -230,6 +233,7 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
return parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
// TODO make more use of Optional
|
||||
|
@ -272,6 +276,7 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
.expireAfterAccess(2, TimeUnit.MINUTES)
|
||||
.build(new CacheLoader<Triple<Animation, Node<?>, Integer>, TRSRTransformation>()
|
||||
{
|
||||
@Override
|
||||
public TRSRTransformation load(Triple<Animation, Node<?>, Integer> key) throws Exception
|
||||
{
|
||||
return getNodeMatrix(key.getLeft(), key.getMiddle(), key.getRight());
|
||||
|
@ -352,6 +357,7 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
this.node = node;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TRSRTransformation getInvBindPose()
|
||||
{
|
||||
Matrix4f m = new TRSRTransformation(node.getPos(), node.getRot(), node.getScale(), null).getMatrix();
|
||||
|
@ -366,6 +372,7 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
return pose;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<NodeJoint> getParent()
|
||||
{
|
||||
// FIXME cache?
|
||||
|
@ -402,21 +409,25 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
public static enum B3DFrameProperty implements IUnlistedProperty<B3DState>
|
||||
{
|
||||
INSTANCE;
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return "B3DFrame";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(B3DState value)
|
||||
{
|
||||
return value instanceof B3DState;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<B3DState> getType()
|
||||
{
|
||||
return B3DState.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String valueToString(B3DState value)
|
||||
{
|
||||
return value.toString();
|
||||
|
@ -480,6 +491,7 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
{
|
||||
return Collections2.filter(textures.values(), new Predicate<ResourceLocation>()
|
||||
{
|
||||
@Override
|
||||
public boolean apply(ResourceLocation loc)
|
||||
{
|
||||
return !loc.getResourcePath().startsWith("#");
|
||||
|
@ -579,6 +591,7 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<IClip> getClip(String name)
|
||||
{
|
||||
if(name.equals("main"))
|
||||
|
@ -588,6 +601,7 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
return Optional.absent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModelState getDefaultState()
|
||||
{
|
||||
return new B3DState(model.getRoot().getAnimation(), defaultKey, defaultKey, 0);
|
||||
|
@ -632,8 +646,9 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
this(node, state, smooth, gui3d, format, meshes, textures, CacheBuilder.newBuilder()
|
||||
.maximumSize(128)
|
||||
.expireAfterAccess(2, TimeUnit.MINUTES)
|
||||
.<Integer, B3DState>build(new CacheLoader<Integer, B3DState>()
|
||||
.build(new CacheLoader<Integer, B3DState>()
|
||||
{
|
||||
@Override
|
||||
public B3DState load(Integer frame) throws Exception
|
||||
{
|
||||
IModelState parent = state;
|
||||
|
@ -747,12 +762,14 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
.maximumSize(32)
|
||||
.build(new CacheLoader<Node<?>, TRSRTransformation>()
|
||||
{
|
||||
@Override
|
||||
public TRSRTransformation load(Node<?> node) throws Exception
|
||||
{
|
||||
return state.apply(Optional.of(new NodeJoint(node))).or(TRSRTransformation.identity());
|
||||
}
|
||||
});
|
||||
|
||||
@Override
|
||||
public Matrix4f apply(Node<?> node)
|
||||
{
|
||||
return global.compose(localCache.getUnchecked(node)).getMatrix();
|
||||
|
@ -831,37 +848,44 @@ public enum B3DLoader implements ICustomModelLoader
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAmbientOcclusion()
|
||||
{
|
||||
return smooth;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isGui3d()
|
||||
{
|
||||
return gui3d;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBuiltInRenderer()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextureAtlasSprite getParticleTexture()
|
||||
{
|
||||
// FIXME somehow specify particle texture in the model
|
||||
return textures.values().asList().get(0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemCameraTransforms getItemCameraTransforms()
|
||||
{
|
||||
return ItemCameraTransforms.DEFAULT;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<? extends IBakedModel, Matrix4f> handlePerspective(TransformType cameraTransformType)
|
||||
{
|
||||
return IPerspectiveAwareModel.MapWrapper.handlePerspective(this, state, cameraTransformType);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemOverrideList getOverrides()
|
||||
{
|
||||
// TODO handle items
|
||||
|
|
|
@ -997,11 +997,13 @@ public class B3DModel
|
|||
{
|
||||
private Node<Pivot> parent;
|
||||
|
||||
@Override
|
||||
public void setParent(Node<Pivot> parent)
|
||||
{
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Node<Pivot> getParent()
|
||||
{
|
||||
return parent;
|
||||
|
@ -1064,6 +1066,7 @@ public class B3DModel
|
|||
return String.format("Mesh [pivot=%s, brush=%s, data=...]", super.toString(), brush);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void setParent(Node<Mesh> parent)
|
||||
{
|
||||
|
@ -1089,6 +1092,7 @@ public class B3DModel
|
|||
weightMap = builder.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Node<Mesh> getParent()
|
||||
{
|
||||
return parent;
|
||||
|
@ -1116,11 +1120,13 @@ public class B3DModel
|
|||
return String.format("Bone [data=%s]", data);
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public void setParent(Node<Bone> parent)
|
||||
{
|
||||
this.parent = parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Node<Bone> getParent()
|
||||
{
|
||||
return parent;
|
||||
|
|
|
@ -54,6 +54,7 @@ public enum OBJLoader implements ICustomModelLoader {
|
|||
FMLLog.log(Level.INFO, "OBJLoader: Domain %s has been added.", domain.toLowerCase());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResourceManagerReload(IResourceManager resourceManager)
|
||||
{
|
||||
this.manager = resourceManager;
|
||||
|
@ -61,11 +62,13 @@ public enum OBJLoader implements ICustomModelLoader {
|
|||
errors.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean accepts(ResourceLocation modelLocation)
|
||||
{
|
||||
return enabledDomains.contains(modelLocation.getResourceDomain()) && modelLocation.getResourcePath().endsWith(".obj");
|
||||
}
|
||||
|
||||
@Override
|
||||
public IModel loadModel(ResourceLocation modelLocation) throws Exception
|
||||
{
|
||||
ResourceLocation file = new ResourceLocation(modelLocation.getResourceDomain(), modelLocation.getResourcePath());
|
||||
|
|
|
@ -1138,6 +1138,7 @@ public class OBJModel implements IRetexturableModel, IModelCustomData
|
|||
return parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
if (parent != null) return parent.apply(part);
|
||||
|
@ -1256,6 +1257,7 @@ public class OBJModel implements IRetexturableModel, IModelCustomData
|
|||
public enum OBJProperty implements IUnlistedProperty<OBJState>
|
||||
{
|
||||
INSTANCE;
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return "OBJProperty";
|
||||
|
@ -1548,6 +1550,7 @@ public class OBJModel implements IRetexturableModel, IModelCustomData
|
|||
|
||||
private final LoadingCache<IModelState, OBJBakedModel> cache = CacheBuilder.newBuilder().maximumSize(20).build(new CacheLoader<IModelState, OBJBakedModel>()
|
||||
{
|
||||
@Override
|
||||
public OBJBakedModel load(IModelState state) throws Exception
|
||||
{
|
||||
return new OBJBakedModel(model, state, format, textures);
|
||||
|
|
|
@ -94,6 +94,7 @@ public class LightUtil
|
|||
.maximumSize(10)
|
||||
.build(new CacheLoader<Pair<VertexFormat, VertexFormat>, int[]>()
|
||||
{
|
||||
@Override
|
||||
public int[] load(Pair<VertexFormat, VertexFormat> pair)
|
||||
{
|
||||
return mapFormats(pair.getLeft(), pair.getRight());
|
||||
|
@ -317,6 +318,7 @@ public class LightUtil
|
|||
System.arraycopy(auxColor, 0, this.auxColor, 0, this.auxColor.length);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(int element, float... data)
|
||||
{
|
||||
if(getVertexFormat().getElement(element).getUsage() == EnumUsage.COLOR)
|
||||
|
|
|
@ -105,6 +105,7 @@ public class UnpackedBakedQuad extends BakedQuad
|
|||
unpackedData = new float[4][format.getElementCount()][4];
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexFormat getVertexFormat()
|
||||
{
|
||||
return format;
|
||||
|
@ -114,27 +115,32 @@ public class UnpackedBakedQuad extends BakedQuad
|
|||
{
|
||||
this.contractUVs = value;
|
||||
}
|
||||
@Override
|
||||
public void setQuadTint(int tint)
|
||||
{
|
||||
this.tint = tint;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQuadOrientation(EnumFacing orientation)
|
||||
{
|
||||
this.orientation = orientation;
|
||||
}
|
||||
|
||||
// FIXME: move (or at least add) into constructor
|
||||
@Override
|
||||
public void setTexture(TextureAtlasSprite texture)
|
||||
{
|
||||
this.texture = texture;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplyDiffuseLighting(boolean diffuse)
|
||||
{
|
||||
this.applyDiffuseLighting = diffuse;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(int element, float... data)
|
||||
{
|
||||
for(int i = 0; i < 4; i++)
|
||||
|
|
|
@ -44,11 +44,13 @@ public class VertexBufferConsumer implements IVertexConsumer
|
|||
quadData = new int[renderer.getVertexFormat().getNextOffset()/* / 4 * 4 */];
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexFormat getVertexFormat()
|
||||
{
|
||||
return renderer.getVertexFormat();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(int e, float... data)
|
||||
{
|
||||
VertexFormat format = getVertexFormat();
|
||||
|
@ -75,8 +77,12 @@ public class VertexBufferConsumer implements IVertexConsumer
|
|||
this.offset = new BlockPos(offset);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQuadTint(int tint) {}
|
||||
@Override
|
||||
public void setQuadOrientation(EnumFacing orientation) {}
|
||||
@Override
|
||||
public void setApplyDiffuseLighting(boolean diffuse) {}
|
||||
@Override
|
||||
public void setTexture(TextureAtlasSprite texture ) {}
|
||||
}
|
||||
|
|
|
@ -260,13 +260,17 @@ public class VertexLighterFlat extends QuadGatheringTransformer
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQuadTint(int tint)
|
||||
{
|
||||
this.tint = tint;
|
||||
}
|
||||
@Override
|
||||
public void setQuadOrientation(EnumFacing orientation) {}
|
||||
public void setQuadCulled() {}
|
||||
@Override
|
||||
public void setTexture(TextureAtlasSprite texture) {}
|
||||
@Override
|
||||
public void setApplyDiffuseLighting(boolean diffuse)
|
||||
{
|
||||
this.diffuse = diffuse;
|
||||
|
|
|
@ -32,31 +32,37 @@ public class VertexTransformer implements IVertexConsumer
|
|||
this.parent = parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VertexFormat getVertexFormat()
|
||||
{
|
||||
return parent.getVertexFormat();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQuadTint(int tint)
|
||||
{
|
||||
parent.setQuadTint(tint);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTexture(TextureAtlasSprite texture)
|
||||
{
|
||||
parent.setTexture(texture);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setQuadOrientation(EnumFacing orientation)
|
||||
{
|
||||
parent.setQuadOrientation(orientation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setApplyDiffuseLighting(boolean diffuse)
|
||||
{
|
||||
parent.setApplyDiffuseLighting(diffuse);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(int element, float... data)
|
||||
{
|
||||
parent.put(element, data);
|
||||
|
|
|
@ -52,6 +52,7 @@ public final class Event implements Comparable<Event>
|
|||
return offset;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(Event event)
|
||||
{
|
||||
return new Float(offset).compareTo(event.offset);
|
||||
|
|
|
@ -46,11 +46,13 @@ public final class TimeValues
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public float apply(float input)
|
||||
{
|
||||
return input;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return "identity";
|
||||
|
@ -66,6 +68,7 @@ public final class TimeValues
|
|||
this.output = output;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float apply(float input)
|
||||
{
|
||||
return output;
|
||||
|
@ -108,6 +111,7 @@ public final class TimeValues
|
|||
this.output = newValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float apply(float input)
|
||||
{
|
||||
return output;
|
||||
|
@ -146,6 +150,7 @@ public final class TimeValues
|
|||
this.args = args;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float apply(float input)
|
||||
{
|
||||
float ret = input;
|
||||
|
@ -201,6 +206,7 @@ public final class TimeValues
|
|||
this.f = f;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float apply(float input)
|
||||
{
|
||||
return g.apply(f.apply(input));
|
||||
|
@ -238,6 +244,7 @@ public final class TimeValues
|
|||
this.valueResolver = valueResolver;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return parameterName;
|
||||
|
@ -258,6 +265,7 @@ public final class TimeValues
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public float apply(float input)
|
||||
{
|
||||
resolve();
|
||||
|
@ -298,6 +306,7 @@ public final class TimeValues
|
|||
this.valueResolver.set(valueResolver);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@Nullable
|
||||
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type)
|
||||
|
@ -309,6 +318,7 @@ public final class TimeValues
|
|||
|
||||
return (TypeAdapter<T>)new TypeAdapter<ITimeValue>()
|
||||
{
|
||||
@Override
|
||||
public void write(JsonWriter out, ITimeValue parameter) throws IOException
|
||||
{
|
||||
if(parameter instanceof ConstValue)
|
||||
|
@ -341,6 +351,7 @@ public final class TimeValues
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITimeValue read(JsonReader in) throws IOException
|
||||
{
|
||||
switch(in.peek())
|
||||
|
|
|
@ -293,6 +293,7 @@ public abstract class FieldWrapper implements IFieldWrapper
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setupConfiguration(Configuration cfg, String desc, String langKey, boolean reqMCRestart, boolean reqWorldRestart)
|
||||
{
|
||||
super.setupConfiguration(cfg, desc, langKey, reqMCRestart, reqWorldRestart);
|
||||
|
|
|
@ -98,6 +98,7 @@ class TypeAdapters
|
|||
}
|
||||
};
|
||||
static ITypeAdapter Bool = new ITypeAdapter() {
|
||||
@Override
|
||||
public Object getValue(Property prop) {
|
||||
return Boolean.valueOf(prop.getBoolean());
|
||||
}
|
||||
|
@ -467,6 +468,7 @@ class TypeAdapters
|
|||
};
|
||||
static ITypeAdapter chr = new ITypeAdapter() {
|
||||
|
||||
@Override
|
||||
public Object getValue(Property prop) {
|
||||
return (char)prop.getInt();
|
||||
}
|
||||
|
@ -500,6 +502,7 @@ class TypeAdapters
|
|||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValue(Property prop) {
|
||||
int[] v = prop.getIntList();
|
||||
char[] ret = new char[v.length];
|
||||
|
@ -532,6 +535,7 @@ class TypeAdapters
|
|||
};
|
||||
static ITypeAdapter Chr = new ITypeAdapter() {
|
||||
|
||||
@Override
|
||||
public Object getValue(Property prop) {
|
||||
return Character.valueOf((char)prop.getInt());
|
||||
}
|
||||
|
@ -565,6 +569,7 @@ class TypeAdapters
|
|||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getValue(Property prop) {
|
||||
int[] v = prop.getIntList();
|
||||
Character[] ret = new Character[v.length];
|
||||
|
|
|
@ -61,7 +61,7 @@ public class CompoundIngredient extends Ingredient
|
|||
return this.itemIds;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean apply(@Nullable ItemStack target)
|
||||
{
|
||||
if (target == null)
|
||||
|
@ -74,6 +74,7 @@ public class CompoundIngredient extends Ingredient
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void invalidate()
|
||||
{
|
||||
this.itemIds = null;
|
||||
|
|
|
@ -528,6 +528,7 @@ public final class TRSRTransformation implements IModelState, ITransformation
|
|||
return new net.minecraft.client.renderer.block.model.ItemTransformVec3f(toLwjgl(toXYZDegrees(getLeftRot())), toLwjgl(getTranslation()), toLwjgl(getScale()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Matrix4f getMatrix()
|
||||
{
|
||||
return (Matrix4f)matrix.clone();
|
||||
|
@ -557,6 +558,7 @@ public final class TRSRTransformation implements IModelState, ITransformation
|
|||
return (Quat4f)rightRot.clone();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
if(part.isPresent())
|
||||
|
@ -566,6 +568,7 @@ public final class TRSRTransformation implements IModelState, ITransformation
|
|||
return Optional.of(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnumFacing rotate(EnumFacing facing)
|
||||
{
|
||||
return rotate(matrix, facing);
|
||||
|
@ -597,6 +600,7 @@ public final class TRSRTransformation implements IModelState, ITransformation
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int rotate(EnumFacing facing, int vertexIndex)
|
||||
{
|
||||
// FIXME check if this is good enough
|
||||
|
|
|
@ -78,6 +78,7 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
.expireAfterWrite(100, TimeUnit.MILLISECONDS)
|
||||
.build(new CacheLoader<Triple<? extends IClip, Float, Float>, Pair<IModelState, Iterable<Event>>>()
|
||||
{
|
||||
@Override
|
||||
public Pair<IModelState, Iterable<Event>> load(Triple<? extends IClip, Float, Float> key) throws Exception
|
||||
{
|
||||
return Clips.apply(key.getLeft(), key.getMiddle(), key.getRight());
|
||||
|
@ -89,12 +90,14 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
{
|
||||
this(parameters, clips, states, ImmutableMultimap.copyOf(Multimaps.newSetMultimap(Maps.transformValues(transitions, new Function<String, Collection<String>>()
|
||||
{
|
||||
@Override
|
||||
public Collection<String> apply(String input)
|
||||
{
|
||||
return ImmutableSet.of(input);
|
||||
}
|
||||
}), new Supplier<Set<String>>()
|
||||
{
|
||||
@Override
|
||||
public Set<String> get()
|
||||
{
|
||||
return Sets.newHashSet();
|
||||
|
@ -144,6 +147,7 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
currentState = state;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pair<IModelState, Iterable<Event>> apply(float time)
|
||||
{
|
||||
if(lastPollTime == Float.NEGATIVE_INFINITY)
|
||||
|
@ -178,6 +182,7 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
}
|
||||
return Pair.of(pair.getLeft(), Iterables.filter(pair.getRight(), new Predicate<Event>()
|
||||
{
|
||||
@Override
|
||||
public boolean apply(Event event)
|
||||
{
|
||||
return !event.event().startsWith("!");
|
||||
|
@ -185,6 +190,7 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transition(String newState)
|
||||
{
|
||||
IClip nc = clips.get(newState);
|
||||
|
@ -200,11 +206,13 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
currentState = nc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String currentState()
|
||||
{
|
||||
return currentStateName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shouldHandleSpecialEvents(boolean value)
|
||||
{
|
||||
shouldHandleSpecialEvents = true;
|
||||
|
@ -269,6 +277,7 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
{
|
||||
private AnimationStateMachine asm;
|
||||
|
||||
@Override
|
||||
public IClip apply(String name)
|
||||
{
|
||||
return asm.clips.get(name);
|
||||
|
@ -285,6 +294,7 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
this.customParameters = customParameters;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ITimeValue apply(String name)
|
||||
{
|
||||
if(asm.parameters.containsKey(name))
|
||||
|
@ -311,6 +321,7 @@ public final class AnimationStateMachine implements IAnimationStateMachine
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@Nullable
|
||||
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type)
|
||||
|
|
|
@ -40,14 +40,17 @@ public class CapabilityAnimation
|
|||
{
|
||||
CapabilityManager.INSTANCE.register(IAnimationStateMachine.class, new Capability.IStorage<IAnimationStateMachine>()
|
||||
{
|
||||
@Override
|
||||
public NBTBase writeNBT(Capability<IAnimationStateMachine> capability, IAnimationStateMachine instance, EnumFacing side)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void readNBT(Capability<IAnimationStateMachine> capability, IAnimationStateMachine instance, EnumFacing side, NBTBase nbt) {}
|
||||
}, new Callable<IAnimationStateMachine>()
|
||||
{
|
||||
@Override
|
||||
public IAnimationStateMachine call() throws Exception
|
||||
{
|
||||
return AnimationStateMachine.getMissing();
|
||||
|
|
|
@ -67,16 +67,19 @@ public final class Clips
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public IJointClip apply(IJoint joint)
|
||||
{
|
||||
return JointClips.IdentityJointClip.INSTANCE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Event> pastEvents(float lastPollTime, float time)
|
||||
{
|
||||
return ImmutableSet.<Event>of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return "identity";
|
||||
|
@ -119,11 +122,13 @@ public final class Clips
|
|||
this.clipName = clipName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IJointClip apply(IJoint joint)
|
||||
{
|
||||
return childClip.apply(joint);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Event> pastEvents(float lastPollTime, float time)
|
||||
{
|
||||
return childClip.pastEvents(lastPollTime, time);
|
||||
|
@ -163,11 +168,13 @@ public final class Clips
|
|||
this.time = time;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IJointClip apply(final IJoint joint)
|
||||
{
|
||||
return new IJointClip()
|
||||
{
|
||||
private final IJointClip parent = childClip.apply(joint);
|
||||
@Override
|
||||
public TRSRTransformation apply(float time)
|
||||
{
|
||||
return parent.apply(TimeClip.this.time.apply(time));
|
||||
|
@ -175,6 +182,7 @@ public final class Clips
|
|||
};
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Event> pastEvents(float lastPollTime, float time)
|
||||
{
|
||||
return childClip.pastEvents(this.time.apply(lastPollTime), this.time.apply(time));
|
||||
|
@ -218,6 +226,7 @@ public final class Clips
|
|||
this.progress = progress;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IJointClip apply(IJoint joint)
|
||||
{
|
||||
IJointClip fromClip = from.apply(joint);
|
||||
|
@ -225,6 +234,7 @@ public final class Clips
|
|||
return blendClips(joint, fromClip, toClip, input, progress);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Event> pastEvents(float lastPollTime, float time)
|
||||
{
|
||||
float clipLastPollTime = input.apply(lastPollTime);
|
||||
|
@ -281,6 +291,7 @@ public final class Clips
|
|||
{
|
||||
return new IJointClip()
|
||||
{
|
||||
@Override
|
||||
public TRSRTransformation apply(float time)
|
||||
{
|
||||
float clipTime = input.apply(time);
|
||||
|
@ -296,6 +307,7 @@ public final class Clips
|
|||
{
|
||||
return Pair.<IModelState, Iterable<Event>>of(new IModelState()
|
||||
{
|
||||
@Override
|
||||
public Optional<TRSRTransformation> apply(Optional<? extends IModelPart> part)
|
||||
{
|
||||
if(!part.isPresent() || !(part.get() instanceof IJoint))
|
||||
|
@ -333,11 +345,13 @@ public final class Clips
|
|||
this.event = event;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IJointClip apply(IJoint joint)
|
||||
{
|
||||
return clip.apply(joint);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Event> pastEvents(float lastPollTime, float time)
|
||||
{
|
||||
if(parameter.apply(lastPollTime) < 0 && parameter.apply(time) >= 0)
|
||||
|
@ -382,18 +396,21 @@ public final class Clips
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public IJointClip apply(final IJoint joint)
|
||||
{
|
||||
resolve();
|
||||
return clip.apply(joint);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterable<Event> pastEvents(float lastPollTime, float time)
|
||||
{
|
||||
resolve();
|
||||
return clip.pastEvents(lastPollTime, time);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return clipName;
|
||||
|
@ -433,6 +450,7 @@ public final class Clips
|
|||
this.clipResolver.set(clipResolver);
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
@Nullable
|
||||
public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type)
|
||||
|
@ -446,6 +464,7 @@ public final class Clips
|
|||
|
||||
return (TypeAdapter<T>)new TypeAdapter<IClip>()
|
||||
{
|
||||
@Override
|
||||
public void write(JsonWriter out, IClip clip) throws IOException
|
||||
{
|
||||
// IdentityClip + ClipReference
|
||||
|
@ -497,6 +516,7 @@ public final class Clips
|
|||
throw new NotImplementedException("unknown Clip to json: " + clip);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IClip read(JsonReader in) throws IOException
|
||||
{
|
||||
switch(in.peek())
|
||||
|
|
|
@ -30,6 +30,7 @@ public final class JointClips
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public TRSRTransformation apply(float time)
|
||||
{
|
||||
return TRSRTransformation.identity();
|
||||
|
@ -47,6 +48,7 @@ public final class JointClips
|
|||
this.clip = clip;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TRSRTransformation apply(float time)
|
||||
{
|
||||
return clip.apply(child).apply(time);
|
||||
|
|
|
@ -122,6 +122,7 @@ public class ExtendedBlockState extends BlockStateContainer
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public <V> IExtendedBlockState withProperty(IUnlistedProperty<V> property, V value)
|
||||
{
|
||||
if(!this.unlistedProperties.containsKey(property))
|
||||
|
@ -141,11 +142,13 @@ public class ExtendedBlockState extends BlockStateContainer
|
|||
return new ExtendedStateImplementation(getBlock(), getProperties(), ImmutableMap.copyOf(newMap), propertyValueTable).setMap(this.normalMap);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<IUnlistedProperty<?>> getUnlistedNames()
|
||||
{
|
||||
return Collections.unmodifiableCollection(unlistedProperties.keySet());
|
||||
}
|
||||
|
||||
@Override
|
||||
public <V>V getValue(IUnlistedProperty<V> property)
|
||||
{
|
||||
if(!this.unlistedProperties.containsKey(property))
|
||||
|
@ -155,6 +158,7 @@ public class ExtendedBlockState extends BlockStateContainer
|
|||
return property.getType().cast(this.unlistedProperties.get(property).orNull());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ImmutableMap<IUnlistedProperty<?>, Optional<?>> getUnlistedProperties()
|
||||
{
|
||||
return unlistedProperties;
|
||||
|
@ -173,6 +177,7 @@ public class ExtendedBlockState extends BlockStateContainer
|
|||
return this;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getClean()
|
||||
{
|
||||
return this.normalMap.get(getProperties());
|
||||
|
|
|
@ -35,9 +35,13 @@ public class Properties
|
|||
*/
|
||||
public static final IUnlistedProperty<IModelState> AnimationProperty = new IUnlistedProperty<IModelState>()
|
||||
{
|
||||
@Override
|
||||
public String getName() { return "forge_animation"; }
|
||||
@Override
|
||||
public boolean isValid(IModelState state) { return true; }
|
||||
@Override
|
||||
public Class<IModelState> getType() { return IModelState.class; }
|
||||
@Override
|
||||
public String valueToString(IModelState state) { return state.toString(); }
|
||||
};
|
||||
|
||||
|
@ -55,21 +59,25 @@ public class Properties
|
|||
this.parent = parent;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return parent.getName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(V value)
|
||||
{
|
||||
return parent.getAllowedValues().contains(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<V> getType()
|
||||
{
|
||||
return parent.getValueClass();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String valueToString(V value)
|
||||
{
|
||||
return parent.getName(value);
|
||||
|
|
|
@ -38,21 +38,25 @@ public class PropertyFloat implements IUnlistedProperty<Float>
|
|||
this.validator = validator;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isValid(Float value)
|
||||
{
|
||||
return validator.apply(value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<Float> getType()
|
||||
{
|
||||
return Float.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String valueToString(Float value)
|
||||
{
|
||||
return value.toString();
|
||||
|
|
|
@ -34,6 +34,7 @@ public class ChunkCoordComparator implements java.util.Comparator<ChunkPos>
|
|||
z = (int) entityplayer.posZ >> 4;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(ChunkPos a, ChunkPos b)
|
||||
{
|
||||
if (a.equals(b))
|
||||
|
|
|
@ -42,6 +42,7 @@ public class JsonUtils
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public ImmutableList<?> deserialize(JsonElement json, Type type, JsonDeserializationContext context) throws JsonParseException
|
||||
{
|
||||
final Type[] typeArguments = ((ParameterizedType) type).getActualTypeArguments();
|
||||
|
@ -50,6 +51,7 @@ public class JsonUtils
|
|||
return ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonElement serialize(ImmutableList<?> src, Type type, JsonSerializationContext context)
|
||||
{
|
||||
final Type[] typeArguments = ((ParameterizedType) type).getActualTypeArguments();
|
||||
|
@ -68,6 +70,7 @@ public class JsonUtils
|
|||
{
|
||||
INSTANCE;
|
||||
|
||||
@Override
|
||||
public ImmutableMap<String, ?> deserialize(JsonElement json, Type type, JsonDeserializationContext context) throws JsonParseException
|
||||
{
|
||||
final Type[] typeArguments = ((ParameterizedType) type).getActualTypeArguments();
|
||||
|
@ -76,6 +79,7 @@ public class JsonUtils
|
|||
return ImmutableMap.copyOf(map);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsonElement serialize(ImmutableMap<String, ?> src, Type type, JsonSerializationContext context)
|
||||
{
|
||||
final Type[] typeArguments = ((ParameterizedType) type).getActualTypeArguments();
|
||||
|
|
|
@ -72,6 +72,7 @@ public class InitNoiseGensEvent<T extends InitNoiseGensEvent.Context> extends Wo
|
|||
public void getScale (NoiseGeneratorOctaves value) { this.scale = value; }
|
||||
public void getDepth (NoiseGeneratorOctaves value) { this.depth = value; }
|
||||
|
||||
@Override
|
||||
public Context clone(){ return new Context(lperlin1, lperlin2, perlin, scale, depth); }
|
||||
}
|
||||
|
||||
|
@ -87,6 +88,7 @@ public class InitNoiseGensEvent<T extends InitNoiseGensEvent.Context> extends Wo
|
|||
this.height = height;
|
||||
this.forest = forest;
|
||||
}
|
||||
@Override
|
||||
public ContextOverworld clone() { return new ContextOverworld(getLPerlin1(), getLPerlin2(), getPerlin(), height, getScale(), getDepth(), forest); }
|
||||
public NoiseGeneratorPerlin getHeight() { return height; }
|
||||
public NoiseGeneratorOctaves getForest() { return forest; }
|
||||
|
@ -104,6 +106,7 @@ public class InitNoiseGensEvent<T extends InitNoiseGensEvent.Context> extends Wo
|
|||
super(lperlin1, lperlin2, perlin, scale, depth);
|
||||
this.island = island;
|
||||
}
|
||||
@Override
|
||||
public ContextEnd clone() { return new ContextEnd(getLPerlin1(), getLPerlin2(), getPerlin(), getScale(), getDepth(), island); }
|
||||
public NoiseGeneratorSimplex getIsland() { return island; }
|
||||
public void getIsland (NoiseGeneratorSimplex value) { this.island = value; }
|
||||
|
@ -122,6 +125,7 @@ public class InitNoiseGensEvent<T extends InitNoiseGensEvent.Context> extends Wo
|
|||
this.perlin2 = perlin2;
|
||||
this.perlin3 = perlin3;
|
||||
}
|
||||
@Override
|
||||
public ContextHell clone() { return new ContextHell(getLPerlin1(), getLPerlin2(), getPerlin(), perlin2, perlin3, getScale(), getDepth()); }
|
||||
public NoiseGeneratorOctaves getPerlin2() { return perlin2; }
|
||||
public NoiseGeneratorOctaves getPerlin3() { return perlin3; }
|
||||
|
|
|
@ -47,6 +47,7 @@ public class DispenseFluidContainer extends BehaviorDefaultDispenseItem
|
|||
|
||||
private final BehaviorDefaultDispenseItem dispenseBehavior = new BehaviorDefaultDispenseItem();
|
||||
|
||||
@Override
|
||||
@Nonnull
|
||||
public ItemStack dispenseStack(@Nonnull IBlockSource source, @Nonnull ItemStack stack)
|
||||
{
|
||||
|
|
|
@ -556,6 +556,7 @@ public class GuiModList extends GuiScreen
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void drawHeader(int entryRight, int relativeY, Tessellator tess)
|
||||
{
|
||||
int top = relativeY;
|
||||
|
|
|
@ -215,6 +215,7 @@ public class SplashProgress
|
|||
// getting debug info out of the way, while we still can
|
||||
FMLCommonHandler.instance().registerCrashCallable(new ICrashCallable()
|
||||
{
|
||||
@Override
|
||||
public String call() throws Exception
|
||||
{
|
||||
return "' Vendor: '" + glGetString(GL_VENDOR) +
|
||||
|
@ -223,6 +224,7 @@ public class SplashProgress
|
|||
"'";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLabel()
|
||||
{
|
||||
return "GL info";
|
||||
|
@ -257,6 +259,7 @@ public class SplashProgress
|
|||
private final int barOffset = 55;
|
||||
private long updateTiming;
|
||||
private long framecount;
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
setGL();
|
||||
|
@ -575,6 +578,7 @@ public class SplashProgress
|
|||
});
|
||||
thread.setUncaughtExceptionHandler(new UncaughtExceptionHandler()
|
||||
{
|
||||
@Override
|
||||
public void uncaughtException(Thread t, Throwable e)
|
||||
{
|
||||
FMLLog.log(Level.ERROR, e, "Splash thread Exception");
|
||||
|
|
|
@ -360,6 +360,7 @@ public class GuiConfig extends GuiScreen
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMouseInput() throws IOException
|
||||
{
|
||||
super.handleMouseInput();
|
||||
|
|
|
@ -144,6 +144,7 @@ public class GuiEditArray extends GuiScreen
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMouseInput() throws IOException
|
||||
{
|
||||
super.handleMouseInput();
|
||||
|
|
|
@ -144,6 +144,7 @@ public class GuiSelectString extends GuiScreen
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMouseInput() throws IOException
|
||||
{
|
||||
super.handleMouseInput();
|
||||
|
|
|
@ -77,6 +77,7 @@ public abstract class EnhancedRuntimeException extends RuntimeException
|
|||
});
|
||||
super.printStackTrace(s);
|
||||
}
|
||||
@Override
|
||||
public void printStackTrace(final PrintStream s)
|
||||
{
|
||||
printStackTrace(new WrappedPrintStream()
|
||||
|
|
|
@ -124,6 +124,7 @@ public class FMLCommonHandler
|
|||
{
|
||||
registerCrashCallable(new ICrashCallable()
|
||||
{
|
||||
@Override
|
||||
public String call() throws Exception
|
||||
{
|
||||
StringBuilder builder = new StringBuilder();
|
||||
|
@ -135,6 +136,7 @@ public class FMLCommonHandler
|
|||
return builder.toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getLabel()
|
||||
{
|
||||
return "Loaded coremods (and transformers)";
|
||||
|
|
|
@ -59,6 +59,7 @@ public class ASMTransformerWrapper
|
|||
.weakValues()
|
||||
.build(new CacheLoader<String, byte[]>()
|
||||
{
|
||||
@Override
|
||||
public byte[] load(String file) throws Exception
|
||||
{
|
||||
return makeWrapper(file);
|
||||
|
@ -82,6 +83,7 @@ public class ASMTransformerWrapper
|
|||
|
||||
private static class ASMGenHandler extends URLStreamHandler
|
||||
{
|
||||
@Override
|
||||
@Nullable
|
||||
protected URLConnection openConnection(URL url) throws IOException
|
||||
{
|
||||
|
@ -90,6 +92,7 @@ public class ASMTransformerWrapper
|
|||
{
|
||||
return new URLConnection(url)
|
||||
{
|
||||
@Override
|
||||
public void connect() throws IOException
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
|
@ -116,6 +119,7 @@ public class ASMTransformerWrapper
|
|||
this.file = file;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void connect() throws IOException
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
|
@ -246,6 +250,7 @@ public class ASMTransformerWrapper
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public byte[] transform(String name, String transformedName, byte[] basicClass)
|
||||
{
|
||||
try
|
||||
|
|
|
@ -58,6 +58,7 @@ public class EntitySpawnHandler extends SimpleChannelInboundHandler<FMLMessage.E
|
|||
{
|
||||
thread.addScheduledTask(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
EntitySpawnHandler.this.process(msg);
|
||||
|
|
|
@ -44,6 +44,7 @@ public class OpenGuiHandler extends SimpleChannelInboundHandler<FMLMessage.OpenG
|
|||
{
|
||||
thread.addScheduledTask(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void run()
|
||||
{
|
||||
OpenGuiHandler.this.process(msg);
|
||||
|
|
|
@ -840,6 +840,7 @@ public class FMLControlledNamespacedRegistry<I extends IForgeRegistryEntry<I>> e
|
|||
add(-1, key, value);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerAll(I... values)
|
||||
{
|
||||
for (I value: values)
|
||||
|
|
|
@ -90,8 +90,10 @@ public interface IForgeRegistryEntry<V>
|
|||
}
|
||||
|
||||
//Helper functions
|
||||
@Override
|
||||
public final T setRegistryName(ResourceLocation name){ return setRegistryName(name.toString()); }
|
||||
public final T setRegistryName(String modID, String name){ return setRegistryName(modID + ":" + name); }
|
||||
@Override
|
||||
@Nullable
|
||||
public final ResourceLocation getRegistryName()
|
||||
{
|
||||
|
|
|
@ -32,6 +32,7 @@ public class LegacyNamespacedRegistry<V> extends RegistryNamespaced<ResourceLoca
|
|||
{
|
||||
private Map<ResourceLocation, ResourceLocation> legacy_names = Maps.newHashMap();
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
public V getObject(@Nullable ResourceLocation name)
|
||||
{
|
||||
|
|
|
@ -118,6 +118,7 @@ public class ItemStackHandler implements IItemHandler, IItemHandlerModifiable, I
|
|||
return reachedLimit ? ItemHandlerHelper.copyStackWithSize(stack, stack.getCount()- limit) : ItemStack.EMPTY;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Nonnull
|
||||
public ItemStack extractItem(int slot, int amount, boolean simulate)
|
||||
{
|
||||
|
|
|
@ -71,6 +71,7 @@ public class OreIngredient extends Ingredient
|
|||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean apply(@Nullable ItemStack input)
|
||||
{
|
||||
if (input == null)
|
||||
|
@ -83,6 +84,7 @@ public class OreIngredient extends Ingredient
|
|||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void invalidate()
|
||||
{
|
||||
this.itemIds = null;
|
||||
|
|
Loading…
Reference in New Issue