AwesomeHouses
PluginLicenseRef-All-Rights-Reserved

AwesomeHouses

wesomeHouses links AwesomeTaxes regions and AwesomeKeycards locks into a single house-buying workflow.

10
Downloads
0
Followers
4 months ago
Updated
📦
1
Versions

📖About AwesomeHouses

AwesomeHouses

AwesomeHouses links AwesomeTaxes regions and AwesomeKeycards locks into a single house-buying workflow. Staff publish houses on signs with a sale price; players right-click to pay, become the owner in AwesomeTaxes, receive a personal keycard, and all doors/containers inside the region are auto-locked to that card.

Version: 1.0.0
Requires: AwesomeTaxes + AwesomeKeycards (APIs provided via Bukkit services)

Highlights

  • Sign-based listings: /houses create <taxHouseId> <price> while looking at a sign publishes a sale board with price and tax ID.
  • Automatic region scan: reuses AwesomeKeycards lockable logic to detect doors/containers/buttons inside the AwesomeTaxes region.
  • One-key protection: buyer gets a personal keycard; every detected lockable block is linked to that single card.
  • Taxes integration: ownership is assigned via TaxesAPI to the specified AwesomeTaxes house ID.
  • Simple payments: player right-clicks the sign holding the required item stack; payment is removed, ownership and locks are applied, and the card is given.

Quick Start

  1. Create a house in AwesomeTaxes and note its ID (e.g., H-001).
  2. As staff with awesomehouses.staff, hold the payment item stack (amount = sale price), look at a sign, and run:
    /houses create H-001 <price>
    The sign updates to [FOR SALE] with listing ID, price, and tax ID.
  3. Player purchase: right-click the sign with the required items in hand. They pay, receive a personal keycard, become the house owner in AwesomeTaxes, and all detected lockable blocks in the region are protected to that card. The sign flips to [OWNED].

Full Workflow (Step-by-Step)

  1. Define the region in AwesomeTaxes
    • Staff selects corners with /taxes pos1 and /taxes pos2 (same world).
    • Create the house region: /taxes create <name> → note the returned house ID (e.g., H-001).
    • (Optional) View details: /taxes info H-001 or list via /taxes myhouses.
  2. Configure the tax payment in AwesomeTaxes
    • Hold the required payment item stack (stack size = amount) in your main hand.
    • Run /taxes admin setitem H-001 to save the tax item/amount for that house.
    • (Optional) Add members in Taxes if you want pre-owners: /taxes addmember H-001 <player>.
  3. Publish a sale sign with AwesomeHouses
    • Stand anywhere, look directly at a sign block.
    • Hold the payment item stack you want to charge for the purchase (stack size = sale price).
    • Run /houses create H-001 <price> (price is the item amount you’re charging).
    • AwesomeHouses will:
      • Pull the region from AwesomeTaxes (house H-001).
      • Scan that region for lockable blocks using the AwesomeKeycards logic (doors, trapdoors, fence gates, buttons, levers, chests, barrels, furnaces, shulkers, hoppers, dispensers, droppers).
      • Save a listing with a new listing ID and update the sign to:
        [FOR SALE]
        Casa #<listingId>
        Price: <price>
        TaxID: H-001
        
  4. Player purchase flow
    • Buyer right-clicks the sale sign while holding the exact required item stack (same material as price item, amount ≥ price).
    • AwesomeHouses will:
      • Remove the payment items from the player’s hand.
      • Create a personal keycard labeled with the listing ID.
      • Assign ownership in AwesomeTaxes via TaxesAPI: H-001 owner becomes the buyer.
      • Lock every detected lockable block in the region to that keycard (one key controls everything).
      • Deliver the keycard to the player (drops on ground if inventory is full).
      • Update the sign to:
        [OWNED]
        Casa #<listingId>
        Owner: <player>
        
  5. Post-purchase behavior
    • The buyer (new owner) is now the Taxes owner and holds the only keycard that opens all doors/containers in the region.
    • Any additional locks in that region can be relinked manually with the same card if desired.
    • Admins can still manage ownership in Taxes (/taxes admin setowner) or revoke/add members; locks remain tied to the keycard.

Commands

  • /houses create <taxHouseId> <price> – Publish a listing on the targeted sign using the house region from AwesomeTaxes and the payment item in your hand.
    Permission: awesomehouses.staff (default: op)

Permissions

  • awesomehouses.staff – create/manage listings (publish signs). Default: op.

Storage

  • Listings are stored in plugins/AwesomeHouses/listings.yml (region, price item, sign location, lock targets, and owner when sold).