Search in sources :

Example 1 with SpongeTranslation

use of org.spongepowered.common.text.translation.SpongeTranslation in project SpongeCommon by SpongePowered.

the class EntityTypeRegistryModule method newEntityTypeFromName.

private SpongeEntityType newEntityTypeFromName(String spongeName, String mcName) {
    ResourceLocation resourceLoc = new ResourceLocation(mcName);
    Class<? extends Entity> cls = SpongeImplHooks.getEntityClass(resourceLoc);
    if (cls == null) {
        throw new IllegalArgumentException("No class mapping for entity name " + mcName);
    }
    final SpongeEntityType entityType = new SpongeEntityType(SpongeImplHooks.getEntityId(cls), spongeName, cls, new SpongeTranslation("entity." + SpongeImplHooks.getEntityTranslation(resourceLoc) + ".name"));
    KeyRegistryModule.getInstance().registerForEntityClass(cls);
    return entityType;
}
Also used : SpongeTranslation(org.spongepowered.common.text.translation.SpongeTranslation) SpongeEntityType(org.spongepowered.common.entity.SpongeEntityType) ResourceLocation(net.minecraft.util.ResourceLocation)

Example 2 with SpongeTranslation

use of org.spongepowered.common.text.translation.SpongeTranslation in project SpongeCommon by SpongePowered.

the class CookedFishRegistryModule method registerAdditional.

@AdditionalRegistration
public void registerAdditional() {
    for (ItemFishFood.FishType fishType : ItemFishFood.FishType.values()) {
        if (fishType.canCook() && !this.fishMap.containsKey(fishType.name().toLowerCase(Locale.ENGLISH))) {
            CookedFish cooked = new SpongeCookedFish(fishType.name(), new SpongeTranslation("item.fish." + fishType.getUnlocalizedName() + ".cooked.name"), fishType);
            this.fishMap.put(cooked.getId().toLowerCase(Locale.ENGLISH), cooked);
        }
    }
}
Also used : CookedFish(org.spongepowered.api.data.type.CookedFish) SpongeCookedFish(org.spongepowered.common.data.type.SpongeCookedFish) SpongeTranslation(org.spongepowered.common.text.translation.SpongeTranslation) ItemFishFood(net.minecraft.item.ItemFishFood) SpongeCookedFish(org.spongepowered.common.data.type.SpongeCookedFish) AdditionalRegistration(org.spongepowered.api.registry.util.AdditionalRegistration)

Example 3 with SpongeTranslation

use of org.spongepowered.common.text.translation.SpongeTranslation in project SpongeCommon by SpongePowered.

the class CookedFishRegistryModule method registerDefaults.

@Override
public void registerDefaults() {
    for (ItemFishFood.FishType fishType : ItemFishFood.FishType.values()) {
        if (fishType.canCook()) {
            CookedFish cooked = new SpongeCookedFish(fishType.name(), new SpongeTranslation("item.fish." + fishType.getUnlocalizedName() + ".cooked.name"), fishType);
            this.fishMap.put(cooked.getId().toLowerCase(Locale.ENGLISH), cooked);
        }
    }
}
Also used : CookedFish(org.spongepowered.api.data.type.CookedFish) SpongeCookedFish(org.spongepowered.common.data.type.SpongeCookedFish) SpongeTranslation(org.spongepowered.common.text.translation.SpongeTranslation) ItemFishFood(net.minecraft.item.ItemFishFood) SpongeCookedFish(org.spongepowered.common.data.type.SpongeCookedFish)

Example 4 with SpongeTranslation

use of org.spongepowered.common.text.translation.SpongeTranslation in project SpongeCommon by SpongePowered.

the class InventoryArchetypeRegistryModule method registerDefaults.

