Skip to content

Commit

Permalink
Add TropicalFishShape Catalog.
Browse files Browse the repository at this point in the history
  • Loading branch information
i509VCB committed Jan 6, 2020
1 parent e8f519f commit 0d3b4a5
Show file tree
Hide file tree
Showing 6 changed files with 162 additions and 0 deletions.
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ val sortClasses = listOf(
"org.spongepowered.api.data.type.StructureModes",
"org.spongepowered.api.data.type.Surfaces",
"org.spongepowered.api.data.type.ToolTypes",
"org.spongepowered.api.data.type.TropicalFishShapes",
"org.spongepowered.api.data.type.VillagerTypes",
"org.spongepowered.api.data.type.WireAttachmentTypes",
"org.spongepowered.api.data.type.WoodTypes",
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/org/spongepowered/api/CatalogTypes.java
Original file line number Diff line number Diff line change
Expand Up @@ -275,6 +275,8 @@ public final class CatalogTypes {

public static final Class<Trigger> TRIGGER = Trigger.class;

public static final Class<TropicalFishShape> TROPICAL_FISH_SHAPE = TropicalFishShape.class;

public static final Class<VirtualBiomeType> VIRTUAL_BIOME_TYPE = VirtualBiomeType.class;

public static final Class<Visibility> VISIBILITY = Visibility.class;
Expand Down
17 changes: 17 additions & 0 deletions src/main/java/org/spongepowered/api/data/Keys.java
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@
import org.spongepowered.api.data.type.StairShape;
import org.spongepowered.api.data.type.StructureMode;
import org.spongepowered.api.data.type.Surface;
import org.spongepowered.api.data.type.TropicalFishShape;
import org.spongepowered.api.data.type.VillagerType;
import org.spongepowered.api.data.type.WireAttachmentType;
import org.spongepowered.api.data.type.WoodType;
Expand Down Expand Up @@ -129,6 +130,7 @@
import org.spongepowered.api.entity.living.animal.horse.llama.Llama;
import org.spongepowered.api.entity.living.animal.horse.llama.TraderLlama;
import org.spongepowered.api.entity.living.aquatic.Dolphin;
import org.spongepowered.api.entity.living.aquatic.fish.school.TropicalFish;
import org.spongepowered.api.entity.living.golem.IronGolem;
import org.spongepowered.api.entity.living.golem.Shulker;
import org.spongepowered.api.entity.living.monster.Blaze;
Expand Down Expand Up @@ -2186,6 +2188,21 @@ public final class Keys {
*/
public static final Supplier<Key<ListValue<TradeOffer>>> TRADE_OFFERS = Sponge.getRegistry().getCatalogRegistry().provideSupplier(Key.class, "TRADE_OFFERS");

/**
* Represents the {@link Key} for a {@link TropicalFish}'s base color.
*/
public static final Supplier<Key<Value<DyeColor>>> TROPICAL_FISH_BASE_COLOR = Sponge.getRegistry().getCatalogRegistry().provideSupplier(Key.class, "TROPICAL_FISH_BASE_COLOR");

/**
* Represents the {@link Key} for a {@link TropicalFish}'s pattern color.
*/
public static final Supplier<Key<Value<DyeColor>>> TROPICAL_FISH_PATTERN_COLOR = Sponge.getRegistry().getCatalogRegistry().provideSupplier(Key.class, "TROPICAL_FISH_PATTERN_COLOR");

/**
* Represents the {@link Key} for a {@link TropicalFish}'s shape.
*/
public static final Supplier<Key<Value<TropicalFishShape>>> TROPICAL_FISH_SHAPE = Sponge.getRegistry().getCatalogRegistry().provideSupplier(Key.class, "TROPICAL_FISH_SHAPE");

/**
* Represents the {@link Key} for if a {@link Turtle} currently has an egg.
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
/*
* This file is part of SpongeAPI, licensed under the MIT License (MIT).
*
* Copyright (c) SpongePowered <https://www.spongepowered.org>
* Copyright (c) contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package org.spongepowered.api.data.type;

import org.spongepowered.api.CatalogType;
import org.spongepowered.api.entity.living.aquatic.fish.school.TropicalFish;
import org.spongepowered.api.util.annotation.CatalogedBy;

/**
* Represents the shape of a {@link TropicalFish}.
*
* <p>A TropicalFishShape represents both a fish's appearance and size.</p>
*/
@CatalogedBy(TropicalFishShapes.class)
public interface TropicalFishShape extends CatalogType {

/**
* Whether this shape represents a large {@link TropicalFish}.
* @return True if this shape represents a large tropical fish.
*/
boolean isLarge();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* This file is part of SpongeAPI, licensed under the MIT License (MIT).
*
* Copyright (c) SpongePowered <https://www.spongepowered.org>
* Copyright (c) contributors
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package org.spongepowered.api.data.type;

import org.spongepowered.api.Sponge;
import org.spongepowered.api.entity.living.aquatic.fish.school.TropicalFish;

import java.util.function.Supplier;

/**
* An enumeration of vanilla shapes for {@link TropicalFish}.
*/
public class TropicalFishShapes {

// SORTFIELDS:ON

public static final Supplier<TropicalFishShape> BETTY = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "BETTY");

public static final Supplier<TropicalFishShape> BLOCKFISH = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "BLOCKFISH");

public static final Supplier<TropicalFishShape> BRINELY = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "BRINELY");

public static final Supplier<TropicalFishShape> CLAYFISH = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "CLAYFISH");

public static final Supplier<TropicalFishShape> DASHER = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "DASHER");

public static final Supplier<TropicalFishShape> FLOPPER = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "FLOPPER");

public static final Supplier<TropicalFishShape> GLITTER = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "GLITTER");

public static final Supplier<TropicalFishShape> KOB = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "KOB");

public static final Supplier<TropicalFishShape> SNOOPER = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "SNOOPER");

public static final Supplier<TropicalFishShape> SPOTTY = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "SPOTTY");

public static final Supplier<TropicalFishShape> STRIPEY = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "STRIPEY");

public static final Supplier<TropicalFishShape> SUNSTREAK = Sponge.getRegistry().getCatalogRegistry().provideSupplier(TropicalFishShape.class, "SUNSTREAK");

// SORTFIELDS:OFF

private TropicalFishShapes() {
throw new AssertionError("You should not be attempting to instantiate this class.");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,34 @@
*/
package org.spongepowered.api.entity.living.aquatic.fish.school;

import org.spongepowered.api.data.Keys;
import org.spongepowered.api.data.type.DyeColor;
import org.spongepowered.api.data.type.TropicalFishShape;
import org.spongepowered.api.data.value.Value;

public interface TropicalFish extends SchoolingFish {

/**
* {@link Keys#TROPICAL_FISH_BASE_COLOR}
* @return The base color of this tropical fish.
*/
default Value.Mutable<DyeColor> baseColor() {
return this.getValue(Keys.TROPICAL_FISH_BASE_COLOR.get()).get().asMutable();
}

/**
* {@link Keys#TROPICAL_FISH_PATTERN_COLOR}
* @return The pattern color of this tropical fish.
*/
default Value.Mutable<DyeColor> patternColor() {
return this.getValue(Keys.TROPICAL_FISH_PATTERN_COLOR.get()).get().asMutable();
}

/**
* {@link Keys#TROPICAL_FISH_SHAPE}
* @return The shape of this tropical fish.
*/
default Value.Mutable<TropicalFishShape> shape() {
return this.getValue(Keys.TROPICAL_FISH_SHAPE.get()).get().asMutable();
}
}

0 comments on commit 0d3b4a5

Please sign in to comment.