diff options
| author | ilotterytea <iltsu@alright.party> | 2024-06-08 23:21:59 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-06-09 19:27:33 +0500 |
| commit | 5cd639a94a58fc84c0d3476df23d322759277831 (patch) | |
| tree | 014d496b06523846dfa12c5e6972627c37ccdf85 /core | |
| parent | 38ffeaa390322ab109bfe933f124091966a57158 (diff) | |
feat: new pet manager
Diffstat (limited to 'core')
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/MaxonGame.java | 8 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/pets/Pet.java | 85 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/pets/PetManager.java | 52 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/pets/PetWidget.java (renamed from core/src/kz/ilotterytea/maxon/ui/PurchaseItem.java) | 27 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/screens/GameScreen.java | 79 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/screens/SplashScreen.java | 2 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java | 55 | ||||
| -rw-r--r-- | core/src/kz/ilotterytea/maxon/utils/AssetLoading.java | 128 |
8 files changed, 188 insertions, 248 deletions
diff --git a/core/src/kz/ilotterytea/maxon/MaxonGame.java b/core/src/kz/ilotterytea/maxon/MaxonGame.java index 1da8605..680f1c6 100644 --- a/core/src/kz/ilotterytea/maxon/MaxonGame.java +++ b/core/src/kz/ilotterytea/maxon/MaxonGame.java @@ -6,6 +6,7 @@ import com.badlogic.gdx.Preferences; import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; +import kz.ilotterytea.maxon.pets.PetManager; import kz.ilotterytea.maxon.screens.SplashScreen; import kz.ilotterytea.maxon.utils.I18N; @@ -16,6 +17,8 @@ public class MaxonGame extends Game { public Preferences prefs; public I18N locale; + private PetManager petManager; + private static MaxonGame instance; public static MaxonGame getInstance() { @@ -25,6 +28,10 @@ public class MaxonGame extends Game { return instance; } + public PetManager getPetManager() { + return petManager; + } + @Override public void create () { batch = new SpriteBatch(); @@ -40,6 +47,7 @@ public class MaxonGame extends Game { if (prefs.getBoolean("fullscreen", false)) { Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode()); } assetManager = new AssetManager(); + petManager = new PetManager(assetManager); this.setScreen(new SplashScreen()); } diff --git a/core/src/kz/ilotterytea/maxon/pets/Pet.java b/core/src/kz/ilotterytea/maxon/pets/Pet.java new file mode 100644 index 0000000..c39e77e --- /dev/null +++ b/core/src/kz/ilotterytea/maxon/pets/Pet.java @@ -0,0 +1,85 @@ +package kz.ilotterytea.maxon.pets; + +import com.badlogic.gdx.graphics.Texture; +import com.badlogic.gdx.graphics.g2d.TextureRegion; +import com.badlogic.gdx.utils.GdxRuntimeException; +import kz.ilotterytea.maxon.MaxonConstants; +import kz.ilotterytea.maxon.MaxonGame; +import kz.ilotterytea.maxon.anim.SpriteUtils; +import kz.ilotterytea.maxon.ui.AnimatedImage; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class Pet { + private final String id, name, description; + private final double price, multiplier; + private final AnimatedImage icon; + private static final Logger logger = LoggerFactory.getLogger(Pet.class); + + private Pet(String id, String name, String description, double price, double multiplier, AnimatedImage icon) { + this.id = id; + this.name = name; + this.description = description; + this.price = price; + this.multiplier = multiplier; + this.icon = icon; + } + + public static Pet create(String id, double price, double multiplier, int iconColumns, int iconRows) { + MaxonGame game = MaxonGame.getInstance(); + TextureRegion[] regions; + + try { + Texture texture = game.assetManager.get("sprites/pets/" + id + ".png", Texture.class); + regions = SpriteUtils.splitToTextureRegions( + texture, + texture.getWidth() / iconColumns, + texture.getHeight() / iconRows, + iconColumns, + iconRows + ); + + } catch (GdxRuntimeException e) { + logger.warn("Failed to load icon spritesheet for ID {}", id); + regions = new TextureRegion[]{new TextureRegion(MaxonConstants.MISSING_TEXTURE)}; + } + + AnimatedImage icon = new AnimatedImage(regions); + + String name = game.locale.TranslatableText("pet." + id + ".name"); + if (name == null) { + name = "pet." + id + ".name"; + } + + String description = game.locale.TranslatableText("pet." + id + ".desc"); + if (description == null) { + description = "pet." + id + ".desc"; + } + + return new Pet(id, name, description, price, multiplier, icon); + } + + public String getId() { + return id; + } + + public String getName() { + return name; + } + + public String getDescription() { + return description; + } + + public double getPrice() { + return price; + } + + public double getMultiplier() { + return multiplier; + } + + public AnimatedImage getIcon() { + return icon; + } +} diff --git a/core/src/kz/ilotterytea/maxon/pets/PetManager.java b/core/src/kz/ilotterytea/maxon/pets/PetManager.java new file mode 100644 index 0000000..4f8f228 --- /dev/null +++ b/core/src/kz/ilotterytea/maxon/pets/PetManager.java @@ -0,0 +1,52 @@ +package kz.ilotterytea.maxon.pets; + +import com.badlogic.gdx.assets.AssetManager; +import com.badlogic.gdx.utils.JsonReader; +import com.badlogic.gdx.utils.JsonValue; +import kz.ilotterytea.maxon.assets.loaders.Text; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.HashSet; +import java.util.Optional; + +public class PetManager { + private final HashSet<Pet> pets; + private final AssetManager assetManager; + private final Logger logger = LoggerFactory.getLogger(PetManager.class); + + public PetManager(final AssetManager assetManager) { + this.pets = new HashSet<>(); + this.assetManager = assetManager; + } + + public void load() { + pets.clear(); + + String data = assetManager.get("data/pets.json", Text.class).getString(); + JsonValue root = new JsonReader().parse(data); + + for (JsonValue child : root.iterator()) { + String id = child.getString("id"); + double price = child.getDouble("price"); + double multiplier = child.getDouble("multiplier"); + + JsonValue iconData = child.get("icon_data"); + int iconColumns = iconData.getInt("columns"); + int iconRows = iconData.getInt("rows"); + + Pet pet = Pet.create(id, price, multiplier, iconColumns, iconRows); + pets.add(pet); + } + + logger.info("Loaded {} pets", pets.size()); + } + + public Optional<Pet> getPet(String id) { + return pets.stream().filter(x -> x.getId().equals(id)).findFirst(); + } + + public HashSet<Pet> getPets() { + return pets; + } +} diff --git a/core/src/kz/ilotterytea/maxon/ui/PurchaseItem.java b/core/src/kz/ilotterytea/maxon/pets/PetWidget.java index e9c69ef..01a9dc0 100644 --- a/core/src/kz/ilotterytea/maxon/ui/PurchaseItem.java +++ b/core/src/kz/ilotterytea/maxon/pets/PetWidget.java @@ -1,4 +1,4 @@ -package kz.ilotterytea.maxon.ui; +package kz.ilotterytea.maxon.pets; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.scenes.scene2d.Actor; @@ -6,28 +6,28 @@ import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.ui.*; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.Align; -import kz.ilotterytea.maxon.player.MaxonItem; import kz.ilotterytea.maxon.utils.formatters.NumberFormatter; -public class PurchaseItem extends Table { +public class PetWidget extends Table { private double price; private final Label priceLabel, nameLabel; - private final MaxonItem item; + private final Pet pet; private boolean isDisabled = false; private final Label.LabelStyle idleStyle, hoverStyle, disabledStyle, availablePriceStyle, disabledPriceStyle; - public PurchaseItem( + public PetWidget( Skin skin, - MaxonItem item, + Pet pet, TextureAtlas atlas ) { super(skin); super.setBackground("store_item"); super.align(Align.left | Align.center); + this.pet = pet; - super.add(item.icon).size(64f).pad(6f); + super.add(pet.getIcon()).size(64f).pad(6f); this.idleStyle = skin.get("store_item", Label.LabelStyle.class); this.hoverStyle = skin.get("store_item_hover", Label.LabelStyle.class); @@ -35,13 +35,12 @@ public class PurchaseItem extends Table { this.availablePriceStyle = skin.get("store_item_price", Label.LabelStyle.class); this.disabledPriceStyle = skin.get("store_item_price_disabled", Label.LabelStyle.class); - this.price = item.price; - this.item = item; + this.price = pet.getPrice(); Table summary = new Table(skin); summary.align(Align.left); - this.nameLabel = new Label(item.name, skin, "store_item"); + this.nameLabel = new Label(pet.getName(), skin, "store_item"); nameLabel.setAlignment(Align.left); Image priceIcon = new Image(atlas.findRegion("points")); @@ -65,7 +64,7 @@ public class PurchaseItem extends Table { super.enter(event, x, y, pointer, fromActor); if (!isDisabled) { nameLabel.setStyle(hoverStyle); - PurchaseItem.super.setBackground("store_item_hover"); + PetWidget.super.setBackground("store_item_hover"); } } @Override @@ -73,7 +72,7 @@ public class PurchaseItem extends Table { super.exit(event, x, y, pointer, toActor); if (!isDisabled) { nameLabel.setStyle(idleStyle); - PurchaseItem.super.setBackground("store_item"); + PetWidget.super.setBackground("store_item"); } } }); @@ -100,7 +99,7 @@ public class PurchaseItem extends Table { super.setBackground(isDisabled ? "store_item_disabled" : "store_item"); } - public MaxonItem getItem() { - return item; + public Pet getPet() { + return pet; } } diff --git a/core/src/kz/ilotterytea/maxon/screens/GameScreen.java b/core/src/kz/ilotterytea/maxon/screens/GameScreen.java index 6922077..52bcce9 100644 --- a/core/src/kz/ilotterytea/maxon/screens/GameScreen.java +++ b/core/src/kz/ilotterytea/maxon/screens/GameScreen.java @@ -297,85 +297,6 @@ public class GameScreen implements Screen, InputProcessor { this.shopUI.update(); } - private void showShop() { - // - - - - - - S H O P T A B L E - - - - - - : - final Table shopTable = new Table(skin); - shopTable.setBackground("bg"); - shopTable.setSize(stage.getWidth() - 20f, stage.getHeight() - (boardTable.getHeight() + quickTable.getHeight() + 20f)); - shopTable.setPosition(10f, quickTable.getHeight() + 10f); - shopTable.align(Align.top | Align.center); - - stage.addActor(shopTable); - - // Header table: - Table headShopTable = new Table(); - shopTable.add(headShopTable).width(shopTable.getWidth()).row(); - - // - - - S H O P T I T L E - - -: - Label shopTitle = new Label(game.locale.TranslatableText("game.petShop"), skin); - headShopTable.add(shopTitle).expandX(); - - // - - - C L O S E B U T T O N - - - : - TextButton closeButton = new TextButton("X", skin); - - closeButton.addListener(new ClickListener() { - @Override - public void clicked(InputEvent event, float x, float y) { - shopTable.remove(); - isShopping = !isShopping; - } - }); - - headShopTable.add(closeButton).row(); - - // - - - S H O P C O N T E N T - - - : - Table contentTable = new Table(); - - // Adding items to shop: - for (final MaxonItem item : MaxonItemRegister.getItems()) { - PurchaseItem p_item = new PurchaseItem( - skin, - item, - mainAtlas - ); - - p_item.addListener(new ClickListener() { - @Override - public void clicked(InputEvent event, float x, float y) { - if (savegame.getMoney() < item.price) { - notEnoughPointsDialog.show(stage); - - Timer.schedule(new Timer.Task() { - @Override - public void run() { - notEnoughPointsDialog.hide(Actions.fadeOut(2f, Interpolation.smoother)); - } - }, 2); - - return; - } - - savegame.decreaseMoney(item.price); - savegame.increaseMultiplier(item.multiplier); - savegame.getPurchasedPets().add(item.id); - - if (invItems.containsKey(item.id)) { - invItems.put(item.id, invItems.get(item.id) + 1); - } else { - invItems.put(item.id, 1); - } - } - }); - - contentTable.add(p_item).pad(6f).width(shopTable.getWidth()).row(); - } - - // Scroll panel for content table: - ScrollPane contentPane = new ScrollPane(contentTable); - contentPane.setScrollingDisabled(true, false); - shopTable.add(contentPane); - } - private void showInventory() { // - - - - - - I N V E N T O R Y T A B L E - - - - - - : final Table inventoryTable = new Table(skin); diff --git a/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java b/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java index a4b56eb..9a1cc85 100644 --- a/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java +++ b/core/src/kz/ilotterytea/maxon/screens/SplashScreen.java @@ -64,7 +64,7 @@ public class SplashScreen implements Screen { new Action() { @Override public boolean act(float v) { - AssetLoading.registerItems(game.assetManager, game.locale); + game.getPetManager().load(); game.setScreen(new MenuScreen()); dispose(); return false; diff --git a/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java b/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java index 67f2c11..e4e3694 100644 --- a/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java +++ b/core/src/kz/ilotterytea/maxon/screens/game/shop/ShopUI.java @@ -7,20 +7,20 @@ import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.*; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.utils.Align; -import kz.ilotterytea.maxon.player.MaxonItem; -import kz.ilotterytea.maxon.player.MaxonItemRegister; +import kz.ilotterytea.maxon.MaxonGame; +import kz.ilotterytea.maxon.pets.Pet; +import kz.ilotterytea.maxon.pets.PetWidget; import kz.ilotterytea.maxon.player.Savegame; -import kz.ilotterytea.maxon.ui.PurchaseItem; import kz.ilotterytea.maxon.utils.formatters.NumberFormatter; import kz.ilotterytea.maxon.utils.math.Math; import java.util.ArrayList; +import java.util.HashSet; public class ShopUI { private final Table table, mainTable; private final Skin skin; private final TextureAtlas atlas; - private final ArrayList<MaxonItem> items; private ShopMode mode; private ShopMultiplier multiplier; @@ -28,7 +28,7 @@ public class ShopUI { private final Savegame savegame; private Label pointsLabel, multiplierLabel; - private final ArrayList<PurchaseItem> purchaseItems = new ArrayList<>(); + private final ArrayList<PetWidget> petWidgets = new ArrayList<>(); public ShopUI(final Savegame savegame, Stage stage, Skin skin, TextureAtlas atlas) { this.savegame = savegame; @@ -37,7 +37,6 @@ public class ShopUI { this.atlas = atlas; this.mode = ShopMode.BUY; this.multiplier = ShopMultiplier.X1; - this.items = MaxonItemRegister.getItems(); this.table = new Table(skin); this.table.setBackground("store"); @@ -172,34 +171,37 @@ public class ShopUI { public void createShopListUI() { Table table = new Table(this.skin); + HashSet<Pet> pets = MaxonGame.getInstance().getPetManager().getPets(); - for (final MaxonItem item : this.items) { - PurchaseItem purchaseItem = new PurchaseItem(this.skin, item, this.atlas); - purchaseItem.addListener(new ClickListener() { + for (Pet pet : pets) { + PetWidget widget = new PetWidget(this.skin, pet, this.atlas); + widget.addListener(new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { super.clicked(event, x, y); - if (purchaseItem.isDisabled()) { + if (widget.isDisabled()) { return; } if (mode == ShopMode.BUY) { - savegame.decreaseMoney(purchaseItem.getPrice()); + savegame.decreaseMoney(pet.getPrice()); for (int i = 0; i < multiplier.getMultiplier(); i++) { - savegame.getPurchasedPets().add(purchaseItem.getItem().id); + // TODO: fix this + savegame.getPurchasedPets().add(0); } } else { - savegame.increaseMoney(purchaseItem.getPrice()); + savegame.increaseMoney(pet.getPrice()); for (int i = 0; i < multiplier.getMultiplier(); i++) { - savegame.getPurchasedPets().remove(Integer.valueOf(purchaseItem.getItem().id)); + // TODO: fix thisss + savegame.getPurchasedPets().remove(Integer.valueOf(0)); } } } }); - purchaseItems.add(purchaseItem); - table.add(purchaseItem).growX().padBottom(5f).row(); + petWidgets.add(widget); + table.add(widget).growX().padBottom(5f).row(); } ScrollPane scrollPane = new ScrollPane(table); @@ -214,27 +216,28 @@ public class ShopUI { } private void updatePurchaseItems() { - for (final PurchaseItem item : this.purchaseItems) { - int amount = (int) savegame.getPurchasedPets().stream().filter(c -> c == item.getItem().id).count(); - double price = item.getItem().price * java.lang.Math.pow(1.15f, amount + multiplier.getMultiplier()); + for (final PetWidget widget : this.petWidgets) { + // TODO: asdkjoiwe (fix this) + int amount = (int) savegame.getPurchasedPets().stream().filter(c -> c == 0).count(); + double price = widget.getPet().getPrice() * java.lang.Math.pow(1.15f, amount + multiplier.getMultiplier()); if (mode == ShopMode.SELL) { price /= 4; } - item.setPrice(price); + widget.setPrice(price); if (mode == ShopMode.BUY) { if (price > savegame.getMoney() || savegame.getMoney() - price < 0) { - item.setDisabled(true); - } else if (item.isDisabled()) { - item.setDisabled(false); + widget.setDisabled(true); + } else if (widget.isDisabled()) { + widget.setDisabled(false); } } else { if (amount - multiplier.getMultiplier() < 0) { - item.setDisabled(true); - } else if (item.isDisabled()) { - item.setDisabled(false); + widget.setDisabled(true); + } else if (widget.isDisabled()) { + widget.setDisabled(false); } } } diff --git a/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java b/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java index 640becd..885f032 100644 --- a/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java +++ b/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java @@ -7,12 +7,8 @@ import com.badlogic.gdx.audio.Music; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.scenes.scene2d.ui.Skin; -import kz.ilotterytea.maxon.anim.SpriteUtils; import kz.ilotterytea.maxon.assets.loaders.Text; import kz.ilotterytea.maxon.assets.loaders.TextLoader; -import kz.ilotterytea.maxon.player.MaxonItemEnum; -import kz.ilotterytea.maxon.player.MaxonItemRegister; -import kz.ilotterytea.maxon.ui.AnimatedImage; import net.mgsx.gltf.loaders.glb.GLBAssetLoader; import net.mgsx.gltf.scene3d.scene.SceneAsset; @@ -74,128 +70,4 @@ public class AssetLoading { am.load("mus/game/shopping_spree.wav", Music.class); // Sounds: } - - public static void registerItems(AssetManager am, I18N i18n) { - MaxonItemRegister.clear(); - - MaxonItemRegister.register( - 0, i18n.TranslatableText("pet.bror.name"), i18n.TranslatableText("pet.bror.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/bror.png", Texture.class), 112, 112, 11, 7)), - MaxonItemEnum.SLAVE, - 100, - 1f - ); - - MaxonItemRegister.register( - 1, i18n.TranslatableText("pet.sandwich.name"), i18n.TranslatableText("pet.sandwich.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/sandwich_cat.png", Texture.class), 112, 112, 4, 7)), - MaxonItemEnum.SLAVE, - 1000, - 12f - ); - - MaxonItemRegister.register( - 2, i18n.TranslatableText("pet.manlooshka.name"), i18n.TranslatableText("pet.manlooshka.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/manlooshka.png", Texture.class), 112, 112, 10, 4)), - MaxonItemEnum.SLAVE, - 5000, - 36f - ); - - MaxonItemRegister.register( - 3, i18n.TranslatableText("pet.thirsty.name"), i18n.TranslatableText("pet.thirsty.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/thirsty_cat.png", Texture.class), 112, 112, 6, 3)), - MaxonItemEnum.SLAVE, - 10000, - 100f - ); - - MaxonItemRegister.register( - 4, i18n.TranslatableText("pet.furios.name"), i18n.TranslatableText("pet.furios.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/furios_cat.png", Texture.class), 112, 112, 7, 4)), - MaxonItemEnum.SLAVE, - 750000, - 320f - ); - - MaxonItemRegister.register( - 5, i18n.TranslatableText("pet.tvcat.name"), i18n.TranslatableText("pet.tvcat.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/tvcat.png", Texture.class), 112, 112, 5, 5)), - MaxonItemEnum.SLAVE, - 1500000, - 950f - ); - - MaxonItemRegister.register( - 6, i18n.TranslatableText("pet.progcat.name"), i18n.TranslatableText("pet.progcat.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/progcat.png", Texture.class), 112, 112, 7, 6)), - MaxonItemEnum.SLAVE, - 3000000, - 2900f - ); - - MaxonItemRegister.register( - 7, i18n.TranslatableText("pet.screamcat.name"), i18n.TranslatableText("pet.screamcat.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/screamcat.png", Texture.class), 112, 112, 10, 10)), - MaxonItemEnum.SLAVE, - 7000000, - 8700f - ); - - MaxonItemRegister.register( - 8, i18n.TranslatableText("pet.hellcat.name"), i18n.TranslatableText("pet.hellcat.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/hellcat.png", Texture.class), 128, 128, 10, 8)), - MaxonItemEnum.SLAVE, - 13000000, - 26100f - ); - - MaxonItemRegister.register( - 9, i18n.TranslatableText("pet.lurker.name"), i18n.TranslatableText("pet.lurker.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/lurker.png", Texture.class), 112, 112, 10, 7)), - MaxonItemEnum.SLAVE, - 20000000, - 78300f - ); - - MaxonItemRegister.register( - 10, i18n.TranslatableText("pet.piano.name"), i18n.TranslatableText("pet.piano.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/piano_cat.png", Texture.class), 128, 128, 5, 3)), - MaxonItemEnum.SLAVE, - 40000000, - 234900f - ); - - MaxonItemRegister.register( - 11, i18n.TranslatableText("pet.bee.name"), i18n.TranslatableText("pet.bee.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/bee_cat.png", Texture.class), 112, 112, 10, 10)), - MaxonItemEnum.SLAVE, - 70000000, - 704700f - ); - - MaxonItemRegister.register( - 12, i18n.TranslatableText("pet.busy.name"), i18n.TranslatableText("pet.busy.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/busy.png", Texture.class), 112, 112, 5, 5)), - MaxonItemEnum.SLAVE, - 150000000, - 2114100f - ); - - MaxonItemRegister.register( - 13, i18n.TranslatableText("pet.aeae.name"), i18n.TranslatableText("pet.aeae.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/aeae.png", Texture.class), 112, 112, 11, 10)), - MaxonItemEnum.SLAVE, - 250000000, - 6342300f - ); - - MaxonItemRegister.register( - 14, i18n.TranslatableText("pet.succat.name"), i18n.TranslatableText("pet.succat.desc"), - new AnimatedImage(SpriteUtils.splitToTextureRegions(am.get("sprites/sheet/succat.png", Texture.class), 128, 128, 13, 10)), - MaxonItemEnum.SLAVE, - 500000000, - 19026900f - ); - } }
\ No newline at end of file |