@Override
public void registerDefaults() {
    InventoryArchetype SLOT = new SlotArchetype(ImmutableMap.of(CustomInventory.INVENTORY_DIMENSION, new InventoryDimension(1, 1)));
    InventoryArchetype MENU_ROW;
    InventoryArchetype MENU_COLUMN;
    InventoryArchetype MENU_GRID;
    InventoryArchetype CHEST;
    InventoryArchetype DOUBLE_CHEST;
    InventoryArchetype FURNACE;
    InventoryArchetype DISPENSER;
    InventoryArchetype WORKBENCH;
    InventoryArchetype BREWING_STAND;
    InventoryArchetype HOPPER;
    InventoryArchetype BEACON;
    InventoryArchetype ANVIL;
    InventoryArchetype ENCHANTING_TABLE;
    InventoryArchetype VILLAGER;
    InventoryArchetype HORSE;
    InventoryArchetype HORSE_WITH_CHEST;
    InventoryArchetype PLAYER;
    InventoryArchetype CRAFTING;
    InventoryArchetype UNKNOWN;
    final SpongeInventoryArchetypeBuilder builder = new SpongeInventoryArchetypeBuilder();
    for (int i = 0; i < 9; i++) {
        builder.with(new SpongeInventoryArchetypeBuilder().from(SLOT).property(SlotIndex.of(i)).build("minecraft:slot" + i, "Slot"));
    }
    MENU_ROW = builder.property(new InventoryDimension(9, 1)).build("sponge:menu_row", "Menu Row");
    MENU_COLUMN = builder.property(new InventoryDimension(9, 1)).build("sponge:menu_column", "Menu Column");
    MENU_GRID = builder.reset().with(MENU_ROW).with(MENU_ROW).with(MENU_ROW).property(new InventoryDimension(9, 3)).build("sponge:menu_grid", "Menu Grid");
    CHEST = builder.reset().with(MENU_GRID).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.chest")))).property(new GuiIdProperty(GuiIds.CHEST)).container((i, p) -> new ContainerChest(p.inventory, i, p)).build("minecraft:chest", "Chest");
    DOUBLE_CHEST = builder.reset().with(CHEST).property(new InventoryDimension(9, 6)).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.chestDouble")))).property(new GuiIdProperty(GuiIds.CHEST)).container((i, p) -> new ContainerChest(p.inventory, i, p)).build("minecraft:double_chest", "DoubleChest");
    FURNACE = builder.reset().with(new SpongeInventoryArchetypeBuilder().from(SLOT).property(new SlotIndex(0)).build("minecraft:furnace_input", "FurnaceInput")).with(new SpongeInventoryArchetypeBuilder().from(SLOT).property(new SlotIndex(1)).property(AcceptsItems.of()).build("minecraft:furnace_fuel", "FurnaceFuel")).with(new SpongeInventoryArchetypeBuilder().from(SLOT).property(new SlotIndex(2)).property(AcceptsItems.of()).build("minecraft:furnace_output", "FurnaceOutput")).property(new InventoryTitle(Text.of(new SpongeTranslation("container.furnace")))).property(new InventoryDimension(3, 1)).property(new GuiIdProperty(GuiIds.FURNACE)).container((i, p) -> new ContainerFurnace(p.inventory, i)).build("minecraft:furnace", "Furnace");
    DISPENSER = builder.reset().with(MENU_GRID).property(new InventoryDimension(3, 3)).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.dispenser")))).property(new GuiIdProperty(GuiIds.DISPENSER)).container((i, p) -> new ContainerDispenser(p.inventory, i)).build("minecraft:dispenser", "Dispenser");
    WORKBENCH = builder.reset().with(new SpongeInventoryArchetypeBuilder().from(MENU_GRID).property(new InventoryDimension(3, 3)).build("minecraft:workbench_grid", "Workbench Grid")).with(SLOT).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.crafting")))).property(new GuiIdProperty(GuiIds.CRAFTING_TABLE)).container((i, p) -> {
        ContainerWorkbench container = new ContainerWorkbench(p.inventory, p.getEntityWorld(), p.getPosition());
        // Pre-Fills the container input with the items from the inventory
        for (int index = 0; index < container.craftMatrix.getSizeInventory(); index++) {
            container.craftMatrix.setInventorySlotContents(index, i.getStackInSlot(index));
        }
        return container;
    }).build("minecraft:workbench", "Workbench");
    BREWING_STAND = builder.reset().with(MENU_ROW).property(new InventoryDimension(5, 1)).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.brewing")))).property(new GuiIdProperty(GuiIds.BREWING_STAND)).container((i, p) -> new ContainerBrewingStand(p.inventory, i)).build("minecraft:brewing_stand", "BrewingStand");
    HOPPER = builder.reset().with(MENU_ROW).property(new InventoryDimension(5, 1)).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.hopper")))).property(new GuiIdProperty(GuiIds.HOPPER)).container((i, p) -> new ContainerHopper(p.inventory, i, p)).build("minecraft:hopper", "Hopper");
    BEACON = builder.reset().with(SLOT).property(new InventoryDimension(1, 1)).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.beacon")))).property(new GuiIdProperty(GuiIds.BEACON)).container((i, p) -> new ContainerBeacon(p.inventory, i)).build("minecraft:beacon", "Beacon");
    ENCHANTING_TABLE = builder.reset().with(SLOT).with(SLOT).property(new InventoryDimension(2, 1)).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.enchant")))).property(new GuiIdProperty(GuiIds.ENCHANTING_TABLE)).container((i, p) -> {
        ContainerEnchantment container = new ContainerEnchantment(p.inventory, p.getEntityWorld(), p.getPosition());
        // Pre-Fills the container with the items from the inventory
        for (int index = 0; index < container.tableInventory.getSizeInventory(); index++) {
            container.tableInventory.setInventorySlotContents(index, i.getStackInSlot(index));
        }
        return container;
    }).build("minecraft:enchanting_table", "EnchantingTable");
    ANVIL = builder.reset().with(SLOT).with(SLOT).with(SLOT).property(new InventoryDimension(3, 1)).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.repair")))).property(new GuiIdProperty(GuiIds.ANVIL)).container((i, p) -> {
        ContainerRepair container = new ContainerRepair(p.inventory, p.getEntityWorld(), p.getPosition(), p);
        // Pre-Fills the container input with the items from the inventory
        for (int index = 0; index < container.inputSlots.getSizeInventory(); index++) {
            container.inputSlots.setInventorySlotContents(index, i.getStackInSlot(index));
        }
        return container;
    }).build("minecraft:anvil", "Anvil");
    VILLAGER = builder.reset().with(SLOT).with(SLOT).with(SLOT).property(new InventoryDimension(3, 1)).property(new GuiIdProperty(GuiIds.VILLAGER)).container((i, p) -> {
        if (i instanceof CarriedInventory && ((CarriedInventory) i).getCarrier().isPresent() && ((CarriedInventory) i).getCarrier().get() instanceof IMerchant) {
            IMerchant merchant = ((IMerchant) ((CarriedInventory) i).getCarrier().get());
            ContainerMerchant container = new ContainerMerchant(p.inventory, merchant, p.getEntityWorld());
            // TODO Pre-Fill the Container?
            return container;
        }
        throw new IllegalArgumentException("Cannot open merchant inventory without a merchant as Carrier");
    }).build("minecraft:villager", "Villager");
    HORSE = builder.reset().with(SLOT).with(SLOT).property(new InventoryDimension(2, 1)).property(// hardcoded openGuiHorseInventory
    new GuiIdProperty(GuiIds.HORSE)).container((i, p) -> {
        if (i instanceof CarriedInventory && ((CarriedInventory) i).getCarrier().isPresent() && ((CarriedInventory) i).getCarrier().get() instanceof AbstractHorse) {
            AbstractHorse horse = ((AbstractHorse) ((CarriedInventory) i).getCarrier().get());
            return new ContainerHorseInventory(p.inventory, i, horse, p);
        }
        throw new IllegalArgumentException("Cannot open horse inventory without a horse as Carrier");
    }).build("minecraft:horse", "Horse");
    HORSE_WITH_CHEST = builder.reset().with(HORSE).with(new SpongeInventoryArchetypeBuilder().from(MENU_GRID).property(new InventoryDimension(5, 3)).build("horse_grid", "HorseGrid")).property(// hardcoded openGuiHorseInventory
    new GuiIdProperty(GuiIds.HORSE)).container((i, p) -> {
        if (i instanceof CarriedInventory && ((CarriedInventory) i).getCarrier().isPresent() && ((CarriedInventory) i).getCarrier().get() instanceof AbstractHorse) {
            AbstractHorse horse = ((AbstractHorse) ((CarriedInventory) i).getCarrier().get());
            // TODO size
            return new ContainerHorseInventory(p.inventory, i, horse, p);
        }
        throw new IllegalArgumentException("Cannot open horse inventory without a horse as Carrier");
    }).build("minecraft:horse_with_chest", "Horse with Chest");
    CRAFTING = builder.reset().with(SLOT).with(new SpongeInventoryArchetypeBuilder().from(MENU_GRID).property(new InventoryDimension(2, 2)).build("minecraft:crafting_grid", "Crafting Grid")).property(InventoryTitle.of(Text.of(new SpongeTranslation("container.crafting")))).build("minecraft:crafting", "Crafting");
    PLAYER = builder.reset().with(CRAFTING).with(new SpongeInventoryArchetypeBuilder().from(MENU_GRID).property(new InventoryDimension(1, 4)).build("minecraft:armor", "Armor")).with(new SpongeInventoryArchetypeBuilder().from(MENU_GRID).property(new InventoryDimension(9, 3)).build("minecraft:player_main", "Player Main")).with(new SpongeInventoryArchetypeBuilder().from(MENU_GRID).property(new InventoryDimension(9, 1)).build("minecraft:player_hotbar", "Player Hotbar")).with(new SpongeInventoryArchetypeBuilder().from(SLOT).property(new InventoryDimension(1, 1)).build("minecraft:player_offhand", "Player Offhand")).build("minecraft:player", "Player");
    UNKNOWN = builder.reset().build("minecraft:unknown", "UKNOWN");
    registerAdditionalCatalog(SLOT);
    registerAdditionalCatalog(MENU_ROW);
    registerAdditionalCatalog(MENU_COLUMN);
    registerAdditionalCatalog(MENU_GRID);
    registerAdditionalCatalog(CHEST);
    SpongeInventoryBuilder.registerInventory(TileEntityChest.class, CHEST);
    SpongeInventoryBuilder.registerContainer(ContainerChest.class, CHEST);
    registerAdditionalCatalog(DOUBLE_CHEST);
    registerAdditionalCatalog(FURNACE);
    SpongeInventoryBuilder.registerInventory(TileEntityFurnace.class, FURNACE);
    SpongeInventoryBuilder.registerContainer(ContainerFurnace.class, FURNACE);
    registerAdditionalCatalog(DISPENSER);
    SpongeInventoryBuilder.registerInventory(TileEntityDispenser.class, DISPENSER);
    SpongeInventoryBuilder.registerInventory(TileEntityDropper.class, DISPENSER);
    SpongeInventoryBuilder.registerContainer(ContainerDispenser.class, DISPENSER);
    registerAdditionalCatalog(WORKBENCH);
    SpongeInventoryBuilder.registerContainer(ContainerWorkbench.class, WORKBENCH);
    registerAdditionalCatalog(BREWING_STAND);
    SpongeInventoryBuilder.registerInventory(TileEntityBrewingStand.class, BREWING_STAND);
    SpongeInventoryBuilder.registerContainer(ContainerBrewingStand.class, BREWING_STAND);
    registerAdditionalCatalog(HOPPER);
    SpongeInventoryBuilder.registerInventory(TileEntityHopper.class, HOPPER);
    SpongeInventoryBuilder.registerContainer(ContainerHopper.class, HOPPER);
    registerAdditionalCatalog(BEACON);
    SpongeInventoryBuilder.registerInventory(TileEntityBeacon.class, BEACON);
    SpongeInventoryBuilder.registerContainer(ContainerBeacon.class, BEACON);
    registerAdditionalCatalog(ENCHANTING_TABLE);
    SpongeInventoryBuilder.registerContainer(ContainerEnchantment.class, ENCHANTING_TABLE);
    registerAdditionalCatalog(ANVIL);
    SpongeInventoryBuilder.registerContainer(ContainerRepair.class, ANVIL);
    registerAdditionalCatalog(VILLAGER);
    // TODO internal Villager Inventory? make Villager Carrier?
    SpongeInventoryBuilder.registerContainer(ContainerMerchant.class, VILLAGER);
    registerAdditionalCatalog(HORSE);
    // TODO Horse IInventory? SpongeInventoryBuilder.registerInventory(EntityHorse.class, HORSE);
    SpongeInventoryBuilder.registerContainer(ContainerHorseInventory.class, HORSE);
    registerAdditionalCatalog(HORSE_WITH_CHEST);
    registerAdditionalCatalog(CRAFTING);
    registerAdditionalCatalog(PLAYER);
    registerAdditionalCatalog(UNKNOWN);
    // Helper Archetypes for Menu
    InventoryArchetype MENU_ICON;
    InventoryArchetype MENU_BUTTON;
    InventoryArchetype MENU_CHECKBOX;
    InventoryArchetype MENU_SPINNER;
    MENU_ICON = builder.reset().with(SLOT).build("sponge:menu_icon", "Menu Icon");
    MENU_BUTTON = builder.reset().with(MENU_ICON).build("sponge:menu_button", "Menu Button");
    MENU_CHECKBOX = builder.reset().with(MENU_ICON).build("sponge:menu_checkbox", "Menu Checkbox");
    MENU_SPINNER = builder.reset().with(MENU_ICON).build("sponge:menu_spinner", "Menu Spinner");
    registerAdditionalCatalog(MENU_ICON);
    registerAdditionalCatalog(MENU_BUTTON);
    registerAdditionalCatalog(MENU_CHECKBOX);
    registerAdditionalCatalog(MENU_SPINNER);
}
Also used : SlotArchetype(org.spongepowered.common.item.inventory.archetype.SlotArchetype) AbstractHorse(net.minecraft.entity.passive.AbstractHorse) SpongeTranslation(org.spongepowered.common.text.translation.SpongeTranslation) GuiIdProperty(org.spongepowered.api.item.inventory.property.GuiIdProperty) CarriedInventory(org.spongepowered.api.item.inventory.type.CarriedInventory) ContainerDispenser(net.minecraft.inventory.ContainerDispenser) ContainerHopper(net.minecraft.inventory.ContainerHopper) ContainerBeacon(net.minecraft.inventory.ContainerBeacon) IMerchant(net.minecraft.entity.IMerchant) ContainerHorseInventory(net.minecraft.inventory.ContainerHorseInventory) ContainerBrewingStand(net.minecraft.inventory.ContainerBrewingStand) SpongeInventoryArchetypeBuilder(org.spongepowered.common.item.inventory.archetype.SpongeInventoryArchetypeBuilder) InventoryTitle(org.spongepowered.api.item.inventory.property.InventoryTitle) ContainerWorkbench(net.minecraft.inventory.ContainerWorkbench) ContainerRepair(net.minecraft.inventory.ContainerRepair) ContainerFurnace(net.minecraft.inventory.ContainerFurnace) ContainerChest(net.minecraft.inventory.ContainerChest) SlotIndex(org.spongepowered.api.item.inventory.property.SlotIndex) ContainerMerchant(net.minecraft.inventory.ContainerMerchant) InventoryDimension(org.spongepowered.api.item.inventory.property.InventoryDimension) InventoryArchetype(org.spongepowered.api.item.inventory.InventoryArchetype) ContainerEnchantment(net.minecraft.inventory.ContainerEnchantment)

Example 5 with SpongeTranslation

use of org.spongepowered.common.text.translation.SpongeTranslation in project SpongeCommon by SpongePowered.

the class MixinBlockPistonExtensionEnumPistonType method piston$getTranslation.

public Translation piston$getTranslation() {
    if (this.translation == null) {
        final String internalName = shadow$getName();
        final String translationId;
        if ("normal".equals(internalName)) {
            translationId = "tile.pistonBase.name";
        } else if ("sticky".equals(internalName)) {
            translationId = "tile.pistonStickyBase.name";
        } else {
            translationId = "tile.pistonBase.name";
        }
        this.translation = new SpongeTranslation(translationId);
    }
    return this.translation;
}
Also used : SpongeTranslation(org.spongepowered.common.text.translation.SpongeTranslation)

Aggregations

SpongeTranslation (org.spongepowered.common.text.translation.SpongeTranslation)11 ItemFishFood (net.minecraft.item.ItemFishFood)2 CookedFish (org.spongepowered.api.data.type.CookedFish)2 Inject (org.spongepowered.asm.mixin.injection.Inject)2 SpongeCookedFish (org.spongepowered.common.data.type.SpongeCookedFish)2 SpongeEntityType (org.spongepowered.common.entity.SpongeEntityType)2 ImmutableList (com.google.common.collect.ImmutableList)1 ImmutableMap (com.google.common.collect.ImmutableMap)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 Map (java.util.Map)1 Advancement (net.minecraft.advancements.Advancement)1 Criterion (net.minecraft.advancements.Criterion)1 FrameType (net.minecraft.advancements.FrameType)1 IMerchant (net.minecraft.entity.IMerchant)1 MultiPartEntityPart (net.minecraft.entity.MultiPartEntityPart)1 EntityLightningBolt (net.minecraft.entity.effect.EntityLightningBolt)1 EntityWeatherEffect (net.minecraft.entity.effect.EntityWeatherEffect)1 AbstractHorse (net.minecraft.entity.passive.AbstractHorse)1